0001558370-24-014294.txt : 20241105 0001558370-24-014294.hdr.sgml : 20241105 20241104174847 ACCESSION NUMBER: 0001558370-24-014294 CONFORMED SUBMISSION TYPE: 10-Q PUBLIC DOCUMENT COUNT: 80 CONFORMED PERIOD OF REPORT: 20240930 FILED AS OF DATE: 20241105 DATE AS OF CHANGE: 20241104 FILER: COMPANY DATA: COMPANY CONFORMED NAME: Primoris Services Corp CENTRAL INDEX KEY: 0001361538 STANDARD INDUSTRIAL CLASSIFICATION: WATER, SEWER, PIPELINE, COMM AND POWER LINE CONSTRUCTION [1623] ORGANIZATION NAME: 05 Real Estate & Construction IRS NUMBER: 204743916 STATE OF INCORPORATION: DE FISCAL YEAR END: 1231 FILING VALUES: FORM TYPE: 10-Q SEC ACT: 1934 Act SEC FILE NUMBER: 001-34145 FILM NUMBER: 241424960 BUSINESS ADDRESS: STREET 1: 2300 N. FIELD STREET, SUITE 1900 CITY: DALLAS STATE: TX ZIP: 75201 BUSINESS PHONE: 214-740-5600 MAIL ADDRESS: STREET 1: 2300 N. FIELD STREET, SUITE 1900 CITY: DALLAS STATE: TX ZIP: 75201 FORMER COMPANY: FORMER CONFORMED NAME: Primoris Services CORP DATE OF NAME CHANGE: 20080821 FORMER COMPANY: FORMER CONFORMED NAME: Rhapsody Acquisition Corp. DATE OF NAME CHANGE: 20060503 10-Q 1 prim-20240930x10q.htm 10-Q
http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent0001361538--12-312024Q3falsehttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2024#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent0001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2024-07-012024-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2024-01-012024-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2023-07-012023-09-300001361538us-gaap:ShareBasedPaymentArrangementNonemployeeMemberprim:EquityIncentivePlan2013Member2023-01-012023-09-300001361538prim:LongTermRetentionPlanMember2024-07-012024-09-300001361538us-gaap:CommonStockMember2024-07-012024-09-300001361538us-gaap:CommonStockMember2024-01-012024-09-300001361538us-gaap:CommonStockMember2023-07-012023-09-300001361538us-gaap:CommonStockMember2023-01-012023-09-300001361538us-gaap:RetainedEarningsMember2024-09-300001361538us-gaap:AdditionalPaidInCapitalMember2024-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-09-300001361538us-gaap:RetainedEarningsMember2024-06-300001361538us-gaap:AdditionalPaidInCapitalMember2024-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-06-3000013615382024-06-300001361538us-gaap:RetainedEarningsMember2023-12-310001361538us-gaap:AdditionalPaidInCapitalMember2023-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001361538us-gaap:RetainedEarningsMember2023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-09-300001361538us-gaap:RetainedEarningsMember2023-06-300001361538us-gaap:AdditionalPaidInCapitalMember2023-06-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-06-3000013615382023-06-300001361538us-gaap:RetainedEarningsMember2022-12-310001361538us-gaap:AdditionalPaidInCapitalMember2022-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001361538us-gaap:CommonStockMember2024-09-300001361538us-gaap:CommonStockMember2024-06-300001361538us-gaap:CommonStockMember2023-12-310001361538us-gaap:CommonStockMember2023-09-300001361538us-gaap:CommonStockMember2023-06-300001361538us-gaap:CommonStockMember2022-12-310001361538prim:RestrictedAndPerformanceStockUnitsMember2024-07-012024-09-300001361538prim:RestrictedAndPerformanceStockUnitsMember2024-01-012024-09-300001361538prim:RestrictedAndPerformanceStockUnitsMember2023-07-012023-09-300001361538prim:RestrictedAndPerformanceStockUnitsMember2023-01-012023-09-300001361538srt:MinimumMember2025-10-012024-09-300001361538srt:MaximumMember2025-10-012024-09-3000013615382024-10-012024-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMemberus-gaap:FixedPriceContractMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:UnitPriceContractsMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:NonMasterServiceAgreementCustomersMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:MasterServiceAgreementCustomersMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:CostReimbursableContractsMember2024-07-012024-09-300001361538us-gaap:IntersegmentEliminationMember2024-07-012024-09-300001361538us-gaap:FixedPriceContractMember2024-07-012024-09-300001361538prim:UnitPriceContractsMember2024-07-012024-09-300001361538prim:NonMasterServiceAgreementCustomersMember2024-07-012024-09-300001361538prim:MasterServiceAgreementCustomersMember2024-07-012024-09-300001361538prim:CostReimbursableContractsMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMemberus-gaap:FixedPriceContractMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:UnitPriceContractsMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:NonMasterServiceAgreementCustomersMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:MasterServiceAgreementCustomersMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMemberprim:CostReimbursableContractsMember2024-01-012024-09-300001361538us-gaap:TimeAndMaterialsContractMember2024-01-012024-09-300001361538us-gaap:IntersegmentEliminationMember2024-01-012024-09-300001361538us-gaap:FixedPriceContractMember2024-01-012024-09-300001361538prim:UnitPriceContractsMember2024-01-012024-09-300001361538prim:NonMasterServiceAgreementCustomersMember2024-01-012024-09-300001361538prim:MasterServiceAgreementCustomersMember2024-01-012024-09-300001361538prim:CostReimbursableContractsMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMemberus-gaap:FixedPriceContractMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:UnitPriceContractsMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:NonMasterServiceAgreementCustomersMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:MasterServiceAgreementCustomersMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:CostReimbursableContractsMember2023-07-012023-09-300001361538us-gaap:IntersegmentEliminationMember2023-07-012023-09-300001361538us-gaap:FixedPriceContractMember2023-07-012023-09-300001361538prim:UnitPriceContractsMember2023-07-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMember2023-07-012023-09-300001361538prim:MasterServiceAgreementCustomersMember2023-07-012023-09-300001361538prim:CostReimbursableContractsMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberus-gaap:FixedPriceContractMemberprim:EnergySegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UnitPriceContractsMemberprim:EnergySegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:CostReimbursableContractsMemberprim:EnergySegmentMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMemberus-gaap:FixedPriceContractMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:UnitPriceContractsMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:NonMasterServiceAgreementCustomersMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:MasterServiceAgreementCustomersMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMemberprim:CostReimbursableContractsMember2023-01-012023-09-300001361538us-gaap:TimeAndMaterialsContractMember2023-01-012023-09-300001361538us-gaap:IntersegmentEliminationMember2023-01-012023-09-300001361538us-gaap:FixedPriceContractMember2023-01-012023-09-300001361538prim:UnitPriceContractsMember2023-01-012023-09-300001361538prim:NonMasterServiceAgreementCustomersMember2023-01-012023-09-300001361538prim:MasterServiceAgreementCustomersMember2023-01-012023-09-300001361538prim:CostReimbursableContractsMember2023-01-012023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-07-012024-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2024-01-012024-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-07-012023-09-300001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-09-300001361538us-gaap:RevolvingCreditFacilityMember2022-08-010001361538us-gaap:LetterOfCreditMember2022-08-010001361538us-gaap:RevolvingCreditFacilityMember2024-09-300001361538us-gaap:LetterOfCreditMember2024-09-300001361538prim:CreditFacilityWithCanadianBankMember2024-09-300001361538prim:ForeignLettersOfCreditMember2024-09-300001361538srt:MaximumMember2024-09-300001361538prim:UAndDSegmentMember2024-09-300001361538prim:EnergySegmentMember2024-09-300001361538prim:UAndDSegmentMember2023-12-310001361538prim:EnergySegmentMember2023-12-310001361538us-gaap:TradeNamesMember2024-09-300001361538us-gaap:CustomerRelationshipsMember2024-09-300001361538us-gaap:TradeNamesMember2023-12-310001361538us-gaap:CustomerRelationshipsMember2023-12-310001361538us-gaap:EmployeeStockMember2024-07-012024-09-300001361538us-gaap:EmployeeStockMember2024-01-012024-09-300001361538us-gaap:EmployeeStockMember2023-07-012023-09-300001361538us-gaap:EmployeeStockMember2023-01-012023-09-300001361538us-gaap:RetainedEarningsMember2024-07-012024-09-300001361538us-gaap:RetainedEarningsMember2024-01-012024-09-300001361538us-gaap:RetainedEarningsMember2023-07-012023-09-300001361538us-gaap:RetainedEarningsMember2023-01-012023-09-300001361538prim:SecondAgreementMemberus-gaap:InterestRateSwapMember2023-01-310001361538us-gaap:InterestRateSwapMember2024-07-012024-09-300001361538us-gaap:InterestRateSwapMember2024-01-012024-09-300001361538us-gaap:InterestRateSwapMember2023-07-012023-09-300001361538us-gaap:InterestRateSwapMember2023-01-012023-09-300001361538us-gaap:InterestRateSwapMemberus-gaap:LoansPayableMember2023-01-310001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2024-09-300001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001361538us-gaap:InterestRateSwapMember2023-12-310001361538us-gaap:InterestRateSwapMember2024-09-300001361538us-gaap:LoansPayableMember2022-08-010001361538us-gaap:MortgagesMember2024-09-300001361538us-gaap:LoansPayableMember2024-09-300001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2024-09-300001361538us-gaap:MortgagesMember2023-12-310001361538us-gaap:LoansPayableMember2023-12-310001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2023-12-310001361538us-gaap:InterestRateSwapMemberus-gaap:LoansPayableMember2024-01-012024-09-300001361538prim:O2024Q3DividendsMember2024-07-012024-09-300001361538prim:O2024Q2DividendsMember2024-04-012024-06-300001361538prim:O2024Q1DividendsMember2024-01-012024-03-310001361538prim:O2023Q4DividendsMember2023-10-012023-12-310001361538prim:O2023Q3DividendsMember2023-07-012023-09-300001361538prim:O2023Q2DividendsMember2023-04-012023-06-300001361538prim:O2023Q1DividendsMember2023-01-012023-03-310001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2024-09-300001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-3100013615382023-09-3000013615382022-12-310001361538us-gaap:AdditionalPaidInCapitalMember2024-07-012024-09-300001361538us-gaap:AdditionalPaidInCapitalMember2024-01-012024-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-07-012023-09-300001361538us-gaap:AdditionalPaidInCapitalMember2023-01-012023-09-300001361538prim:SpecialPurposeEntityMemberus-gaap:AccountsReceivableMember2024-09-300001361538srt:MaximumMember2024-07-3100013615382023-11-3000013615382021-11-300001361538prim:NonUnitedStatesMember2023-01-012023-12-310001361538us-gaap:EmployeeStockMember2022-05-012022-05-3100013615382024-10-012024-01-012024-09-300001361538prim:NonUnitedStatesMember2024-01-012024-09-300001361538prim:NonUnitedStatesMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UAndDSegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:EnergySegmentMember2024-07-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UAndDSegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:EnergySegmentMember2024-01-012024-09-300001361538us-gaap:OperatingSegmentsMemberprim:UAndDSegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:EnergySegmentMember2023-07-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:UAndDSegmentMember2023-01-012023-09-300001361538us-gaap:OperatingSegmentsMemberprim:EnergySegmentMember2023-01-012023-09-300001361538prim:LongTermRetentionPlanMember2024-01-012024-09-300001361538prim:LongTermRetentionPlanMember2023-01-012023-09-300001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2022-08-012022-08-010001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-07-012024-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-07-012023-09-300001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-09-300001361538prim:TopTenCustomersMembersrt:MinimumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-300001361538prim:TopTenCustomersMembersrt:MaximumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2024-01-012024-09-3000013615382024-09-3000013615382023-12-3100013615382024-07-012024-07-3100013615382023-07-012023-09-3000013615382023-01-012023-09-3000013615382024-07-012024-09-3000013615382024-10-2800013615382024-01-012024-09-30xbrli:sharesiso4217:USDxbrli:pureprim:customerprim:instrumentiso4217:USDxbrli:sharesiso4217:CADprim:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

Washington, D.C. 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 September 30, 2024

OR

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

For the transition period from                    to                      .

Commission file number 001-34145

Primoris Services Corporation

(Exact name of registrant as specified in its charter)

Delaware

    

20-4743916

(State or Other Jurisdiction of

(I.R.S. Employer

Incorporation or Organization)

Identification No.)

2300 N. Field Street, Suite 1900

Dallas, Texas

75201

(Address of Principal Executive Offices)

(Zip Code)

Registrant’s telephone number, including area code: (214740-5600

Securities registered pursuant to Section 12(b) of the Act:

Title of each class

Trading symbol(s)

Name of each exchange on which registered

Common Stock, $0.0001 par value

PRIM

New York Stock Exchange

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

Indicate by check mark whether the registrant has submitted electronically every Interactive Data File required to be submitted pursuant to Rule 405 of Regulation S-T (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 October 28, 2024, 53,713,084 shares of the registrant’s common stock, par value $0.0001 per share, were outstanding.

PRIMORIS SERVICES CORPORATION

INDEX

    

Page No.

Part I. Financial Information

Item 1. Financial Statements:

—Condensed Consolidated Balance Sheets as of September 30, 2024 and December 31, 2023 (Unaudited)

3

—Condensed Consolidated Statements of Income for the three and nine months ended September 30, 2024 and 2023 (Unaudited)

4

—Condensed Consolidated Statements of Comprehensive Income for the three and nine months ended September 30, 2024 and 2023 (Unaudited)

5

—Condensed Consolidated Statements of Stockholders’ Equity for the three and nine months ended September 30, 2024 and 2023 (Unaudited)

6

—Condensed Consolidated Statements of Cash Flows for the nine months ended September 30, 2024 and 2023 (Unaudited)

8

—Notes to Condensed Consolidated Financial Statements (Unaudited)

10

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

25

Item 3. Quantitative and Qualitative Disclosures About Market Risk

36

Item 4. Controls and Procedures

36

Part II. Other Information

Item 1. Legal Proceedings

38

Item 5. Other Information

38

Item 6. Exhibits

38

Signatures

39

2

PART I.  FINANCIAL INFORMATION

ITEM 1.  FINANCIAL STATEMENTS

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

(Unaudited)

September 30, 

December 31,

    

2024

    

2023

ASSETS

Current assets:

Cash and cash equivalents

$

352,657

$

217,778

Accounts receivable, net

 

941,011

 

685,439

Contract assets

 

805,923

 

846,176

Prepaid expenses and other current assets

 

122,961

 

135,840

Total current assets

 

2,222,552

 

1,885,233

Property and equipment, net

 

484,426

 

475,929

Operating lease assets

447,589

360,507

Intangible assets, net

 

212,555

 

227,561

Goodwill

 

857,650

 

857,650

Other long-term assets

 

15,521

 

20,547

Total assets

$

4,240,293

$

3,827,427

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current liabilities:

Accounts payable

$

489,052

$

628,962

Contract liabilities

 

657,101

 

366,476

Accrued liabilities

 

386,267

 

263,492

Dividends payable

 

3,223

 

3,202

Current portion of long-term debt

 

76,751

 

72,903

Total current liabilities

 

1,612,394

 

1,335,035

Long-term debt, net of current portion

 

826,998

 

885,369

Noncurrent operating lease liabilities, net of current portion

327,297

263,454

Deferred tax liabilities

 

59,490

 

59,565

Other long-term liabilities

 

56,119

 

47,912

Total liabilities

 

2,882,298

 

2,591,335

Commitments and contingencies (See Note 13)

Stockholders’ equity

Common stock—$0.0001 par value; 90,000,000 shares authorized; 53,712,733 and 53,366,327 issued and outstanding as of September 30, 2024, and December 31, 2023, respectively

 

6

 

6

Additional paid-in capital

 

281,563

 

275,846

Retained earnings

 

1,078,288

 

961,028

Accumulated other comprehensive income

(1,862)

(788)

Total stockholders’ equity

 

1,357,995

 

1,236,092

Total liabilities and stockholders’ equity

$

4,240,293

$

3,827,427

See Accompanying Notes to Condensed Consolidated Financial Statements

3

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF INCOME

(In Thousands, Except Per Share Amounts)

(Unaudited)

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2024

    

2023

    

2024

    

2023

Revenue

$

1,649,086

$

1,529,486

$

4,625,508

$

4,199,760

Cost of revenue

 

1,450,525

 

1,355,591

 

4,106,861

 

3,768,869

Gross profit

 

198,561

 

173,895

 

518,647

 

430,891

Selling, general and administrative expenses

 

98,106

 

84,404

 

286,812

 

247,984

Transaction and related costs

905

 

1,084

1,977

 

4,677

Operating income

 

99,550

 

88,407

 

229,858

 

178,230

Other income (expense):

Foreign exchange gain (loss), net

553

(1)

1,874

1,301

Other income, net

 

61

 

467

 

16

 

1,540

Interest expense, net

 

(17,859)

 

(21,065)

 

(52,984)

 

(56,443)

Income before provision for income taxes

 

82,305

 

67,808

 

178,764

 

124,628

Provision for income taxes

 

(23,869)

 

(19,664)

 

(51,842)

 

(36,142)

Net income

$

58,436

$

48,144

$

126,922

$

88,486

Dividends per common share

$

0.06

$

0.06

$

0.18

$

0.18

Earnings per share:

Basic

$

1.09

$

0.90

$

2.37

$

1.66

Diluted

$

1.07

$

0.89

$

2.33

$

1.63

Weighted average common shares outstanding:

Basic

 

53,692

 

53,339

 

53,608

 

53,275

Diluted

 

54,675

 

54,351

 

54,562

 

54,171

See Accompanying Notes to Condensed Consolidated Financial Statements

4

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(In Thousands)

(Unaudited)

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2024

    

2023

    

2024

    

2023

Net income

$

58,436

$

48,144

$

126,922

$

88,486

Other comprehensive income (loss), net of tax:

Foreign currency translation adjustments

818

 

(1,440)

(1,074)

53

Comprehensive income

$

59,254

$

46,704

$

125,848

$

88,539

See Accompanying Notes to Condensed Consolidated Financial Statements

5

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share and Per Share Amounts)

(Unaudited)

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Equity

Balance, June 30, 2024

 

53,672,740

$

6

$

278,830

$

1,023,075

$

(2,680)

$

1,299,231

Net income

 

 

 

 

58,436

 

58,436

Foreign currency translation adjustments, net of tax

818

818

Issuance of shares

11,357

 

 

564

 

 

564

Conversion of stock based awards, net of shares withheld for taxes

28,636

(1,819)

(1,819)

Stock-based compensation

 

 

 

3,988

 

 

3,988

Dividends declared ($0.06 per share)

 

 

 

 

(3,223)

 

(3,223)

Balance, September 30, 2024

 

53,712,733

$

6

$

281,563

$

1,078,288

$

(1,862)

$

1,357,995

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

    

Equity

Balance, December 31, 2023

 

53,366,327

$

6

$

275,846

$

961,028

$

(788)

$

1,236,092

Net income

 

 

 

 

126,922

 

126,922

Foreign currency translation adjustments, net of tax

(1,074)

(1,074)

Issuance of shares

 

46,201

1,960

 

1,960

Conversion of stock based awards, net of shares withheld for taxes

300,205

(6,591)

(6,591)

Stock-based compensation

10,348

10,348

Dividends declared ($0.18 per share)

 

(9,662)

 

(9,662)

Balance, September 30, 2024

 

53,712,733

$

6

$

281,563

$

1,078,288

$

(1,862)

$

1,357,995

6

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share and Per Share Amounts)

(Unaudited)

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

0

Equity

Balance, June 30, 2023

 

53,328,873

$

6

$

269,031

$

881,628

$

(1,127)

$

1,149,538

Net income

 

 

 

 

48,144

 

 

48,144

Foreign currency translation adjustments, net of tax

(1,440)

(1,440)

Issuance of shares

 

15,074

 

 

479

 

 

 

479

Conversion of stock based awards, net of shares withheld for taxes

8,664

(278)

(278)

Stock-based compensation

3,568

3,568

Dividends declared ($0.06 per share)

 

 

 

 

(3,203)

 

 

(3,203)

Balance, September 30, 2023

 

53,352,611

$

6

$

272,800

$

926,569

$

(2,567)

$

1,196,808

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

0

Income

0

Equity

Balance, December 31, 2022

 

53,124,899

$

6

$

263,771

$

847,681

$

(2,620)

$

1,108,838

Net income

 

 

 

 

88,486

 

 

88,486

Foreign currency translation adjustments, net of tax

53

53

Issuance of shares

 

65,023

 

 

1,742

 

 

 

1,742

Conversion of stock based awards, net of shares withheld for taxes

162,689

(1,668)

(1,668)

Stock-based compensation

8,955

8,955

Dividends declared ($0.18 per share)

 

 

 

 

(9,598)

 

 

(9,598)

Balance, September 30, 2023

 

53,352,611

$

6

$

272,800

$

926,569

$

(2,567)

$

1,196,808

See Accompanying Notes to Condensed Consolidated Financial Statements

7

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

(Unaudited)

Nine Months Ended

September 30, 

    

2024

    

2023

Cash flows from operating activities:

Net income

$

126,922

$

88,486

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

Depreciation and amortization

 

72,948

 

81,454

Stock-based compensation expense

 

10,348

 

8,955

Gain on sale of property and equipment

 

(38,490)

 

(29,603)

Unrealized loss (gain) on interest rate swap

1,202

(3,001)

Other non-cash items

3,286

1,546

Changes in assets and liabilities:

Accounts receivable

 

(263,175)

 

(185,815)

Contract assets

 

39,517

 

(128,360)

Other current assets

 

(7,076)

 

32,961

Other long-term assets

(1,045)

633

Accounts payable

(139,074)

(34,855)

Contract liabilities

 

290,636

 

106,042

Operating lease assets and liabilities, net

 

(3,903)

 

3,114

Accrued liabilities

 

106,551

 

51,182

Other long-term liabilities

 

11,407

 

114

Net cash provided by (used in) operating activities

 

210,054

 

(7,147)

Cash flows from investing activities:

Purchase of property and equipment

 

(98,338)

 

(82,500)

Proceeds from sale of assets

 

97,447

 

47,579

Cash paid for acquisitions, net of cash and restricted cash acquired

 

 

9,300

Net cash used in investing activities

 

(891)

 

(25,621)

Cash flows from financing activities:

Borrowings under revolving lines of credit

440,223

Payments on revolving lines of credit

 

 

(420,223)

Payments on long-term debt

 

(55,878)

 

(66,055)

Payments related to tax withholding for stock-based compensation

(6,591)

(1,637)

Dividends paid

 

(9,641)

 

(9,582)

Other

(1,912)

 

(2,749)

Net cash used in financing activities

 

(74,022)

 

(60,023)

Effect of exchange rate changes on cash, cash equivalents and restricted cash

(400)

346

Net change in cash, cash equivalents and restricted cash

 

134,741

 

(92,445)

Cash, cash equivalents and restricted cash at beginning of the period

 

223,542

 

258,991

Cash, cash equivalents and restricted cash at end of the period

$

358,283

$

166,546

See Accompanying Notes to Condensed Consolidated Financial Statements

8

PRIMORIS SERVICES CORPORATION

CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS (Continued)

(In Thousands)

(Unaudited)

SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION

Nine Months Ended September 30, 

    

2024

    

2023

Cash paid for interest

$

49,831

$

57,351

Cash paid for income taxes, net of refunds received

15,462

(6,622)

Leased assets obtained in exchange for new operating leases

177,675

181,328

SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES

Nine Months Ended September 30, 

    

2024

    

2023

Dividends declared and not yet paid

$

3,223

$

3,203

See Accompanying Notes to Condensed Consolidated Financial Statements

9

PRIMORIS SERVICES CORPORATION

NOTES TO CONDENSED CONSOLIDATED FINANCIAL STATEMENTS

(Dollars in Thousands, Except Share and Per Share Amounts)

(Unaudited)

Note 1—Nature of Business

Organization and operationsPrimoris Services Corporation is one of the leading providers of infrastructure services operating mainly in the United States and Canada. We provide a wide range of construction, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments.

We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.

We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.

Reportable Segments — Our current reportable segments are the Utilities segment and the Energy segment. See Note 14 – “Reportable Segments” for a brief description of the reportable segments and their operations.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

Note 2—Basis of Presentation

Interim condensed consolidated financial statements The interim condensed consolidated financial statements for the three and nine months ended September 30, 2024 and 2023 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 27, 2024, which contains our audited consolidated financial statements for the year ended December 31, 2023, have been omitted.

This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. 

Reclassification Certain previously reported amounts have been reclassified to conform to the current year presentation.

10

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30, 

    

2024

    

2023

Cash and cash equivalents

$

352,657

$

160,736

Restricted cash included in prepaid expenses and other current assets

5,626

5,810

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

358,283

$

166,546

    

    

December 31,

    

2023

    

2022

Cash and cash equivalents

$

217,778

$

248,692

Restricted cash included in prepaid expense and other current assets

5,764

10,299

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

223,542

$

258,991

Accounts Receivable Securitization Facility — In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association (“PNC”) to improve cash flows from trade accounts receivable. In July 2024, we renewed the Facility for a two-year term, added Regions Bank (“Regions”) to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Fees associated with the Facility for the three and nine months ended September 30, 2024, were $1.3 million and $4.0 million, respectively, and are included in interest expense in the Condensed Consolidated Statements of Income. Fees associated with the Facility for the three and nine months ended September 30, 2023, were $0.5 million and are included in interest expense in the Condensed Consolidated Statements of Income.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC and Regions up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Condensed Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. The SPE owned $232.1 million of trade accounts receivable as of September 30, 2024, which are included in Accounts receivable, net on the Condensed Consolidated Balance Sheets. For the nine months ended September 30, 2024 and 2023, we received $10.0 million and $65.0 million, respectively, in cash proceeds from the Facility, and repaid $10.0 million and $0, respectively, to the Facility, which are included in cash from operating activities in the Condensed Consolidated Statements of Cash Flows. As of September 30, 2024, we had $75.0 million available capacity under the Facility.

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 35% to 45% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2024, approximately 41.9% and 40.9%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

11

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

Recently Issued Accounting Pronouncements

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” which changes the accounting and reporting of segment disclosure requirements primarily through enhanced disclosure about significant segment expenses in accordance with FASB Accounting Standards Codification 280, Segment Reporting. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively on or after the effective date. We adopted the new standard on January 1, 2024, on a prospective basis. This ASU will likely result in us including additional required disclosures in the financial statement footnotes in our annual report on form 10-K commencing with the year ending December 31, 2024, but is not expected to have an effect on our consolidated financial position, results of operations or cash flows.

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” that requires presentation of specific categories of reconciling items, as well reconciling items that meet a quantitative threshold, in the reconciliation between the income tax provision and the income tax provision using statutory tax rates. The standard also requires disclosure of income taxes paid disaggregated by jurisdiction with separate disclosure of income taxes paid to individual jurisdictions that meet a quantitative threshold. ASU No. 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively; however, entities have the option to apply retrospectively for each period presented. We do not expect the adoption of this new standard in 2025 to have an impact on our consolidated financial position, results of operations or cash flows.

Note 3—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.

In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value as of September 30, 2024 and December 31, 2023 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2024:

Cash and cash equivalents

$

352,657

 

$

 

$

Interest rate swap

431

Assets as of December 31, 2023:

Cash and cash equivalents

217,778

 

 

Interest rate swap

1,633

Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The

12

carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.

The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 8 – “Derivative Instruments” for additional information.

Note 4—Revenue

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. For the nine months ended September 30, 2024 and 2023, $3,191.7 million, and $2,781.1 million, respectively, of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we cannot reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606, Revenue from Contracts with Customers, defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.

As of September 30, 2024, we had $5.9 billion of remaining performance obligations. We expect to recognize 58.0% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.

Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and pandemics may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected.

The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price

13

are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time.

Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.

As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended September 30, 2024, revenue was negatively impacted by $10.4 million as a result of changes in estimates associated with performance obligations satisfied prior to June 30, 2024. In the nine months ended September 30, 2024, revenue was negatively impacted by $18.0 million as a result of changes in estimates associated with performance obligations satisfied prior to December 31, 2023. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods.

As of September 30, 2024, we had approximately $223.9 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $207.9 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2024.

In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.

The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability.

The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:

unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;

retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and

contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating to the cost incurred to a specific project.

14

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Unbilled revenue

$

533,852

$

604,166

Retention receivable

227,105

202,358

Contract materials (not yet installed)

 

44,966

 

39,652

$

805,923

$

846,176

Contract assets decreased by $40.3 million compared to December 31, 2023, primarily due to lower unbilled revenue partially offset by higher retention receivable.

The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:

deferred revenue, which arises when billings are in excess of revenue recognized to date; and

the accrued loss provision.

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Deferred revenue

$

655,215

$

363,159

Accrued loss provision

 

1,886

 

3,317

$

657,101

$

366,476

Contract liabilities increased by $290.6 million compared to December 31, 2023, due to higher deferred revenue.

Revenue recognized for the nine months ended September 30, 2024, that was included in the contract liability balance as of December 31, 2023, was approximately $321.1 million.

The following tables present our revenue disaggregated into various categories.

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

552,741

 

$

113,499

 

$

666,240

Energy

72,295

938,563

1,010,858

Intersegment eliminations

(20)

(27,992)

(28,012)

Total

$

625,016

 

$

1,024,070

 

$

1,649,086

For the nine months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,430,696

$

344,266

$

1,774,962

Energy

243,013

2,688,915

2,931,928

Intersegment eliminations

(258)

(81,124)

(81,382)

Total

$

1,673,451

 

$

2,952,057

 

$

4,625,508

For the three months ended September 30, 2023

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

505,728

 

$

144,936

 

$

650,664

Energy

78,825

808,918

887,743

Intersegment eliminations

(768)

(8,153)

(8,921)

Total

$

583,785

 

$

945,701

 

$

1,529,486

15

For the nine months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

1,359,495

$

474,170

$

1,833,665

Energy

223,181

2,170,933

2,394,114

Intersegment eliminations

(5,385)

(22,634)

(28,019)

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

88,167

 

$

437,493

 

$

140,580

 

$

666,240

Energy

608,899

179,403

222,556

1,010,858

Intersegment eliminations

(27,748)

(128)

(136)

(28,012)

Total

$

669,318

 

$

616,768

 

$

363,000

 

$

1,649,086

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

268,738

$

1,122,898

$

383,326

$

1,774,962

Energy

1,751,605

486,792

693,531

2,931,928

Intersegment eliminations

(79,233)

(1,893)

(256)

(81,382)

Total

$

1,941,110

 

$

1,607,797

 

$

1,076,601

 

$

4,625,508

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2023

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

107,024

 

$

411,636

 

$

132,004

 

$

650,664

Energy

536,975

168,237

182,531

887,743

Intersegment eliminations

(1,660)

(5,444)

(1,817)

(8,921)

Total

$

642,339

 

$

574,429

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

294,709

1,146,601

$

392,355

$

1,833,665

Energy

1,551,536

448,456

394,122

2,394,114

Intersegment eliminations

(7,719)

(17,309)

(2,991)

(28,019)

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.

Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.

16

Note 5—Goodwill and Intangible Assets

The carrying amount of goodwill by reportable segment was as follows (in thousands):

September 30, 

December 31, 

Reporting Segment

    

2024

    

2023

Utilities

 

$

703,462

$

703,462

Energy

 

 

154,188

 

154,188

Total Goodwill

$

857,650

$

857,650

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2024

December 31, 2023

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

19,220

$

(17,692)

$

1,528

$

19,220

$

(15,799)

$

3,421

Customer relationships

 

295,977

 

(84,950)

 

211,027

 

295,977

 

(71,837)

 

224,140

Total

$

315,197

$

(102,642)

$

212,555

$

315,197

$

(87,636)

$

227,561

Amortization expense of intangible assets was $4.7 million and $5.2 million for the three months ended September 30, 2024, and 2023, respectively, and $15.0 million and $16.6 million for the nine months ended September 30, 2024 and 2023, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024 (remaining three months)

$

4,658

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,110

$

212,555

Note 6—Accounts Payable and Accrued Liabilities

As of September 30, 2024, and December 31, 2023, accounts payable included retention amounts of approximately $40.7 million and $24.7 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Payroll and related employee benefits

$

162,412

$

108,618

Current operating lease liability

115,743

96,411

Casualty insurance reserves

 

15,658

 

18,015

Corporate income taxes and other taxes

 

67,051

 

14,203

Other

 

25,403

 

26,245

$

386,267

$

263,492

17

Note 7—Credit Arrangements

Long-term debt and credit facilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Term loan

$

838,692

$

874,128

Revolving credit facility

Commercial equipment notes

51,230

71,004

Mortgage notes

 

18,943

 

19,615

Total debt

908,865

964,747

Unamortized debt issuance costs

(5,116)

(6,475)

Total debt, net

$

903,749

$

958,272

Less: current portion

 

(76,751)

 

(72,903)

Long-term debt, net of current portion

$

826,998

$

885,369

The weighted average interest rate on total debt outstanding as of September 30, 2024 and December 31, 2023 was 6.1% and 6.8%, respectively.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. As of September 30, 2024, commercial letters of credit outstanding were $52.8 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $272.2 million as of September 30, 2024.

The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement as of September 30, 2024

On January 31, 2023, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 1.75% as of September 30, 2024. The interest rate swap matures on January 31, 2025. See Note 8 – “Derivative Instruments”.

Canadian Credit Facilities

We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. As of September 30, 2024, commercial letters of credit outstanding were $1.0 million in Canadian dollars and there were no outstanding borrowings. Available capacity as of September 30, 2024 was $13.0 million in Canadian dollars.

Note 8—Derivative Instruments

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.

18

Interest Rate Risk. We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on January 31, 2023, with a notional amount of $300.0 million. The swap was not designated as a hedge for accounting purposes. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2024, and December 31, 2023, our outstanding interest rate swap agreement contained a notional amount of $300.0 million maturing on January 31, 2025.

Credit Risk. By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2024

2023

Interest rate swap

 

Other current assets

$

431

$

Interest rate swap

Other long-term assets

1,633

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of (Loss) Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2024

    

2023

2024

    

2023

Interest rate swap

 

Interest expense, net

$

(426)

$

1,307

$

1,825

$

6,904

Cash flows from derivatives settled are reported as cash flows from operating activities.

Note 9—Income Taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.

The effective tax rate on income for the nine months ended September 30, 2024, and 2023 is 29.0%. For the nine months of 2024 and 2023, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2020. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2018.

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length

19

of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.

Note 10—Dividends and Earnings Per Share

We paid cash dividends during 2024 and 2023 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

November 2, 2023

December 29, 2023

January 12, 2024

0.06

February 21, 2024

March 28, 2024

April 15, 2024

0.06

May 1, 2024

June 28, 2024

July 15, 2024

0.06

July 31, 2024

September 27, 2024

October 11, 2024

0.06

The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2024 and 2023 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

    

2023

    

2024

    

2023

Numerator:

Net income

$

58,436

$

48,144

$

126,922

$

88,486

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,692

 

53,339

 

53,608

 

53,275

Dilutive effect of stock-based awards

 

983

 

1,012

 

954

 

896

Weighted average shares for computation of diluted earnings per share

 

54,675

 

54,351

 

54,562

 

54,171

Earnings per share:

Basic

$

1.09

$

0.90

$

2.37

$

1.66

Diluted

$

1.07

$

0.89

$

2.33

$

1.63

Note 11—Stockholders’ Equity

Common stock

We issued 11,359 and 21,245 shares of common stock in the nine months ended September 30, 2024, and 2023, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million in both the nine months ended September 30, 2024, and 2023. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2024, were a portion of bonus amounts earned in 2023, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2023. The shares purchased in the nine months ended September 30, 2023, were for bonus amounts earned in 2022, and the number of shares was calculated based on 75% of the average daily closing market price during December 2022.

During the three months ended September 30, 2024, and 2023, we issued 4,920 and 8,856 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During

20

the nine months ended September 30, 2024, and 2023, we issued 19,304 and 31,240 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.

During the three and nine months ended September 30, 2024, a total of 28,636 and 300,205 restricted and performance stock units, net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 8,664 and 162,689 restricted stock units, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2023, respectively.

Employee Stock Purchase Plan

In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”), for which eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2024, 6,437 shares were purchased at an average discounted purchase price of $45.14 per share. For the nine months ended September 30, 2024, 15,538 shares were purchased at an average discounted purchase price of $39.51 per share. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share.

Share Purchase Plan

In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In November 2023, our Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024. During the nine months ended September 30, 2024 and 2023, we did not purchase any shares of common stock.

Note 12—Leases

We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in “Operating lease assets”, “Accrued liabilities”, and “Noncurrent operating lease liabilities, net of current portion” on our Condensed Consolidated Balance Sheets. We also made an accounting policy election in which leases with an initial term of 12 months or less are not recorded on the balance sheet and lease payments are recognized in the Condensed Consolidated Statements of Income on a straight-line basis over the lease term.

Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. For our leases that do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.

Our leases have remaining lease terms that expire at various dates through 2034, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.

21

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

2023

    

2024

2023

Operating lease expense (1)

$

38,156

$

31,370

$

109,926

$

79,352

________________________________________

(1)Includes short-term leases which are immaterial.

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2024

2023

Accrued liabilities

$

115,743

$

96,411

Noncurrent operating lease liabilities, net of current portion

 

327,297

 

263,454

$

443,040

$

359,865

Note 13—Commitments and Contingencies

Legal proceedings We are subject to claims and legal proceedings from time to time arising out of our business. We accrue for loss contingencies when we conclude that a loss from such claims or legal proceedings is probable and the amount is reasonably estimable. When only a range of amounts is reasonably estimable and no amount within the range is more likely than another, the low end of the range is recorded. While the ultimate amount of liability incurred in any of these matters is dependent on future developments, in our opinion, the recorded liability is adequate to cover the future payment of such liability and claims. Any adjustments to the recorded liability will be reflected in earnings in the periods in which such adjustments become known. In determining whether it is possible to provide a reasonably estimable amount of possible loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential loss contingency, but the matter, if potentially material, is disclosed below.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings, and unfavorable or unexpected outcomes could result in additional expense that could be significant to results of operations in a particular year or quarter. However, after taking into consideration relevant factors concerning these matters, management believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding — As of September 30, 2024 and December 31, 2023, we had bid and completion bonds issued and outstanding totaling approximately $7.4 billion and $5.9 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.9 billion and $2.7 billion as of September 30, 2024, and December 31, 2023, respectively.

Note 14—Reportable Segments

Our current reportable segments are the Utilities segment and the Energy segment.

Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

22

The following is a brief description of our reportable segments:

The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.

The Energy segment operates throughout the United States and Canada and specializes in a range of services that include engineering, procurement, construction, refining, site development services for data centers, liquified natural gas plant construction, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280, Segment Reporting, does not review or allocate resources based on segment assets.

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

666,240

 

$

650,664

Energy

1,010,858

887,743

Intersegment eliminations

(28,012)

(8,921)

Total

$

1,649,086

 

$

1,529,486

For the nine months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

1,774,962

 

$

1,833,665

Energy

2,931,928

2,394,114

Intersegment eliminations

(81,382)

(28,019)

Total

$

4,625,508

 

$

4,199,760

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

87,026

 

13.1%

$

64,654

 

9.9%

Energy

111,535

11.0%

109,241

12.3%

Total

$

198,561

 

12.0%

$

173,895

 

11.4%

For the nine months ended September 30, 

2024

2023

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

177,666

 

10.0%

$

164,244

 

9.0%

Energy

340,981

11.6%

266,647

11.1%

Total

$

518,647

 

11.2%

$

430,891

 

10.3%

23

Segment Goodwill

The amount of goodwill recorded by each segment as of September 30, 2024 and December 31, 2023 is presented in Note 5 – “Goodwill and Intangible Assets”.

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 4.9% and 5.6% generated from sources outside of the United States during the nine months ended September 30, 2024 and 2023, respectively, principally in Canada. As of September 30, 2024 and December 31, 2023, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.

24

PRIMORIS SERVICES CORPORATION

MANAGEMENT’S DISCUSSION AND ANALYSIS

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

Forward Looking Statements

This Quarterly Report on Form 10-Q for the quarterly period ended September 30, 2024 (“Third Quarter 2024 Report”) contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended, and Section 21E of the Securities Exchange Act of 1934, as amended (the “Exchange Act”), which are subject to the “safe harbor” created by those sections. Forward-looking statements include information concerning our possible or assumed future results of operations, business strategies, financing plans, competitive position, industry environment, growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements include all statements that are not historical facts and usually can be identified by terms such as “anticipates,” “believes,” “could,” “estimates,” “expects,” “intends,” “may,” “plans,” “potential,” “predicts,” “projects,” “should,” “will,” “would” or similar expressions.

Forward-looking statements include information concerning our possible or assumed future results of operations, business strategies, financing plans, competitive position, industry environment, potential growth opportunities, the effects of regulation and the economy, generally. Forward-looking statements involve known and unknown risks, uncertainties and other factors which may cause our actual results, performance or achievements to be materially different from any future results, performance or achievements expressed or implied by the forward-looking statements. Actual results may differ materially as a result of a number of factors, including, among other things, customer timing, project duration, weather, and general economic conditions; changes in our mix of customers, projects, contracts and business; regional or national and/or general economic conditions and demand for our services; price, volatility, and expectations of future prices of oil, natural gas, and natural gas liquids; variations and changes in the margins of projects performed during any particular quarter; increases in the costs to perform services caused by changing conditions; the termination, or expiration of existing agreements or contracts; the budgetary spending patterns of customers; inflation and other increases in construction costs that we may be unable to pass through to our customers; cost or schedule overruns on fixed-price contracts; availability of qualified labor for specific projects; changes in bonding requirements and bonding availability for existing and new agreements; the need and availability of letters of credit; increases in interest rates and slowing economic growth or recession; the instability in the banking system; costs we incur to support growth, whether organic or through acquisitions; the timing and volume of work under contract; losses experienced in our operations; the results of the review of prior period accounting on certain projects and the impact of adjustments to accounting estimates; developments in governmental investigations and/or inquiries; intense competition in the industries in which we operate; failure to obtain favorable results in existing or future litigation or regulatory proceedings, dispute resolution proceedings or claims, including claims for additional costs; failure of our partners, suppliers or subcontractors to perform their obligations; cyber-security breaches; failure to maintain safe worksites; risks or uncertainties associated with events outside of our control, including conflicts in the Middle East and between Russia and Ukraine, severe weather conditions, public health crises and pandemics, political crises or other catastrophic events; client delays or defaults in making payments; the cost and availability of credit and restrictions imposed by credit facilities; failure to implement strategic and operational initiatives; risks or uncertainties associated with acquisitions, dispositions and investments; possible information technology interruptions, cybersecurity threats or inability to protect intellectual property; the Company’s failure, or the failure of our agents or partners, to comply with laws; the Company's ability to secure appropriate insurance; new or changing political conditions and legal requirements, including those relating to environmental, health and safety matters; the loss of one or a few clients that account for a significant portion of the Company's revenues; asset impairments; and risks arising from the inability to successfully integrate acquired businesses.

We discuss many of these risks in detail in Part I, Item 1A “Risk Factors” of our Annual Report on Form 10-K for the year ended December 31, 2023 and our other filings with the Securities and Exchange Commission (“SEC”). You should read this Third Quarter 2024 Report, our Annual Report on Form 10-K for the year ended December 31, 2023 and our other filings with the SEC completely and with the understanding that our actual future results may be materially different from what we expect.

Given these uncertainties, you should not place undue reliance on these forward-looking statements. Also, forward-looking statements represent our management’s beliefs and assumptions only as of the date of this Third Quarter 2024 Report. We assume no obligation to update these forward-looking statements publicly, or to update the reasons actual

25

results could differ materially from those anticipated in any forward-looking statements, even if new information becomes available.

The following discussion and analysis should be read in conjunction with the unaudited financial statements and the accompanying notes included in Part 1, Item 1 of this Third Quarter 2024 Report and our Annual Report on Form 10-K for the year ended December 31, 2023.

Introduction

We are one of the leading providers of infrastructure services operating mainly in the United States and Canada. We provide a wide range of construction, maintenance, replacement, fabrication, and engineering services to a diversified base of customers through our two segments: Utilities and Energy. The structure of our reportable segments is generally focused on broad end-user markets for our services.

The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.

The Energy segment operates throughout the United States and Canada and specializes in a range of services that include engineering, procurement, construction, refining, site development services for data centers, liquified natural gas plant construction, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

We have completed major underground and industrial projects for a number of large natural gas transmission and petrochemical companies in the United States, major electrical and gas projects for a number of large utility companies in the United States, significant renewable energy projects for energy companies, as well as projects for our engineering customers. We enter into a large number of contracts each year, and the projects can vary in length from daily work orders to as long as 36 months, and occasionally longer, for completion on larger projects. Although we have not been dependent upon any one customer in any year, a small number of customers tend to constitute a substantial portion of our total revenue in any given year.

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. A portion of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we can’t reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses were made.

Material trends and uncertainties

We generate our revenue from construction and engineering projects, as well as from providing a variety of infrastructure services. We depend in part on spending by companies in the communications, gas and electric utilities, energy, chemical, and pipeline industries, as well as state departments of transportation. Over the past several years, each segment has benefited from demand for more efficient and more environmentally friendly energy and power facilities, more reliable gas and electric utility infrastructure, and upgraded and expanded local highway and bridge needs. However, periodically, each of these industries and government agencies is adversely affected by macroeconomic conditions and other challenging market conditions, such as those that have caused declines in the pipeline industry. Economic and other factors outside of our control may affect the amount and size of contracts we are awarded in any particular period.

26

We actively monitor the impact of the dynamic macroeconomic environment, including the impact of inflation and volatility in the commodities markets, on all aspects of our business. We have experienced increased fuel and labor costs and anticipate that elevated levels of cost inflation could persist in 2024. In an effort to mitigate the impacts of inflation on our operations, we attempt to recover increases in the cost of labor, equipment, fuel and materials through price escalation provisions that allow us to adjust billing rates for certain major contracts annually; by considering the estimated effect of such increases when bidding or pricing new work; or by entering into back-to-back contracts with suppliers and subcontractors. However, the annual adjustment provided by certain contracts is typically subject to a cap and there can be an extended period of time between the impact of inflation on our costs and when billing rates are adjusted. In some cases, our actual cost increases have exceeded the contractual caps, and therefore negatively impacted our operations. We have been successful in renegotiating some of our major contracts to address the increased costs on future work and will continue to address this with our customers going forward.

Fluctuations in the market prices of oil, gas and other fuel sources have affected demand for our services. Volatility in the prices of oil, gas, and liquid natural gas that has occurred in the past few years has created uncertainty with respect to demand for our pipeline services, both in the near term and for future projects. While the construction of gathering lines within the oil shale formations may remain at lower levels for an extended period, we believe that over time, the need for pipeline infrastructure for mid-stream and gas utility companies will result in a continuing need for our services.

The continuing changes in the regulatory environment have affected the demand for our services, either by increasing our work, delaying projects, or cancelling projects. For example, environmental laws and regulations have provided challenges to pipeline projects, resulting in delays or cancellations that impact the timing of revenue recognition. However, environmental laws and new pipeline regulations could increase the demand for our pipeline maintenance and integrity services. In addition, the regulatory environment in certain states has resulted in delays for the construction of gas-fired power plants. However, the increased demand for renewable resources is also creating demand for our infrastructure services and additional opportunities for our Energy segment, such as the need for battery storage and the construction of utility scale solar facilities.

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. Our Revolving Credit Facility and Term Loan bear interest at a variable rate which exposes us to interest rate risk. From time to time, we may use certain derivative instruments to hedge our exposure to variable interest rates. As of September 30, 2024, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of September 30, 2024, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $5.4 million.

Seasonality, cyclicality and variability

Our results of operations are subject to quarterly variations. Some of the variation is the result of weather, particularly rain, ice, snow, and named storms, which can impact our ability to perform infrastructure services. These seasonal impacts can affect revenue and profitability in all of our businesses. Any quarter can be affected either negatively, or positively by atypical weather patterns in any part of the country. In addition, demand for new projects in our Utilities segment tends to be lower during the early part of the calendar year due to clients’ internal budget cycles. As a result, we usually experience higher revenue and earnings in the second, third and fourth quarters of the year as compared to the first quarter.

Our project values range in size from several hundred dollars to several hundred million dollars. The bulk of our work is comprised of project sizes that average less than $3.0 million. We also perform construction projects which tend not to be seasonal, but can fluctuate from year to year based on customer timing, project duration, weather, and general economic conditions. Our business may be affected by declines, or delays in new projects, or by client project schedules. Because of the cyclical nature of our business, the financial results for any period may fluctuate from prior periods, and our financial condition and operating results may vary from quarter to quarter. Results from one quarter may not be indicative of our financial condition, or operating results for any other quarter, or for an entire year.

Critical Accounting Policies and Estimates

The preparation of financial statements in conformity with accounting principles generally accepted in the United States requires us to make estimates and assumptions that affect the reported amounts of assets and liabilities and the

27

disclosure of contingent assets and liabilities as of the date of the financial statements and that affect the amounts of revenue and expenses reported for each period. These estimates and assumptions must be made because certain information that is used in the preparation of our financial statements cannot be calculated with a high degree of precision from data available, is dependent on future events, or is not capable of being readily calculated based on generally accepted methodologies. Often, these estimates are particularly difficult to determine, and we must exercise significant judgment. Actual results could differ significantly from our estimates, and our estimates could change if they were made under different assumptions or conditions. Our critical accounting policies and estimates are described in Item 7 of our Annual Report on Form 10-K for the year ended December 31, 2023. There have been no material changes to our critical accounting policies and estimates since December 31, 2023.

Results of Operations

Consolidated Results

The following discussion compares the results of the three and nine months ended September 30, 2024, to the three and nine months ended September 30, 2023.

Revenue

Revenue was $1,649.1 million for the three months ended September 30, 2024, an increase of $119.6 million, or 7.8%, compared to the same period in 2023. The increase was primarily due to growth in both our Energy and Utilities segments.

Revenue was $4,625.5 million for the nine months ended September 30, 2024, an increase of $425.7 million, or 10.1%, compared to the same period in 2023. The increase was primarily due to growth in our Energy segment partially offset by a decrease in our Utilities segment.

Gross Profit

Gross profit was $198.6 million for the three months ended September 30, 2024, an increase of $24.7 million, or 14.2%, compared to the same period in 2023. The increase was primarily due to an increase in revenue in both segments and improved margins in our Utilities segment. Gross profit as a percentage of revenue increased to 12.0% for the three months ended September 30, 2024, compared to 11.4% for the same period in 2023 primarily driven by an increase in margins in our Utilities segment.

Gross profit was $518.6 million for the nine months ended September 30, 2024, an increase of $87.8 million, or 20.4%, compared to the same period in 2023. The increase was primarily due to higher revenue in our Energy segment and improved margins in both segments. Gross profit as a percentage of revenue increased to 11.2% for the nine months ended September 30, 2024, compared to 10.3% for the same period in 2023, primarily driven by improved margins in both segments.

Selling, general and administrative expenses

Selling, general and administrative (“SG&A”) expenses were $98.1 million during the three months ended September 30, 2024, an increase of $13.7 million, or 16.2%, compared to 2023 primarily due to increased people costs to support revenue growth as well as higher technology costs associated with ongoing initiatives. SG&A expenses as a percentage of revenue increased to 5.9% compared to 5.5% for the corresponding period in 2023.

SG&A expenses were $286.8 million during the nine months ended September 30, 2024, an increase of $38.8 million, or 15.7%, compared to 2023 primarily due to increased people costs to support revenue growth as well as higher technology costs associated with ongoing initiatives. SG&A expenses as a percentage of revenue increased slightly to 6.2% compared to 5.9% for the corresponding period in 2023.

28

Other income and expense

Non-operating income and expense items for the three and nine months ended September 30, 2024, and 2023 were as follows (in thousands):

Three Months Ended

Nine Months Ended

September 30, 

September 30, 

    

2024

    

2023

    

2024

    

2023

Foreign exchange gain (loss), net

$

553

$

(1)

$

1,874

$

1,301

Other income, net

 

61

 

467

 

16

 

1,540

Interest expense, net

 

(17,859)

 

(21,065)

 

(52,984)

 

(56,443)

Total other expense

$

(17,245)

$

(20,599)

$

(51,094)

$

(53,602)

Interest expense, net for the three months ended September 30, 2024, decreased $3.2 million compared to the same period in 2023 primarily due to lower average debt balances, partially offset by a $1.4 million unrealized loss on our interest rate swap in 2024 compared to a $0.3 million unrealized gain in 2023.

Interest expense, net for the nine months ended September 30, 2024, decreased $3.5 million compared to the same period in 2023 primarily due to lower average debt balances, partially offset by a $1.2 million unrealized loss on our interest rate swap in 2024 compared to a $3.0 million unrealized gain in 2023.

Provision for income taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as income tax expense.

The effective tax rate for the nine-month periods ended September 30, 2024 and 2023, of 29.0% differs from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses.

We recorded income tax expense for the nine months ended September 30, 2024, of $51.8 million compared to income tax expense of $36.1 million for the nine months ended September 30, 2023. The $15.7 million increase in income tax expense is driven by a $54.1 million increase in pretax income.

29

Segment results

Revenue and gross profit by segment for the three months ended September 30, 2024, and 2023 were as follows:

Revenue

Gross Profit

For the three months ended September 30, 

For the three months ended September 30, 

2024

2023

2024

2023

Segment

    

(Thousands)

    

(Thousands)

a

(Thousands)

% of Segment Revenue

    

(Thousands)

% of Segment Revenue

Utilities

$

666,240

 

$

650,664

$

87,026

13.1%

$

64,654

9.9%

Energy

1,010,858

887,743

111,535

11.0%

109,241

12.3%

Intersegment eliminations

(28,012)

(8,921)

Total

$

1,649,086

 

$

1,529,486

$

198,561

12.0%

$

173,895

11.4%

Utilities Segment

Revenue increased by $15.6 million, or 2.4%, for the three months ended September 30, 2024, compared to the same period in 2023, primarily due to increased project work in our power delivery market as well as increased activity in our communications and gas operations markets. These impacts were partially offset by completion of a major substation project in our power delivery market in the second half of 2023.

Gross profit for the three months ended September 30, 2024, increased by $22.4 million, or 34.6%, compared to the same period in 2023, primarily due to improved margins and higher revenue. Gross profit as a percentage of revenue increased to 13.1% during the three months ended September 30, 2024, compared to 9.9% in the same period in 2023, primarily due to productivity issues on some legacy projects from our PLH Group, Inc. (“PLH”) acquisition experienced in 2023, strong performance in our power delivery market in 2024, and the increased benefit of higher margin storm work in 2024.

Energy Segment

Revenue increased by $123.1 million, or 13.9%, for the three months ended September 30, 2024, compared to the same period in 2023, primarily due to increased renewable energy activity.

Gross profit for the three months ended September 30, 2024, increased by $2.3 million, or 2.1%, compared to the same period in 2023, due to higher revenue, partially offset by lower margins. Gross profit as a percentage of revenue decreased to 11.0% during the three months ended September 30, 2024, compared to 12.3% in the same period in 2023. This was primarily due to higher pipeline margins on a mid-Atlantic project in 2023 that did not repeat in 2024, partially offset by strong performance on multiple industrial projects in 2024.

30

Revenue and gross profit by segment for the nine months ended September 30, 2024, and 2023 were as follows:

Revenue

Gross Profit

For the nine months ended September 30, 

For the nine months ended September 30, 

    

2024

2023

2024

2023

Segment

    

(Thousands)

    

(Thousands)

a

(Thousands)

% of Segment Revenue

    

(Thousands)

% of Segment Revenue

Utilities

$

1,774,962

$

1,833,665

$

177,666

10.0%

$

164,244

9.0%

Energy

2,931,928

2,394,114

340,981

11.6%

266,647

11.1%

Intersegment eliminations

(81,382)

(28,019)

Total

$

4,625,508

 

$

4,199,760

$

518,647

11.2%

$

430,891

10.3%

Utilities Segment

Revenue decreased by $58.7 million, or 3.2%, for the nine months ended September 30, 2024, compared to the same period in 2023, primarily due to the substantial completion of a major substation project in our power delivery market in the second half of 2023 and lower activity in our gas operations market. Partially offsetting the overall decline was increased project work in our power delivery market and increased activity in our communications market.

Gross profit for the nine months ended September 30, 2024, increased by $13.4 million, or 8.2%, compared to the same period in 2023, primarily due to increased margins, partially offset by a decrease in revenue. Gross profit as a percentage of revenue increased to 10.0% during the nine months ended September 30, 2024, compared to 9.0% in the same period in 2023, primarily due to productivity issues on some legacy projects from our PLH acquisition experienced in 2023, strong performance in our power delivery market in 2024, and the increased benefit of higher margin storm work in 2024.

Energy Segment

Revenue increased by $537.8 million, or 22.5%, for the nine months ended September 30, 2024, compared to the same period in 2023, primarily due to increased renewable energy and industrial activity, partially offset by decreased activity in our pipeline market.

Gross profit for the nine months ended September 30, 2024, increased by $74.3 million, or 27.9%, compared to the same period in 2023, due to higher revenue and margins. Gross profit as a percentage of revenue increased to 11.6% during the nine months ended September 30, 2024, compared to 11.1% in the same period in 2023, primarily due to revenue growth in higher margin renewable energy work and strong performance by our industrial group in 2024. These amounts were partially offset by higher pipeline margins on a mid-Atlantic project in 2023 that did not repeat in 2024.

31

Geographic area financial information

The majority of our revenue is derived from customers in the United States with approximately 4.9% generated from sources outside of the United States during the nine months ended September 30, 2024, principally in Canada.

Backlog

For infrastructure services contractors, backlog can be an indicator of future revenue streams. Different companies define and calculate backlog in different manners. We define backlog as anticipated revenue from the uncompleted portions of existing contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value (“Fixed Backlog”), and the estimated revenue on Master Service Agreements (“MSA”) work (“MSA Backlog”). We present two measures of backlog; one that includes Fixed Backlog and MSA Backlog for the next twelve months, and total backlog that includes all Fixed Backlog and MSA Backlog to the end of the MSA agreement. We do not consider renewals when estimating MSA Backlog. We do not include certain contracts in the calculation of fixed backlog where scope, and therefore contract value, is not adequately defined. We estimate MSA Backlog based on historical trends, anticipated seasonal impacts and estimates of customer demand based on information from our customers.

Fixed and MSA Backlog by reporting segment at September 30, 2024, and December 31, 2023, were as follows (in millions):

September 30, 2024

December 31, 2023

Next 12 Months

Total

Next 12 Months

Total

Utilities

Fixed Backlog

$

57.6

$

57.6

$

96.3

$

96.3

MSA Backlog

1,892.4

5,268.4

1,776.5

5,093.6

Backlog

$

1,950.0

$

5,326.0

$

1,872.8

$

5,189.9

Energy

Fixed Backlog

$

3,049.8

$

5,518.5

$

2,599.0

$

5,102.6

MSA Backlog

199.4

416.6

308.2

602.4

Backlog

$

3,249.2

$

5,935.1

$

2,907.2

$

5,705.0

Total

Fixed Backlog

$

3,107.4

$

5,576.1

$

2,695.3

$

5,198.9

MSA Backlog

2,091.8

5,685.0

2,084.7

5,696.0

Backlog

$

5,199.2

$

11,261.1

$

4,780.0

$

10,894.9

Backlog should not be considered a comprehensive indicator of future revenue, as a percentage of our revenue is derived from projects that are not part of a backlog calculation. The backlog estimates include amounts from estimated MSAs, but our customers are not contractually obligated to purchase an amount of services from us under the MSAs. Any of our contracts may be terminated by our customers on relatively short notice. In the event of a project cancellation, we are typically reimbursed for all of our costs through a specific date, as well as all reasonable costs associated with demobilizing from the jobsite, but typically we have no contractual right to the total revenue reflected in backlog. Projects may remain in backlog for extended periods of time as a result of customer delays, regulatory requirements or project specific issues. Future revenue from projects where scope, and therefore contract value, is not adequately defined may not be included in our estimated backlog amount.

Liquidity and Capital Resources

Liquidity represents our ability to pay our liabilities when they become due, fund business operations, and meet our contractual obligations and execute our business plan. Our primary sources of liquidity are our cash balances at the beginning of each period and our cash flows from operating activities. If needed, we have availability under our lines of credit to augment liquidity needs, and we have a current shelf registration statement filed with the SEC that allows for the issuance of an indeterminate amount of debt and equity securities. Our short-term and long-term cash requirements consist primarily of working capital, investments to support revenue growth and maintain our equipment and facilities, general corporate needs, and to service our debt obligations. As of September 30, 2024, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $52.8 million, and available borrowing capacity was $272.2 million. In addition there were no outstanding borrowings under our Canadian credit facilities as of

32

September 30, 2024, commercial letters of credit outstanding were $1.0 million in Canadian dollars and available borrowing capacity was $13.0 million in Canadian dollars.

In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association to improve cash flows from trade accounts receivable. In July 2024 we renewed the Facility for a two-year term, added Regions Bank to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity created specifically for this purpose. The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. As of September 30, 2024, we had $75.0 million in available capacity under the Facility.

In order to maintain sufficient liquidity, we evaluate our working capital requirements on a regular basis. We may elect to raise additional capital by issuing common stock, convertible notes, term debt or increasing the borrowing capacity under our credit facilities as necessary to fund our operations or to fund the acquisition of new businesses.

Our cash and cash equivalents totaled $352.7 million as of September 30, 2024, compared to $217.8 million as of December 31, 2023. We anticipate that our cash and investments on hand, existing borrowing capacity under our credit facilities, access to and capacity under a shelf registration statement, and our future cash flows from operations will provide sufficient funds to enable us to meet our operating needs, our planned capital expenditures, and settle our commitments and contingencies for the next twelve months and the foreseeable future.

The construction industry is capital intensive, and we expect to continue to make capital expenditures to meet anticipated needs for our services. During the nine months ended September 30, 2024, we spent approximately $98.3 million for capital expenditures, which included $60.9 million on our facilities and $34.2 million for construction equipment. Capital expenditures for the remaining three months of 2024 are expected to total between $10.0 million and $20.0 million, which includes $5.0 million to $15.0 million for equipment.

Cash Flows

Cash flows during the nine months ended September 30, 2024 and 2023 are summarized as follows (in thousands):

Nine months ended

September 30, 

    

2024

    

2023

Change in cash:

Net cash provided by (used in) operating activities

$

210,054

$

(7,147)

Net cash used in investing activities

 

(891)

 

(25,621)

Net cash used in financing activities

 

(74,022)

 

(60,023)

Effect of exchange rate changes

(400)

346

Net change in cash, cash equivalents and restricted cash

$

134,741

$

(92,445)

Operating Activities

The cash flows provided by (used in) operating activities for the nine months ended September 30, 2024 and 2023 were as follows (in thousands):

Nine months ended

September 30, 

    

2024

    

2023

    

Change

Operating Activities:

Net income

$

126,922

$

88,486

$

38,436

Depreciation and amortization

 

72,948

 

81,454

 

(8,506)

Changes in assets and liabilities

33,838

(154,984)

188,822

Gain on sale of property and equipment

(38,490)

(29,603)

(8,887)

Other

 

14,836

 

7,500

 

7,336

Net cash provided by (used in) operating activities

$

210,054

$

(7,147)

$

217,201

Net cash provided by operating activities for the nine months ended September 30, 2024 was $210.1 million compared to $7.1 million cash used in operating activities for the nine months ended September 30, 2023. The change year-

33

over-year was primarily due to improvement in the impact from the changes in assets and liabilities and an increase in net income.

The significant components of the $33.8 million change in assets and liabilities for the nine months ended September 30, 2024 are summarized as follows:

Contract liabilities increased $290.6 million, primarily due to higher deferred revenue from favorable billing terms on certain new projects;
Contract assets decreased by $39.5 million, primarily due to the timing of billing our customers;
Accounts payable and accrued liabilities decreased by $32.5 million primarily due to revenue growth and the timing of our payments to vendors; and
Accounts receivable increased by $263.2 million, primarily due to increased revenue and the timing of collecting from our customers.

The significant components of the $155.0 million change in assets and liabilities for the nine months ended September 30, 2023, are summarized as follows:

Accounts receivable increased by $185.8 million, primarily due to increased revenue and the timing of collecting from our customers;
Contract assets increased by $128.4 million, primarily due to increased revenue;
Contract liabilities increased by $106.0 million, primarily due to higher deferred revenue;
Other current assets decreased by $33.0 million primarily due to a $20.0 million income tax refund; and
Accounts payable and accrued liabilities increased by $16.3 million primarily due to revenue growth and the timing of our payments to vendors.

Investing activities

For the nine months ended September 30, 2024, cash used in investing activities was $0.9 million compared to $25.6 million used in the nine months ended September 30, 2023.

During the nine months ended September 30, 2024, we purchased property and equipment for $98.3 million compared to $82.5 million during the same period in the prior year. We believe the ownership or long-term leasing of equipment is generally preferable to renting equipment on a project-by-project basis, as this strategy helps to ensure the equipment is available for our projects when needed. In addition, this approach has historically resulted in lower overall equipment costs.

We periodically sell assets, typically to update our fleet. We received proceeds from the sale of assets of $97.4 million during the nine months ended September 30, 2024, compared to $47.6 million during the same period in the prior year.

Financing activities

Financing activities used cash of $74.0 million for the nine months ended September 30, 2024, compared to $60.0 million for the nine months ended September 30, 2023, which was primarily due to the following:

Payments of long-term debt of $55.9 million;
Dividend payments to our stockholders of $9.6 million; and
Payments related to tax withholding for stock-based compensation of $6.6 million.

Financing activities used cash of $60.0 million for the nine months ended September 30, 2023, which was primarily due to the following:

Payment of long-term debt of $66.1 million;

34

Dividend payments to our stockholders of $9.6 million; and
Net borrowings on our credit facilities of $20.0 million.

Credit Agreements

For a description of our credit agreements, see Note 7— “Credit Arrangements” in Item 1, Financial Statements of this Third Quarter 2024 Report.

Common stock

For a discussion of items affecting our common stock, please see Note 11 — “Stockholders’ Equity” in Item 1, Financial Statements of this Third Quarter 2024 Report.

Off-balance sheet transactions

We enter into certain off-balance sheet arrangements in the ordinary course of business that result in risks not directly reflected on our balance sheet. We have no off-balance sheet financing arrangement with VIEs. The following represents transactions, obligations or relationships that could be considered material off-balance sheet arrangements.

As of September 30, 2024, we had letters of credit outstanding of $53.5 million under the terms of our credit agreements. These letters of credit are used by our insurance carriers to ensure reimbursement for amounts that they are disbursing on our behalf, such as beneficiaries under our self-funded insurance program. In addition, from time to time, certain customers require us to post a letter of credit to ensure payments to our subcontractors or guarantee performance under our contracts. Letters of credit reduce our borrowing availability under our Amended Credit Agreement and our Canadian credit facilities. If these letters of credit were drawn on by the beneficiary, we would be required to reimburse the issuer of the letter of credit, and we may be required to record a charge to earnings for the reimbursement. As of the date of this Third Quarter 2024 Report, we do not believe that it is likely that any material claims will be made under a letter of credit;

In the ordinary course of our business, we may be required by our customers to post surety bid or completion bonds in connection with services that we provide. As of September 30, 2024, we had bid and completion bonds issued and outstanding totaling approximately $7.4 billion. The remaining performance obligation on those bonded projects totaled approximately $2.9 billion as of September 30, 2024. As of the date of this Third Quarter 2024 Report, we do not anticipate that we would have to fund any material claim under our surety arrangements;

Certain of our subsidiaries are parties to collective bargaining agreements with unions. In most instances, these agreements require that we contribute to multi-employer pension and health and welfare plans. For many plans, the contributions are determined annually and required future contributions cannot be determined since contribution rates depend on the total number of union employees and actuarial calculations based on the demographics of all participants. The Employee Retirement Income Security Act of 1974, as amended by the Multi-Employer Pension Amendments Act of 1980, subjects employers to potential liabilities in the event of an employer’s complete or partial withdrawal of an underfunded multi-employer pension plan. The Pension Protection Act of 2006 added new funding rules for multi-employer plans that are classified as “endangered”, “seriously endangered”, or “critical”. We do not currently anticipate withdrawal from any multi-employer pension plans. Withdrawal liabilities or requirements for increased future contributions could negatively impact our results of operations and liquidity;

We enter into employment agreements with certain employees which provide for compensation and benefits under certain circumstances and which may contain a change of control clause. We may be obligated to make payments under the terms of these agreements; and

From time to time, we make other guarantees, such as guaranteeing the obligations of our subsidiaries.

35

Effects of Inflation and Changing Prices

Our operations are affected by increases in prices, whether caused by inflation or other economic factors. We attempt to recover anticipated increases in the cost of labor, equipment, fuel and materials through price escalation provisions that allow us to adjust billing rates for certain major contracts annually; by considering the estimated effect of such increases when bidding or pricing new work; or by entering into back-to-back contracts with suppliers and subcontractors. However, the annual adjustment provided by certain contracts is typically subject to a cap and there can be an extended period of time between the impact of inflation on our costs and when billing rates are adjusted. In some cases, our actual cost increases have exceeded the contractual caps, and therefore negatively impacted our operations. We have been able to renegotiate some of our major contracts to address the increased costs on future work and will continue to address this with our customers going forward.

Item 3. Quantitative and Qualitative Disclosures About Market Risk

In the ordinary course of business, we are exposed to risks related to market conditions. These risks primarily include fluctuations in foreign currency exchange rates, interest rates and commodity prices. We may seek to manage these risks through the use of financial derivative instruments. These instruments have in the past included interest rate swaps and may in the future include foreign currency exchange contracts, interest rate swaps and hedges against commodity price fluctuations.

The carrying amounts for cash and cash equivalents, accounts receivable, short-term investments, short-term debt, accounts payable and accrued liabilities shown in the Condensed Consolidated Balance Sheets approximate fair value as of September 30, 2024, due to the generally short maturities of these items.

Our Revolving Credit Facility and Term Loan bear interest at a variable rate which exposes us to interest rate risk. From time to time, we may use certain derivative instruments to hedge our exposure to variable interest rates. As of September 30, 2024, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of September 30, 2024, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $5.4 million.

We do not execute transactions or use financial derivative instruments for trading or speculative purposes. We generally enter into transactions with counter-parties that are financial institutions as a means to limit significant exposure with any one party.

Item 4. Controls and Procedures

Disclosure Controls and Procedures

As of September 30, 2024, we carried out an evaluation, under the supervision and with the participation of our management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), of the effectiveness of the design and operation of our “disclosure controls and procedures”, as such term is defined under Exchange Act Rules 13a-15(e) and 15d-15(e).

Based on this evaluation, our CEO and CFO concluded that, as of September 30, 2024, the disclosure controls and procedures were effective at the reasonable assurance level to ensure that information required to be disclosed by us in the reports we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the rules and forms of the SEC, and accumulated and communicated to our management, including our CEO and CFO, as appropriate to allow timely decisions regarding required disclosure.

In designing and evaluating the disclosure controls and procedures, our management recognized that any controls and procedures, no matter how well designed and operated, can provide only reasonable assurance of achieving the desired control objectives. In reaching a reasonable level of assurance, our management necessarily was required to apply its judgment in evaluating the cost-benefit relationship of possible controls and procedures. Our disclosure controls and procedures are designed to provide reasonable assurance of achieving their stated objectives.

36

Changes in Internal Control Over Financial Reporting

There were no changes to our internal control over financial reporting practices or processes that occurred during the quarter ended September 30, 2024 that materially affected, or are reasonably likely to materially affect, our internal control over financial reporting.

37

Part II. Other Information

Item 1. Legal Proceedings

See Note 13 — “Commitments and Contingencies”, included in the unaudited notes to our condensed consolidated financial statements included in item 1. Financial Statements of this Third Quarter 2024 Report.

Item 5. Other Information

None of our directors or officers (as defined in Rule 16a-1(f) under the Exchange Act) adopted or terminated a Rule 10b5-1 trading arrangement or a non-Rule 10b5-1 trading arrangement (as defined in Item 408(c) of Regulation S-K) during the quarterly period covered by this report.

Item 6. Exhibits

The following exhibits are filed as part of this Quarterly Report on Form 10-Q.

Exhibit
Number

    

Description

31.1

Rule 13a-14(a)/15d-14(a) Certification by the Registrant’s Chief Executive Officer (*)

31.2

Rule 13a-14(a)/15d-14(a) Certification by the Registrant’s Chief Financial Officer (*)

32.1

Section 1350 Certification by the Registrant’s Chief Executive Officer (**)

32.2

Section 1350 Certification by the Registrant’s Chief Financial Officer (**)

101 INS

Inline 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 SCH

Inline XBRL Taxonomy Extension Schema Document (*)

101 CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document (*)

101 LAB

Inline XBRL Taxonomy Extension Label Linkbase Document (*)

101 PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document (*)

101 DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document (*)

104

Cover Page Interactive Data File (formatted as Inline XBRL and contained in Exhibit 101)

(*)

Filed herewith.

(**)

Furnished herewith.

38

SIGNATURES

Pursuant to the requirements of the Securities Exchange Act of 1934, the Registrant has duly caused this report to be signed on its behalf by the undersigned, thereunto duly authorized.

PRIMORIS SERVICES CORPORATION

Date: November 4, 2024

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

39

EX-31.1 2 prim-20240930xex31d1.htm EX-31.1

Exhibit 31.1

RULE 13a-14(a)/15d-14(a) CERTIFICATION PURSUANT TO

SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Thomas E. McCormick, certify that:

1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2024, of Primoris Services Corporation;

2.Based on my knowledge, this Quarterly 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 Quarterly Report;

3.Based on my knowledge, the financial statements, and other financial information included in this Quarterly 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 Quarterly Report;

4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this Quarterly 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 Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and

(d)Disclosed in this Quarterly Report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 4, 2024

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-31.2 3 prim-20240930xex31d2.htm EX-31.2

Exhibit 31.2

RULE 13a-14(a)/15d-14(a) CERTIFICATION PURSUANT TO

SECTION 302 OF THE SARBANES-OXLEY ACT OF 2002

I, Kenneth M. Dodgen, certify that:

1.I have reviewed this Quarterly Report on Form 10-Q for the period ended September 30, 2024, of Primoris Services Corporation;

2.Based on my knowledge, this Quarterly 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 Quarterly Report;

3.Based on my knowledge, the financial statements, and other financial information included in this Quarterly 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 Quarterly Report;

4.The registrant’s other certifying officer and I are responsible for establishing and maintaining disclosure controls and procedures (as defined in Exchange Act Rules 13a-15(e) and 15d-15(e)) and internal control over financial reporting (as defined in Exchange Act Rules 13a-15(f) and 15d-15(f)) for the registrant and have:

(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this Quarterly 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 Quarterly Report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this Quarterly Report based on such evaluation; and

(d)Disclosed in this Quarterly Report any change in the registrant’s internal control over financial reporting that occurred during the registrant’s most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, the registrant’s internal control over financial reporting; and

5.The registrant’s other certifying officer and I have disclosed, based on our most recent evaluation of internal control over financial reporting, to the registrant’s auditors and the audit committee of the registrant’s board of directors (or persons performing the equivalent functions):

(a)All significant deficiencies and material weaknesses in the design or operation of internal control over financial reporting which are reasonably likely to adversely affect the registrant’s ability to record, process, summarize and report financial information; and

(b)Any fraud, whether or not material, that involves management or other employees who have a significant role in the registrant’s internal control over financial reporting.

Date: November 4, 2024

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-32.1 4 prim-20240930xex32d1.htm EX-32.1

Exhibit 32.1

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section 1350)

In connection with the Quarterly Report of Primoris Services Corporation (the “Company”) on Form 10-Q for the period ended September 30, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Thomas E. McCormick, Chief Executive Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

1.

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

2.

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

In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.

Date: November 4, 2024

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

1


EX-32.2 5 prim-20240930xex32d2.htm EX-32.2

Exhibit 32.2

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002 (18 U.S.C. Section 1350)

In connection with the Quarterly Report of Primoris Services Corporation (the “Company”) on Form 10-Q for the period ended September 30, 2024, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Kenneth M. Dodgen, Executive Vice President, Chief Financial Officer of the Company, certify, pursuant to 18 U.S.C. Section 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002, that, to my knowledge:

1.

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

2.

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

In witness whereof, the undersigned has executed and delivered this certificate as of the date set forth opposite his signature below.

Date: November 4, 2024

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

1


EX-101.SCH 6 prim-20240930.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 995200500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 99940201 - Disclosure - Basis of Presentation - Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisition - PLH (Details) link:presentationLink link:calculationLink link:definitionLink 99940403 - Disclosure - Revenue - Contract assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940404 - Disclosure - Revenue - Contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940503 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 99940601 - Disclosure - Accounts Payable and Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940701 - Disclosure - Credit Arrangements (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) - Cal2 link:presentationLink link:calculationLink link:definitionLink 99941001 - Disclosure - Dividends and Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 99941201 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 995210101 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 995210301 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 995210501 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 995210601 - Disclosure - Accounts Payable and Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 995210701 - Disclosure - Credit Arrangements link:presentationLink link:calculationLink link:definitionLink 995210901 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 995211001 - Disclosure - Dividends and Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 995211101 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 995211301 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 995211401 - Disclosure - Reportable Segments link:presentationLink link:calculationLink link:definitionLink 99920202 - Disclosure - Basis of Presentation (Policies) link:presentationLink link:calculationLink link:definitionLink 99930303 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 99930503 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 99930603 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 99930703 - Disclosure - Credit Arrangements (Tables) link:presentationLink link:calculationLink link:definitionLink 99931003 - Disclosure - Dividends and Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 99931403 - Disclosure - Reportable Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 99940101 - Disclosure - Nature of Business (Details) link:presentationLink link:calculationLink link:definitionLink 99940202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details) link:presentationLink link:calculationLink link:definitionLink 99940203 - Disclosure - Basis of Presentation - Customer concentration (Details) link:presentationLink link:calculationLink link:definitionLink 99940301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 99940401 - Disclosure - Revenue - Performance obligations (Details) link:presentationLink link:calculationLink link:definitionLink 99940402 - Disclosure - Revenue - Performance obligations - Details (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Revenue - Performance obligations - Details Default (Details) link:presentationLink link:calculationLink link:definitionLink 99940405 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) link:presentationLink link:calculationLink link:definitionLink 99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 99940502 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 99940702 - Disclosure - Credit Arrangements - Narratives (Details) link:presentationLink link:calculationLink link:definitionLink 99940703 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) link:presentationLink link:calculationLink link:definitionLink 99940801 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 99940802 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) link:presentationLink link:calculationLink link:definitionLink 99940901 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 99941101 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 99941102 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) link:presentationLink link:calculationLink link:definitionLink 99941301 - Disclosure - Commitments and Contingencies - Legal (Details) link:presentationLink link:calculationLink link:definitionLink 99941401 - Disclosure - Reportable Segments (Details) link:presentationLink link:calculationLink link:definitionLink 99941402 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 995200090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 995210201 - Disclosure - Basis of Presentation link:presentationLink link:calculationLink link:definitionLink 995210401 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 995210801 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 995211201 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 99930203 - Disclosure - Basis of Presentation (Tables) link:presentationLink link:calculationLink link:definitionLink 99930403 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 99930803 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 99931203 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 7 prim-20240930_cal.xml EX-101.CAL EX-101.DEF 8 prim-20240930_def.xml EX-101.DEF EX-101.LAB 9 prim-20240930_lab.xml EX-101.LAB EX-101.PRE 10 prim-20240930_pre.xml EX-101.PRE XML 12 R1.htm IDEA: XBRL DOCUMENT v3.24.3
Document and Entity Information - shares
9 Months Ended
Sep. 30, 2024
Oct. 28, 2024
Document and Entity Information    
Document Type 10-Q  
Document Quarterly Report true  
Document Period End Date Sep. 30, 2024  
Document Transition Report false  
Securities Act File Number 001-34145  
Entity Registrant Name Primoris Services Corporation  
Entity Incorporation, State or Country Code DE  
Entity Tax Identification Number 20-4743916  
Entity Address, Address Line One 2300 N. Field Street, Suite 1900  
Entity Address, City or Town Dallas  
Entity Address, State or Province TX  
Entity Address, Postal Zip Code 75201  
City Area Code 214  
Local Phone Number 740-5600  
Title of 12(b) Security Common Stock, $0.0001 par value  
Trading Symbol PRIM  
Security Exchange Name NYSE  
Entity Current Reporting Status Yes  
Entity Interactive Data Current Yes  
Entity Filer Category Large Accelerated Filer  
Entity Small Business false  
Entity Emerging Growth Company false  
Entity Shell Company false  
Entity Common Stock, Shares Outstanding   53,713,084
Entity Central Index Key 0001361538  
Current Fiscal Year End Date --12-31  
Document Fiscal Year Focus 2024  
Document Fiscal Period Focus Q3  
Amendment Flag false  
XML 13 R2.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Current assets:    
Cash and cash equivalents $ 352,657 $ 217,778
Accounts receivable, net 941,011 685,439
Contract assets 805,923 846,176
Prepaid expenses and other current assets 122,961 135,840
Total current assets 2,222,552 1,885,233
Property and equipment, net 484,426 475,929
Operating lease assets 447,589 360,507
Intangible assets, net 212,555 227,561
Goodwill 857,650 857,650
Other long-term assets 15,521 20,547
Total assets 4,240,293 3,827,427
Current liabilities:    
Accounts payable 489,052 628,962
Contract liabilities 657,101 366,476
Accrued liabilities 386,267 263,492
Dividends payable 3,223 3,202
Current portion of long-term debt 76,751 72,903
Total current liabilities 1,612,394 1,335,035
Long-term debt, net of current portion 826,998 885,369
Noncurrent operating lease liabilities, net of current portion 327,297 263,454
Deferred tax liabilities 59,490 59,565
Other long-term liabilities 56,119 47,912
Total liabilities 2,882,298 2,591,335
Commitments and contingencies (See Note 13)
Stockholders' equity    
Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,712,733 and 53,366,327 issued and outstanding as of September 30, 2024, and December 31, 2023, respectively 6 6
Additional paid-in capital 281,563 275,846
Retained earnings 1,078,288 961,028
Accumulated other comprehensive income (1,862) (788)
Total stockholders' equity 1,357,995 1,236,092
Total liabilities and stockholders' equity $ 4,240,293 $ 3,827,427
XML 14 R3.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Sep. 30, 2024
Dec. 31, 2023
Stockholders' equity    
Common stock, par value (in dollars per share) $ 0.0001 $ 0.0001
Common stock, shares authorized 90,000,000 90,000,000
Common stock, shares issued 53,712,733 53,366,327
Common stock, shares outstanding 53,712,733 53,366,327
XML 15 R4.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
CONDENSED CONSOLIDATED STATEMENTS OF INCOME        
Revenue $ 1,649,086 $ 1,529,486 $ 4,625,508 $ 4,199,760
Cost of revenue 1,450,525 1,355,591 4,106,861 3,768,869
Gross profit 198,561 173,895 518,647 430,891
Selling, general and administrative expenses 98,106 84,404 286,812 247,984
Transaction and related costs 905 1,084 1,977 4,677
Operating income 99,550 88,407 229,858 178,230
Other income (expense):        
Foreign exchange gain (loss), net 553 (1) 1,874 1,301
Other income, net 61 467 16 1,540
Interest expense, net (17,859) (21,065) (52,984) (56,443)
Income before provision for income taxes 82,305 67,808 178,764 124,628
Provision for income taxes (23,869) (19,664) (51,842) (36,142)
Net income $ 58,436 $ 48,144 $ 126,922 $ 88,486
Dividends per common share (in dollars per share) $ 0.06 $ 0.06 $ 0.18 $ 0.18
Earnings per share:        
Basic (in dollars per share) 1.09 0.90 2.37 1.66
Diluted (in dollars per share) $ 1.07 $ 0.89 $ 2.33 $ 1.63
Weighted average common shares outstanding:        
Basic (in shares) 53,692 53,339 53,608 53,275
Diluted (in shares) 54,675 54,351 54,562 54,171
XML 16 R5.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME        
Net Income (Loss) $ 58,436 $ 48,144 $ 126,922 $ 88,486
Other comprehensive income (loss), net of tax:        
Foreign currency translation adjustments 818 (1,440) (1,074) 53
Comprehensive income $ 59,254 $ 46,704 $ 125,848 $ 88,539
XML 17 R6.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY - USD ($)
$ in Thousands
Common Stock
Additional Paid-in Capital
Retained Earnings
Accumulated Other Comprehensive Income
Total
Balance at Dec. 31, 2022 $ 6 $ 263,771 $ 847,681 $ (2,620) $ 1,108,838
Balance (in shares) at Dec. 31, 2022 53,124,899        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     88,486   88,486
Foreign currency translation adjustments, net of tax       53 53
Issuance of shares, net of issuance costs   1,742     1,742
Issuance of shares, net of issuance costs (in shares) 65,023        
Conversion of stock based awards, net of shares withheld for taxes   (1,668)     (1,668)
Conversion of stock based awards, net of shares withheld for taxes (in shares) 162,689        
Stock-based compensation   8,955     8,955
Dividends declared     (9,598)   (9,598)
Balance at Sep. 30, 2023 $ 6 272,800 926,569 (2,567) 1,196,808
Balance (in shares) at Sep. 30, 2023 53,352,611        
Balance at Jun. 30, 2023 $ 6 269,031 881,628 (1,127) 1,149,538
Balance (in shares) at Jun. 30, 2023 53,328,873        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     48,144   48,144
Foreign currency translation adjustments, net of tax       (1,440) (1,440)
Issuance of shares, net of issuance costs   479     479
Issuance of shares, net of issuance costs (in shares) 15,074        
Conversion of stock based awards, net of shares withheld for taxes   (278)     (278)
Conversion of stock based awards, net of shares withheld for taxes (in shares) 8,664        
Stock-based compensation   3,568     3,568
Dividends declared     (3,203)   (3,203)
Balance at Sep. 30, 2023 $ 6 272,800 926,569 (2,567) 1,196,808
Balance (in shares) at Sep. 30, 2023 53,352,611        
Balance at Dec. 31, 2023 $ 6 275,846 961,028 (788) 1,236,092
Balance (in shares) at Dec. 31, 2023 53,366,327        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     126,922   126,922
Foreign currency translation adjustments, net of tax       (1,074) (1,074)
Issuance of shares, net of issuance costs   1,960     1,960
Issuance of shares, net of issuance costs (in shares) 46,201        
Conversion of stock based awards, net of shares withheld for taxes   (6,591)     (6,591)
Conversion of stock based awards, net of shares withheld for taxes (in shares) 300,205        
Stock-based compensation   10,348     10,348
Dividends declared     (9,662)   (9,662)
Balance at Sep. 30, 2024 $ 6 281,563 1,078,288 (1,862) 1,357,995
Balance (in shares) at Sep. 30, 2024 53,712,733        
Balance at Jun. 30, 2024 $ 6 278,830 1,023,075 (2,680) 1,299,231
Balance (in shares) at Jun. 30, 2024 53,672,740        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     58,436   58,436
Foreign currency translation adjustments, net of tax       818 818
Issuance of shares, net of issuance costs   564     564
Issuance of shares, net of issuance costs (in shares) 11,357        
Conversion of stock based awards, net of shares withheld for taxes   (1,819)     (1,819)
Conversion of stock based awards, net of shares withheld for taxes (in shares) 28,636        
Stock-based compensation   3,988     3,988
Dividends declared     (3,223)   (3,223)
Balance at Sep. 30, 2024 $ 6 $ 281,563 $ 1,078,288 $ (1,862) $ 1,357,995
Balance (in shares) at Sep. 30, 2024 53,712,733        
XML 18 R7.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY        
Cash dividend declared (in dollars per share) $ 0.06 $ 0.06 $ 0.18 $ 0.18
XML 19 R8.htm IDEA: XBRL DOCUMENT v3.24.3
CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Cash flows from operating activities:    
Net income $ 126,922 $ 88,486
Adjustments to reconcile net income to net cash provided by (used in) operating activities (net of effect of acquisitions):    
Depreciation and amortization 72,948 81,454
Stock-based compensation expense 10,348 8,955
Gain on sale of property and equipment (38,490) (29,603)
Unrealized loss (gain) on interest rate swap 1,202 (3,001)
Other non-cash items 3,286 1,546
Changes in assets and liabilities:    
Accounts receivable (263,175) (185,815)
Contract assets 39,517 (128,360)
Other current assets (7,076) 32,961
Other long-term assets (1,045) 633
Accounts payable (139,074) (34,855)
Contract liabilities 290,636 106,042
Operating lease assets and liabilities, net (3,903) 3,114
Accrued liabilities 106,551 51,182
Other long-term liabilities 11,407 114
Net cash provided by (used in) operating activities 210,054 (7,147)
Cash flows from investing activities:    
Purchase of property and equipment (98,338) (82,500)
Proceeds from sale of assets 97,447 47,579
Cash paid for acquisitions, net of cash and restricted cash acquired   9,300
Net cash (used in) investing activities (891) (25,621)
Cash flows from financing activities:    
Borrowings under revolving lines of credit   440,223
Payments on revolving lines of credit   (420,223)
Payments on long-term debt (55,878) (66,055)
Payments related to tax withholding for stock-based compensation (6,591) (1,637)
Dividends paid (9,641) (9,582)
Other (1,912) (2,749)
Net cash used in financing activities (74,022) (60,023)
Effect of exchange rate changes on cash, cash equivalents and restricted cash (400) 346
Net change in cash, cash equivalents and restricted cash 134,741 (92,445)
Cash, cash equivalents and restricted cash at beginning of the period 223,542 258,991
Cash, cash equivalents and restricted cash at end of the period 358,283 166,546
SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION    
Cash paid for interest 49,831 57,351
Cash paid for income taxes, net of refunds received 15,462 (6,622)
Leased assets obtained in exchange for new operating leases 177,675 181,328
SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES    
Dividends declared and not yet paid $ 3,223 $ 3,203
XML 20 R9.htm IDEA: XBRL DOCUMENT v3.24.3
Nature of Business
9 Months Ended
Sep. 30, 2024
Nature of Business  
Nature of Business

Note 1—Nature of Business

Organization and operationsPrimoris Services Corporation is one of the leading providers of infrastructure services operating mainly in the United States and Canada. We provide a wide range of construction, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments.

We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.

We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.

Reportable Segments — Our current reportable segments are the Utilities segment and the Energy segment. See Note 14 – “Reportable Segments” for a brief description of the reportable segments and their operations.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

XML 21 R10.htm IDEA: XBRL DOCUMENT v3.24.3
Basis of Presentation
9 Months Ended
Sep. 30, 2024
Basis of Presentation  
Basis of Presentation

Note 2—Basis of Presentation

Interim condensed consolidated financial statements The interim condensed consolidated financial statements for the three and nine months ended September 30, 2024 and 2023 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 27, 2024, which contains our audited consolidated financial statements for the year ended December 31, 2023, have been omitted.

This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. 

Reclassification Certain previously reported amounts have been reclassified to conform to the current year presentation.

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30, 

    

2024

    

2023

Cash and cash equivalents

$

352,657

$

160,736

Restricted cash included in prepaid expenses and other current assets

5,626

5,810

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

358,283

$

166,546

    

    

December 31,

    

2023

    

2022

Cash and cash equivalents

$

217,778

$

248,692

Restricted cash included in prepaid expense and other current assets

5,764

10,299

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

223,542

$

258,991

Accounts Receivable Securitization Facility — In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association (“PNC”) to improve cash flows from trade accounts receivable. In July 2024, we renewed the Facility for a two-year term, added Regions Bank (“Regions”) to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Fees associated with the Facility for the three and nine months ended September 30, 2024, were $1.3 million and $4.0 million, respectively, and are included in interest expense in the Condensed Consolidated Statements of Income. Fees associated with the Facility for the three and nine months ended September 30, 2023, were $0.5 million and are included in interest expense in the Condensed Consolidated Statements of Income.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC and Regions up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Condensed Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. The SPE owned $232.1 million of trade accounts receivable as of September 30, 2024, which are included in Accounts receivable, net on the Condensed Consolidated Balance Sheets. For the nine months ended September 30, 2024 and 2023, we received $10.0 million and $65.0 million, respectively, in cash proceeds from the Facility, and repaid $10.0 million and $0, respectively, to the Facility, which are included in cash from operating activities in the Condensed Consolidated Statements of Cash Flows. As of September 30, 2024, we had $75.0 million available capacity under the Facility.

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 35% to 45% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2024, approximately 41.9% and 40.9%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

Recently Issued Accounting Pronouncements

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” which changes the accounting and reporting of segment disclosure requirements primarily through enhanced disclosure about significant segment expenses in accordance with FASB Accounting Standards Codification 280, Segment Reporting. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively on or after the effective date. We adopted the new standard on January 1, 2024, on a prospective basis. This ASU will likely result in us including additional required disclosures in the financial statement footnotes in our annual report on form 10-K commencing with the year ending December 31, 2024, but is not expected to have an effect on our consolidated financial position, results of operations or cash flows.

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” that requires presentation of specific categories of reconciling items, as well reconciling items that meet a quantitative threshold, in the reconciliation between the income tax provision and the income tax provision using statutory tax rates. The standard also requires disclosure of income taxes paid disaggregated by jurisdiction with separate disclosure of income taxes paid to individual jurisdictions that meet a quantitative threshold. ASU No. 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively; however, entities have the option to apply retrospectively for each period presented. We do not expect the adoption of this new standard in 2025 to have an impact on our consolidated financial position, results of operations or cash flows.

XML 22 R11.htm IDEA: XBRL DOCUMENT v3.24.3
Fair Value Measurements
9 Months Ended
Sep. 30, 2024
Fair Value Measurements  
Fair Value Measurements

Note 3—Fair Value Measurements

ASC Topic 820, “Fair Value Measurements and Disclosures” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.

In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value as of September 30, 2024 and December 31, 2023 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2024:

Cash and cash equivalents

$

352,657

 

$

 

$

Interest rate swap

431

Assets as of December 31, 2023:

Cash and cash equivalents

217,778

 

 

Interest rate swap

1,633

Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The

carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities.

The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 8 – “Derivative Instruments” for additional information.

XML 23 R12.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue
9 Months Ended
Sep. 30, 2024
Revenue from Contract with Customer [Abstract]  
Revenue

Note 4—Revenue

We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. For the nine months ended September 30, 2024 and 2023, $3,191.7 million, and $2,781.1 million, respectively, of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we cannot reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.

We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606, Revenue from Contracts with Customers, defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.

As of September 30, 2024, we had $5.9 billion of remaining performance obligations. We expect to recognize 58.0% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.

Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and pandemics may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected.

The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price

are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time.

Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.

As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended September 30, 2024, revenue was negatively impacted by $10.4 million as a result of changes in estimates associated with performance obligations satisfied prior to June 30, 2024. In the nine months ended September 30, 2024, revenue was negatively impacted by $18.0 million as a result of changes in estimates associated with performance obligations satisfied prior to December 31, 2023. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods.

As of September 30, 2024, we had approximately $223.9 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $207.9 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2024.

In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.

The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability.

The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:

unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;

retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and

contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating to the cost incurred to a specific project.

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Unbilled revenue

$

533,852

$

604,166

Retention receivable

227,105

202,358

Contract materials (not yet installed)

 

44,966

 

39,652

$

805,923

$

846,176

Contract assets decreased by $40.3 million compared to December 31, 2023, primarily due to lower unbilled revenue partially offset by higher retention receivable.

The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:

deferred revenue, which arises when billings are in excess of revenue recognized to date; and

the accrued loss provision.

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Deferred revenue

$

655,215

$

363,159

Accrued loss provision

 

1,886

 

3,317

$

657,101

$

366,476

Contract liabilities increased by $290.6 million compared to December 31, 2023, due to higher deferred revenue.

Revenue recognized for the nine months ended September 30, 2024, that was included in the contract liability balance as of December 31, 2023, was approximately $321.1 million.

The following tables present our revenue disaggregated into various categories.

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

552,741

 

$

113,499

 

$

666,240

Energy

72,295

938,563

1,010,858

Intersegment eliminations

(20)

(27,992)

(28,012)

Total

$

625,016

 

$

1,024,070

 

$

1,649,086

For the nine months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,430,696

$

344,266

$

1,774,962

Energy

243,013

2,688,915

2,931,928

Intersegment eliminations

(258)

(81,124)

(81,382)

Total

$

1,673,451

 

$

2,952,057

 

$

4,625,508

For the three months ended September 30, 2023

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

505,728

 

$

144,936

 

$

650,664

Energy

78,825

808,918

887,743

Intersegment eliminations

(768)

(8,153)

(8,921)

Total

$

583,785

 

$

945,701

 

$

1,529,486

For the nine months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

1,359,495

$

474,170

$

1,833,665

Energy

223,181

2,170,933

2,394,114

Intersegment eliminations

(5,385)

(22,634)

(28,019)

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

88,167

 

$

437,493

 

$

140,580

 

$

666,240

Energy

608,899

179,403

222,556

1,010,858

Intersegment eliminations

(27,748)

(128)

(136)

(28,012)

Total

$

669,318

 

$

616,768

 

$

363,000

 

$

1,649,086

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

268,738

$

1,122,898

$

383,326

$

1,774,962

Energy

1,751,605

486,792

693,531

2,931,928

Intersegment eliminations

(79,233)

(1,893)

(256)

(81,382)

Total

$

1,941,110

 

$

1,607,797

 

$

1,076,601

 

$

4,625,508

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2023

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

107,024

 

$

411,636

 

$

132,004

 

$

650,664

Energy

536,975

168,237

182,531

887,743

Intersegment eliminations

(1,660)

(5,444)

(1,817)

(8,921)

Total

$

642,339

 

$

574,429

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

294,709

1,146,601

$

392,355

$

1,833,665

Energy

1,551,536

448,456

394,122

2,394,114

Intersegment eliminations

(7,719)

(17,309)

(2,991)

(28,019)

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.

Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.

XML 24 R13.htm IDEA: XBRL DOCUMENT v3.24.3
Goodwill and Intangible Assets
9 Months Ended
Sep. 30, 2024
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

Note 5—Goodwill and Intangible Assets

The carrying amount of goodwill by reportable segment was as follows (in thousands):

September 30, 

December 31, 

Reporting Segment

    

2024

    

2023

Utilities

 

$

703,462

$

703,462

Energy

 

 

154,188

 

154,188

Total Goodwill

$

857,650

$

857,650

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2024

December 31, 2023

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

19,220

$

(17,692)

$

1,528

$

19,220

$

(15,799)

$

3,421

Customer relationships

 

295,977

 

(84,950)

 

211,027

 

295,977

 

(71,837)

 

224,140

Total

$

315,197

$

(102,642)

$

212,555

$

315,197

$

(87,636)

$

227,561

Amortization expense of intangible assets was $4.7 million and $5.2 million for the three months ended September 30, 2024, and 2023, respectively, and $15.0 million and $16.6 million for the nine months ended September 30, 2024 and 2023, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024 (remaining three months)

$

4,658

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,110

$

212,555

XML 25 R14.htm IDEA: XBRL DOCUMENT v3.24.3
Accounts Payable and Accrued Liabilities
9 Months Ended
Sep. 30, 2024
Accounts Payable and Accrued Liabilities  
Accounts Payable and Accrued Liabilities

Note 6—Accounts Payable and Accrued Liabilities

As of September 30, 2024, and December 31, 2023, accounts payable included retention amounts of approximately $40.7 million and $24.7 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs.

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Payroll and related employee benefits

$

162,412

$

108,618

Current operating lease liability

115,743

96,411

Casualty insurance reserves

 

15,658

 

18,015

Corporate income taxes and other taxes

 

67,051

 

14,203

Other

 

25,403

 

26,245

$

386,267

$

263,492

XML 26 R15.htm IDEA: XBRL DOCUMENT v3.24.3
Credit Arrangements
9 Months Ended
Sep. 30, 2024
Credit Arrangements  
Credit Arrangements

Note 7—Credit Arrangements

Long-term debt and credit facilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Term loan

$

838,692

$

874,128

Revolving credit facility

Commercial equipment notes

51,230

71,004

Mortgage notes

 

18,943

 

19,615

Total debt

908,865

964,747

Unamortized debt issuance costs

(5,116)

(6,475)

Total debt, net

$

903,749

$

958,272

Less: current portion

 

(76,751)

 

(72,903)

Long-term debt, net of current portion

$

826,998

$

885,369

The weighted average interest rate on total debt outstanding as of September 30, 2024 and December 31, 2023 was 6.1% and 6.8%, respectively.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. As of September 30, 2024, commercial letters of credit outstanding were $52.8 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $272.2 million as of September 30, 2024.

The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement as of September 30, 2024

On January 31, 2023, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 1.75% as of September 30, 2024. The interest rate swap matures on January 31, 2025. See Note 8 – “Derivative Instruments”.

Canadian Credit Facilities

We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. As of September 30, 2024, commercial letters of credit outstanding were $1.0 million in Canadian dollars and there were no outstanding borrowings. Available capacity as of September 30, 2024 was $13.0 million in Canadian dollars.

XML 27 R16.htm IDEA: XBRL DOCUMENT v3.24.3
Derivative Instruments
9 Months Ended
Sep. 30, 2024
Derivative Instruments  
Derivative Instruments

Note 8—Derivative Instruments

We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.

Interest Rate Risk. We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on January 31, 2023, with a notional amount of $300.0 million. The swap was not designated as a hedge for accounting purposes. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2024, and December 31, 2023, our outstanding interest rate swap agreement contained a notional amount of $300.0 million maturing on January 31, 2025.

Credit Risk. By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2024

2023

Interest rate swap

 

Other current assets

$

431

$

Interest rate swap

Other long-term assets

1,633

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of (Loss) Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2024

    

2023

2024

    

2023

Interest rate swap

 

Interest expense, net

$

(426)

$

1,307

$

1,825

$

6,904

Cash flows from derivatives settled are reported as cash flows from operating activities.

XML 28 R17.htm IDEA: XBRL DOCUMENT v3.24.3
Income Taxes
9 Months Ended
Sep. 30, 2024
Income Taxes  
Income Taxes

Note 9—Income Taxes

We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.

The effective tax rate on income for the nine months ended September 30, 2024, and 2023 is 29.0%. For the nine months of 2024 and 2023, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses.

Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2020. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2018.

Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length

of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.

XML 29 R18.htm IDEA: XBRL DOCUMENT v3.24.3
Dividends and Earnings Per Share
9 Months Ended
Sep. 30, 2024
Dividends and Earnings Per Share  
Dividends and Earnings Per Share

Note 10—Dividends and Earnings Per Share

We paid cash dividends during 2024 and 2023 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

November 2, 2023

December 29, 2023

January 12, 2024

0.06

February 21, 2024

March 28, 2024

April 15, 2024

0.06

May 1, 2024

June 28, 2024

July 15, 2024

0.06

July 31, 2024

September 27, 2024

October 11, 2024

0.06

The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2024 and 2023 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

    

2023

    

2024

    

2023

Numerator:

Net income

$

58,436

$

48,144

$

126,922

$

88,486

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,692

 

53,339

 

53,608

 

53,275

Dilutive effect of stock-based awards

 

983

 

1,012

 

954

 

896

Weighted average shares for computation of diluted earnings per share

 

54,675

 

54,351

 

54,562

 

54,171

Earnings per share:

Basic

$

1.09

$

0.90

$

2.37

$

1.66

Diluted

$

1.07

$

0.89

$

2.33

$

1.63

XML 30 R19.htm IDEA: XBRL DOCUMENT v3.24.3
Stockholders' Equity
9 Months Ended
Sep. 30, 2024
Stockholders' Equity  
Stockholders' Equity

Note 11—Stockholders’ Equity

Common stock

We issued 11,359 and 21,245 shares of common stock in the nine months ended September 30, 2024, and 2023, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million in both the nine months ended September 30, 2024, and 2023. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2024, were a portion of bonus amounts earned in 2023, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2023. The shares purchased in the nine months ended September 30, 2023, were for bonus amounts earned in 2022, and the number of shares was calculated based on 75% of the average daily closing market price during December 2022.

During the three months ended September 30, 2024, and 2023, we issued 4,920 and 8,856 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During

the nine months ended September 30, 2024, and 2023, we issued 19,304 and 31,240 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.

During the three and nine months ended September 30, 2024, a total of 28,636 and 300,205 restricted and performance stock units, net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 8,664 and 162,689 restricted stock units, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2023, respectively.

Employee Stock Purchase Plan

In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”), for which eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2024, 6,437 shares were purchased at an average discounted purchase price of $45.14 per share. For the nine months ended September 30, 2024, 15,538 shares were purchased at an average discounted purchase price of $39.51 per share. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share.

Share Purchase Plan

In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In November 2023, our Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024. During the nine months ended September 30, 2024 and 2023, we did not purchase any shares of common stock.

XML 31 R20.htm IDEA: XBRL DOCUMENT v3.24.3
Leases
9 Months Ended
Sep. 30, 2024
Leases  
Leases

Note 12—Leases

We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in “Operating lease assets”, “Accrued liabilities”, and “Noncurrent operating lease liabilities, net of current portion” on our Condensed Consolidated Balance Sheets. We also made an accounting policy election in which leases with an initial term of 12 months or less are not recorded on the balance sheet and lease payments are recognized in the Condensed Consolidated Statements of Income on a straight-line basis over the lease term.

Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. For our leases that do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.

Our leases have remaining lease terms that expire at various dates through 2034, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

2023

    

2024

2023

Operating lease expense (1)

$

38,156

$

31,370

$

109,926

$

79,352

________________________________________

(1)Includes short-term leases which are immaterial.

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2024

2023

Accrued liabilities

$

115,743

$

96,411

Noncurrent operating lease liabilities, net of current portion

 

327,297

 

263,454

$

443,040

$

359,865

XML 32 R21.htm IDEA: XBRL DOCUMENT v3.24.3
Commitments and Contingencies
9 Months Ended
Sep. 30, 2024
Commitments and Contingencies.  
Commitments and Contingencies

Note 13—Commitments and Contingencies

Legal proceedings We are subject to claims and legal proceedings from time to time arising out of our business. We accrue for loss contingencies when we conclude that a loss from such claims or legal proceedings is probable and the amount is reasonably estimable. When only a range of amounts is reasonably estimable and no amount within the range is more likely than another, the low end of the range is recorded. While the ultimate amount of liability incurred in any of these matters is dependent on future developments, in our opinion, the recorded liability is adequate to cover the future payment of such liability and claims. Any adjustments to the recorded liability will be reflected in earnings in the periods in which such adjustments become known. In determining whether it is possible to provide a reasonably estimable amount of possible loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential loss contingency, but the matter, if potentially material, is disclosed below.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings, and unfavorable or unexpected outcomes could result in additional expense that could be significant to results of operations in a particular year or quarter. However, after taking into consideration relevant factors concerning these matters, management believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding — As of September 30, 2024 and December 31, 2023, we had bid and completion bonds issued and outstanding totaling approximately $7.4 billion and $5.9 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.9 billion and $2.7 billion as of September 30, 2024, and December 31, 2023, respectively.

XML 33 R22.htm IDEA: XBRL DOCUMENT v3.24.3
Reportable Segments
9 Months Ended
Sep. 30, 2024
Reportable Segments  
Reportable Segments

Note 14—Reportable Segments

Our current reportable segments are the Utilities segment and the Energy segment.

Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.

The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.

The following is a brief description of our reportable segments:

The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.

The Energy segment operates throughout the United States and Canada and specializes in a range of services that include engineering, procurement, construction, refining, site development services for data centers, liquified natural gas plant construction, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.

Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280, Segment Reporting, does not review or allocate resources based on segment assets.

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

666,240

 

$

650,664

Energy

1,010,858

887,743

Intersegment eliminations

(28,012)

(8,921)

Total

$

1,649,086

 

$

1,529,486

For the nine months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

1,774,962

 

$

1,833,665

Energy

2,931,928

2,394,114

Intersegment eliminations

(81,382)

(28,019)

Total

$

4,625,508

 

$

4,199,760

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

87,026

 

13.1%

$

64,654

 

9.9%

Energy

111,535

11.0%

109,241

12.3%

Total

$

198,561

 

12.0%

$

173,895

 

11.4%

For the nine months ended September 30, 

2024

2023

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

177,666

 

10.0%

$

164,244

 

9.0%

Energy

340,981

11.6%

266,647

11.1%

Total

$

518,647

 

11.2%

$

430,891

 

10.3%

Segment Goodwill

The amount of goodwill recorded by each segment as of September 30, 2024 and December 31, 2023 is presented in Note 5 – “Goodwill and Intangible Assets”.

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 4.9% and 5.6% generated from sources outside of the United States during the nine months ended September 30, 2024 and 2023, respectively, principally in Canada. As of September 30, 2024 and December 31, 2023, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.

XML 34 R23.htm IDEA: XBRL DOCUMENT v3.24.3
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Pay vs Performance Disclosure        
Net Income (Loss) $ 58,436 $ 48,144 $ 126,922 $ 88,486
XML 35 R24.htm IDEA: XBRL DOCUMENT v3.24.3
Insider Trading Arrangements
3 Months Ended
Sep. 30, 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.3
Basis of Presentation (Policies)
9 Months Ended
Sep. 30, 2024
Basis of Presentation  
Restricted cash

Restricted cash Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30, 

    

2024

    

2023

Cash and cash equivalents

$

352,657

$

160,736

Restricted cash included in prepaid expenses and other current assets

5,626

5,810

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

358,283

$

166,546

    

    

December 31,

    

2023

    

2022

Cash and cash equivalents

$

217,778

$

248,692

Restricted cash included in prepaid expense and other current assets

5,764

10,299

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

223,542

$

258,991

Accounts Receivable Securitization Facility

Accounts Receivable Securitization Facility — In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association (“PNC”) to improve cash flows from trade accounts receivable. In July 2024, we renewed the Facility for a two-year term, added Regions Bank (“Regions”) to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Fees associated with the Facility for the three and nine months ended September 30, 2024, were $1.3 million and $4.0 million, respectively, and are included in interest expense in the Condensed Consolidated Statements of Income. Fees associated with the Facility for the three and nine months ended September 30, 2023, were $0.5 million and are included in interest expense in the Condensed Consolidated Statements of Income.

Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC and Regions up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Condensed Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. The SPE owned $232.1 million of trade accounts receivable as of September 30, 2024, which are included in Accounts receivable, net on the Condensed Consolidated Balance Sheets. For the nine months ended September 30, 2024 and 2023, we received $10.0 million and $65.0 million, respectively, in cash proceeds from the Facility, and repaid $10.0 million and $0, respectively, to the Facility, which are included in cash from operating activities in the Condensed Consolidated Statements of Cash Flows. As of September 30, 2024, we had $75.0 million available capacity under the Facility.

Customer concentration

Customer concentration — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 35% to 45% of total revenue; however, the companies that comprise the top ten customers vary from year to year.

For the three and nine months ended September 30, 2024, approximately 41.9% and 40.9%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

For the three and nine months ended September 30, 2023, approximately 44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” which changes the accounting and reporting of segment disclosure requirements primarily through enhanced disclosure about significant segment expenses in accordance with FASB Accounting Standards Codification 280, Segment Reporting. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively on or after the effective date. We adopted the new standard on January 1, 2024, on a prospective basis. This ASU will likely result in us including additional required disclosures in the financial statement footnotes in our annual report on form 10-K commencing with the year ending December 31, 2024, but is not expected to have an effect on our consolidated financial position, results of operations or cash flows.

In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures” that requires presentation of specific categories of reconciling items, as well reconciling items that meet a quantitative threshold, in the reconciliation between the income tax provision and the income tax provision using statutory tax rates. The standard also requires disclosure of income taxes paid disaggregated by jurisdiction with separate disclosure of income taxes paid to individual jurisdictions that meet a quantitative threshold. ASU No. 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively; however, entities have the option to apply retrospectively for each period presented. We do not expect the adoption of this new standard in 2025 to have an impact on our consolidated financial position, results of operations or cash flows.

XML 37 R26.htm IDEA: XBRL DOCUMENT v3.24.3
Basis of Presentation (Tables)
9 Months Ended
Sep. 30, 2024
Basis of Presentation  
Schedule of reconciliation of cash, cash equivalents and restricted cash The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):

September 30, 

    

2024

    

2023

Cash and cash equivalents

$

352,657

$

160,736

Restricted cash included in prepaid expenses and other current assets

5,626

5,810

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

358,283

$

166,546

    

    

December 31,

    

2023

    

2022

Cash and cash equivalents

$

217,778

$

248,692

Restricted cash included in prepaid expense and other current assets

5,764

10,299

Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows

$

223,542

$

258,991

XML 38 R27.htm IDEA: XBRL DOCUMENT v3.24.3
Fair Value Measurements (Tables)
9 Months Ended
Sep. 30, 2024
Fair Value Measurements  
Schedule of financial assets and liabilities which are required to be measured at fair value

The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value as of September 30, 2024 and December 31, 2023 (in thousands):

Fair Value Measurements at Reporting Date

    

    

Significant

    

Quoted Prices

Other

Significant

in Active Markets

Observable

Unobservable

for Identical Assets

Inputs

Inputs

    

(Level 1)

    

(Level 2)

    

(Level 3)

Assets as of September 30, 2024:

Cash and cash equivalents

$

352,657

 

$

 

$

Interest rate swap

431

Assets as of December 31, 2023:

Cash and cash equivalents

217,778

 

 

Interest rate swap

1,633

XML 39 R28.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue (Tables)
9 Months Ended
Sep. 30, 2024
Revenue from Contract with Customer [Abstract]  
Schedule of contract assets

Contract assets consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Unbilled revenue

$

533,852

$

604,166

Retention receivable

227,105

202,358

Contract materials (not yet installed)

 

44,966

 

39,652

$

805,923

$

846,176

Schedule of contract liabilities

Contract liabilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Deferred revenue

$

655,215

$

363,159

Accrued loss provision

 

1,886

 

3,317

$

657,101

$

366,476

Schedule of revenue disaggregation by various categories

MSA and Non-MSA revenue was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

552,741

 

$

113,499

 

$

666,240

Energy

72,295

938,563

1,010,858

Intersegment eliminations

(20)

(27,992)

(28,012)

Total

$

625,016

 

$

1,024,070

 

$

1,649,086

For the nine months ended September 30, 2024

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,430,696

$

344,266

$

1,774,962

Energy

243,013

2,688,915

2,931,928

Intersegment eliminations

(258)

(81,124)

(81,382)

Total

$

1,673,451

 

$

2,952,057

 

$

4,625,508

For the three months ended September 30, 2023

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

505,728

 

$

144,936

 

$

650,664

Energy

78,825

808,918

887,743

Intersegment eliminations

(768)

(8,153)

(8,921)

Total

$

583,785

 

$

945,701

 

$

1,529,486

For the nine months ended September 30, 2023

Segment

MSA

Non-MSA

Total

Utilities

$

1,359,495

$

474,170

$

1,833,665

Energy

223,181

2,170,933

2,394,114

Intersegment eliminations

(5,385)

(22,634)

(28,019)

Total

$

1,577,291

 

$

2,622,469

 

$

4,199,760

Revenue by contract type was as follows (in thousands):

For the three months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

88,167

 

$

437,493

 

$

140,580

 

$

666,240

Energy

608,899

179,403

222,556

1,010,858

Intersegment eliminations

(27,748)

(128)

(136)

(28,012)

Total

$

669,318

 

$

616,768

 

$

363,000

 

$

1,649,086

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2024

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

268,738

$

1,122,898

$

383,326

$

1,774,962

Energy

1,751,605

486,792

693,531

2,931,928

Intersegment eliminations

(79,233)

(1,893)

(256)

(81,382)

Total

$

1,941,110

 

$

1,607,797

 

$

1,076,601

 

$

4,625,508

(1)Includes time and material and cost reimbursable plus fee contracts.

For the three months ended September 30, 2023

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

107,024

 

$

411,636

 

$

132,004

 

$

650,664

Energy

536,975

168,237

182,531

887,743

Intersegment eliminations

(1,660)

(5,444)

(1,817)

(8,921)

Total

$

642,339

 

$

574,429

 

$

312,718

 

$

1,529,486

(1)Includes time and material and cost reimbursable plus fee contracts.

For the nine months ended September 30, 2023

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

294,709

1,146,601

$

392,355

$

1,833,665

Energy

1,551,536

448,456

394,122

2,394,114

Intersegment eliminations

(7,719)

(17,309)

(2,991)

(28,019)

Total

$

1,838,526

 

$

1,577,748

 

$

783,486

 

$

4,199,760

(1)Includes time and material and cost reimbursable plus fee contracts.
XML 40 R29.htm IDEA: XBRL DOCUMENT v3.24.3
Goodwill and Intangible Assets (Tables)
9 Months Ended
Sep. 30, 2024
Goodwill and Intangible Assets  
Schedule of goodwill by reporting unit

The carrying amount of goodwill by reportable segment was as follows (in thousands):

September 30, 

December 31, 

Reporting Segment

    

2024

    

2023

Utilities

 

$

703,462

$

703,462

Energy

 

 

154,188

 

154,188

Total Goodwill

$

857,650

$

857,650

Summary of intangible asset categories, amounts and the average amortization periods

The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):

September 30, 2024

December 31, 2023

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

19,220

$

(17,692)

$

1,528

$

19,220

$

(15,799)

$

3,421

Customer relationships

 

295,977

 

(84,950)

 

211,027

 

295,977

 

(71,837)

 

224,140

Total

$

315,197

$

(102,642)

$

212,555

$

315,197

$

(87,636)

$

227,561

Schedule of estimated future amortization expense for intangible assets Estimated future amortization expense for intangible assets is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024 (remaining three months)

$

4,658

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,110

$

212,555

XML 41 R30.htm IDEA: XBRL DOCUMENT v3.24.3
Accounts Payable and Accrued Liabilities (Tables)
9 Months Ended
Sep. 30, 2024
Accounts Payable and Accrued Liabilities  
Summary of accrued liabilities

The following is a summary of accrued liabilities (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Payroll and related employee benefits

$

162,412

$

108,618

Current operating lease liability

115,743

96,411

Casualty insurance reserves

 

15,658

 

18,015

Corporate income taxes and other taxes

 

67,051

 

14,203

Other

 

25,403

 

26,245

$

386,267

$

263,492

XML 42 R31.htm IDEA: XBRL DOCUMENT v3.24.3
Credit Arrangements (Tables)
9 Months Ended
Sep. 30, 2024
Credit Arrangements  
Schedule of long-term debt and credit facilities

Long-term debt and credit facilities consist of the following (in thousands):

September 30, 

December 31, 

    

2024

    

2023

Term loan

$

838,692

$

874,128

Revolving credit facility

Commercial equipment notes

51,230

71,004

Mortgage notes

 

18,943

 

19,615

Total debt

908,865

964,747

Unamortized debt issuance costs

(5,116)

(6,475)

Total debt, net

$

903,749

$

958,272

Less: current portion

 

(76,751)

 

(72,903)

Long-term debt, net of current portion

$

826,998

$

885,369

XML 43 R32.htm IDEA: XBRL DOCUMENT v3.24.3
Derivative Instruments (Tables)
9 Months Ended
Sep. 30, 2024
Derivative Instruments  
Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets

The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):

    

    

    

September 30, 

    

December 31, 

Balance Sheet Location

2024

2023

Interest rate swap

 

Other current assets

$

431

$

Interest rate swap

Other long-term assets

1,633

Schedule of derivative instruments within the Condensed Consolidated Statements of Income

The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):

Three Months Ended

Nine Months Ended

Location of (Loss) Gain

September 30, 

September 30, 

    

Recognized on Derivatives

    

2024

    

2023

2024

    

2023

Interest rate swap

 

Interest expense, net

$

(426)

$

1,307

$

1,825

$

6,904

XML 44 R33.htm IDEA: XBRL DOCUMENT v3.24.3
Dividends and Earnings Per Share (Tables)
9 Months Ended
Sep. 30, 2024
Dividends and Earnings Per Share  
Schedule of cash dividends paid or declared

We paid cash dividends during 2024 and 2023 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 22, 2023

March 31, 2023

April 14, 2023

0.06

May 3, 2023

June 30, 2023

July 14, 2023

0.06

August 2, 2023

September 29, 2023

October 13, 2023

0.06

November 2, 2023

December 29, 2023

January 12, 2024

0.06

February 21, 2024

March 28, 2024

April 15, 2024

0.06

May 1, 2024

June 28, 2024

July 15, 2024

0.06

July 31, 2024

September 27, 2024

October 11, 2024

0.06

Schedule of computation of basic and diluted earnings per share

The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2024 and 2023 (in thousands, except per share amounts).

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

    

2023

    

2024

    

2023

Numerator:

Net income

$

58,436

$

48,144

$

126,922

$

88,486

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,692

 

53,339

 

53,608

 

53,275

Dilutive effect of stock-based awards

 

983

 

1,012

 

954

 

896

Weighted average shares for computation of diluted earnings per share

 

54,675

 

54,351

 

54,562

 

54,171

Earnings per share:

Basic

$

1.09

$

0.90

$

2.37

$

1.66

Diluted

$

1.07

$

0.89

$

2.33

$

1.63

XML 45 R34.htm IDEA: XBRL DOCUMENT v3.24.3
Leases (Tables)
9 Months Ended
Sep. 30, 2024
Leases  
Summary of components of lease expense

The components of lease expense are as follows (in thousands):

Three Months Ended September 30, 

Nine Months Ended September 30, 

2024

2023

    

2024

2023

Operating lease expense (1)

$

38,156

$

31,370

$

109,926

$

79,352

________________________________________

(1)Includes short-term leases which are immaterial.
Summary of operating lease liabilities

Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):

September 30, 

December 31, 

    

2024

2023

Accrued liabilities

$

115,743

$

96,411

Noncurrent operating lease liabilities, net of current portion

 

327,297

 

263,454

$

443,040

$

359,865

XML 46 R35.htm IDEA: XBRL DOCUMENT v3.24.3
Reportable Segments (Tables)
9 Months Ended
Sep. 30, 2024
Reportable Segments  
Schedule of revenue and gross profit by segment

Segment Revenue

Revenue by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

666,240

 

$

650,664

Energy

1,010,858

887,743

Intersegment eliminations

(28,012)

(8,921)

Total

$

1,649,086

 

$

1,529,486

For the nine months ended September 30, 

2024

2023

Segment

    

Revenue

    

Revenue

Utilities

$

1,774,962

 

$

1,833,665

Energy

2,931,928

2,394,114

Intersegment eliminations

(81,382)

(28,019)

Total

$

4,625,508

 

$

4,199,760

Segment Gross Profit

Gross profit by segment was as follows (in thousands):

For the three months ended September 30, 

2024

2023

    

    

% of

    

    

% of

Segment

Segment

Segment

Gross Profit

Revenue

Gross Profit

Revenue

Utilities

$

87,026

 

13.1%

$

64,654

 

9.9%

Energy

111,535

11.0%

109,241

12.3%

Total

$

198,561

 

12.0%

$

173,895

 

11.4%

For the nine months ended September 30, 

2024

2023

% of

% of

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Utilities

$

177,666

 

10.0%

$

164,244

 

9.0%

Energy

340,981

11.6%

266,647

11.1%

Total

$

518,647

 

11.2%

$

430,891

 

10.3%

XML 47 R36.htm IDEA: XBRL DOCUMENT v3.24.3
Nature of Business (Details)
9 Months Ended
Sep. 30, 2024
segment
Nature of Business  
Number of reportable segments 2
XML 48 R37.htm IDEA: XBRL DOCUMENT v3.24.3
Basis of Presentation - Restricted Cash (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Sep. 30, 2023
Dec. 31, 2022
Basis of Presentation        
Cash and cash equivalents $ 352,657 $ 217,778 $ 160,736 $ 248,692
Restricted cash included in prepaid expense and other current assets $ 5,626 $ 5,764 $ 5,810 $ 10,299
Restricted Cash, Statement of Financial Position [Extensible Enumeration] Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current
Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows $ 358,283 $ 223,542 $ 166,546 $ 258,991
XML 49 R38.htm IDEA: XBRL DOCUMENT v3.24.3
Basis of Presentation - Accounts Receivable Securitization Facility (Details) - USD ($)
$ in Millions
1 Months Ended 3 Months Ended 9 Months Ended
Jul. 31, 2024
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Accounts, Notes, Loans and Financing Receivable [Line Items]          
Facility term 2 years        
Accounts receivable from securitization   $ 75.0   $ 75.0  
Sale of accounts receivable       75.0  
Cash proceeds from facility       10.0 $ 65.0
Repayments to the facility       10.0 0.0
Accounts receivable securitization facility fee   1.3 $ 0.5 4.0 $ 0.5
Special Purpose Entity | Accounts receivable, net          
Accounts, Notes, Loans and Financing Receivable [Line Items]          
Trade accounts receivables   $ 232.1   $ 232.1  
Maximum          
Accounts, Notes, Loans and Financing Receivable [Line Items]          
Accounts receivable from securitization $ 150.0        
XML 50 R39.htm IDEA: XBRL DOCUMENT v3.24.3
Basis of Presentation - Customer concentration (Details)
3 Months Ended 9 Months Ended
Sep. 30, 2024
customer
Sep. 30, 2023
USD ($)
Sep. 30, 2024
customer
Sep. 30, 2023
USD ($)
customer
Customer concentration        
Number of top customers     10 10
Revenues | Customer concentration | Top ten customers [Member]        
Customer concentration        
Percentage of concentration risk 41.90% 44.10% 40.90% 38.20%
Number of customers 10 10 10 10
Revenues | Customer concentration | Top ten customers [Member] | Minimum        
Customer concentration        
Minimum percentage of revenues generated by top ten customers     35.00%  
Revenues | Customer concentration | Top ten customers [Member] | Maximum        
Customer concentration        
Minimum percentage of revenues generated by top ten customers     45.00%  
XML 51 R40.htm IDEA: XBRL DOCUMENT v3.24.3
Fair Value Measurements (Details) - Recurring - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Quoted Prices in Active Markets for Identical Assets (Level 1)    
Assets    
Cash and cash equivalents $ 352,657 $ 217,778
Interest rate swaps | Significant Other Observable Inputs (Level 2)    
Assets    
Derivative asset $ 431 $ 1,633
XML 52 R41.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue - Performance obligations (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Revenue expected timing        
Revenue $ 1,649,086 $ 1,529,486 $ 4,625,508 $ 4,199,760
Remaining performance obligations 5,900,000   5,900,000  
Revenue recognized from performance obligations satisfied in previous periods 10,400   (18,000)  
Amount of contract modifications included in the expected contract value. $ 223,900   223,900  
Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis     207,900  
Revenue recognized over time        
Revenue expected timing        
Revenue     $ 3,191,700 $ 2,781,100
XML 53 R42.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue - Performance obligations - Details (Details)
9 Months Ended
Sep. 30, 2024
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-10-01  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 12 months
Percentage of remaining performance obligation expected to be recognized in period 58.00%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-10-01 | Minimum [Member]  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 12 months
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-10-01 | Maximum [Member]  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 18 months
XML 54 R43.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue - Contract assets (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2024
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]    
Unbilled revenue $ 533,852 $ 604,166
Retention receivable 227,105 202,358
Contract materials (not yet installed) 44,966 39,652
Contract assets 805,923 $ 846,176
Increase (decrease) in contract assets $ 40,300  
XML 55 R44.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue - Contract liabilities (Details) - USD ($)
$ in Thousands
9 Months Ended
Sep. 30, 2024
Dec. 31, 2023
Revenue from Contract with Customer [Abstract]    
Deferred revenue $ 655,215 $ 363,159
Accrued loss provision 1,886 3,317
Contract liabilities 657,101 $ 366,476
Increase in contract liabilities 290,600  
Revenue recognized included in contract liability at beginning of period $ 321,100  
XML 56 R45.htm IDEA: XBRL DOCUMENT v3.24.3
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Disaggregation of Revenue        
Revenue $ 1,649,086 $ 1,529,486 $ 4,625,508 $ 4,199,760
Fixed price        
Disaggregation of Revenue        
Revenue 669,318 642,339 1,941,110 1,838,526
Unit price        
Disaggregation of Revenue        
Revenue 616,768 574,429 1,607,797 1,577,748
Cost reimbursable        
Disaggregation of Revenue        
Revenue 363,000 312,718 1,076,601 783,486
MSA        
Disaggregation of Revenue        
Revenue 625,016 583,785 1,673,451 1,577,291
Non-MSA        
Disaggregation of Revenue        
Revenue 1,024,070 945,701 2,952,057 2,622,469
Intersegment eliminations        
Disaggregation of Revenue        
Revenue (28,012) (8,921) (81,382) (28,019)
Intersegment eliminations | Fixed price        
Disaggregation of Revenue        
Revenue (27,748) (1,660) (79,233) (7,719)
Intersegment eliminations | Unit price        
Disaggregation of Revenue        
Revenue (128) (5,444) (1,893) (17,309)
Intersegment eliminations | Cost reimbursable        
Disaggregation of Revenue        
Revenue (136) (1,817) (256) (2,991)
Intersegment eliminations | MSA        
Disaggregation of Revenue        
Revenue (20) (768) (258) (5,385)
Intersegment eliminations | Non-MSA        
Disaggregation of Revenue        
Revenue (27,992) (8,153) (81,124) (22,634)
Utilities | Operating Segment        
Disaggregation of Revenue        
Revenue 666,240 650,664 1,774,962 1,833,665
Utilities | Operating Segment | Fixed price        
Disaggregation of Revenue        
Revenue 88,167 107,024 268,738 294,709
Utilities | Operating Segment | Unit price        
Disaggregation of Revenue        
Revenue 437,493 411,636 1,122,898 1,146,601
Utilities | Operating Segment | Cost reimbursable        
Disaggregation of Revenue        
Revenue 140,580 132,004 383,326 392,355
Utilities | Operating Segment | MSA        
Disaggregation of Revenue        
Revenue 552,741 505,728 1,430,696 1,359,495
Utilities | Operating Segment | Non-MSA        
Disaggregation of Revenue        
Revenue 113,499 144,936 344,266 474,170
Energy | Operating Segment        
Disaggregation of Revenue        
Revenue 1,010,858 887,743 2,931,928 2,394,114
Energy | Operating Segment | Fixed price        
Disaggregation of Revenue        
Revenue 608,899 536,975 1,751,605 1,551,536
Energy | Operating Segment | Unit price        
Disaggregation of Revenue        
Revenue 179,403 168,237 486,792 448,456
Energy | Operating Segment | Cost reimbursable        
Disaggregation of Revenue        
Revenue 222,556 182,531 693,531 394,122
Energy | Operating Segment | MSA        
Disaggregation of Revenue        
Revenue 72,295 78,825 243,013 223,181
Energy | Operating Segment | Non-MSA        
Disaggregation of Revenue        
Revenue $ 938,563 $ 808,918 $ 2,688,915 $ 2,170,933
XML 57 R46.htm IDEA: XBRL DOCUMENT v3.24.3
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Goodwill    
Goodwill $ 857,650 $ 857,650
Utilities    
Goodwill    
Goodwill 703,462 703,462
Energy    
Goodwill    
Goodwill $ 154,188 $ 154,188
XML 58 R47.htm IDEA: XBRL DOCUMENT v3.24.3
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Intangible assets          
Gross Carrying Amount $ 315,197   $ 315,197   $ 315,197
Accumulated Amortization (102,642)   (102,642)   (87,636)
Intangible assets, net 212,555   212,555   227,561
Amortization expense of intangible assets 4,700 $ 5,200 15,000 $ 16,600  
Tradenames          
Intangible assets          
Gross Carrying Amount 19,220   19,220   19,220
Accumulated Amortization (17,692)   (17,692)   (15,799)
Intangible assets, net 1,528   1,528   3,421
Customer relationships          
Intangible assets          
Gross Carrying Amount 295,977   295,977   295,977
Accumulated Amortization (84,950)   (84,950)   (71,837)
Intangible assets, net $ 211,027   $ 211,027   $ 224,140
XML 59 R48.htm IDEA: XBRL DOCUMENT v3.24.3
Goodwill and Intangible Assets - Future Amortization (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Estimated future amortization expense for intangible assets    
2024 (remaining three months) $ 4,658  
2025 17,661  
2026 16,141  
2027 15,604  
2028 14,381  
Thereafter 144,110  
Intangible assets, net $ 212,555 $ 227,561
XML 60 R49.htm IDEA: XBRL DOCUMENT v3.24.3
Accounts Payable and Accrued Liabilities (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Accounts Payable and Accrued Liabilities    
Retention amounts included in accounts payable $ 40,700 $ 24,700
Accrued liabilities    
Payroll and related employee benefits 162,412 108,618
Current operating lease liability 115,743 96,411
Casualty insurance reserves 15,658 18,015
Corporate income taxes and other taxes 67,051 14,203
Other 25,403 26,245
Total accrued liabilities $ 386,267 $ 263,492
XML 61 R50.htm IDEA: XBRL DOCUMENT v3.24.3
Credit Arrangements (Details) - USD ($)
$ in Thousands
Sep. 30, 2024
Dec. 31, 2023
Credit Agreements    
Total debt $ 908,865 $ 964,747
Unamortized debt issuance costs (5,116) (6,475)
Total debt, net 903,749 958,272
Less: current portion (76,751) (72,903)
Long-term debt, net of current portion 826,998 885,369
Term loan    
Credit Agreements    
Total debt 838,692 874,128
Commercial equipment notes    
Credit Agreements    
Total debt 51,230 71,004
Mortgage notes    
Credit Agreements    
Total debt $ 18,943 $ 19,615
XML 62 R51.htm IDEA: XBRL DOCUMENT v3.24.3
Credit Arrangements - Narratives (Details) - USD ($)
$ in Thousands
9 Months Ended
Aug. 01, 2022
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Jan. 31, 2023
Credit Agreements          
Weighted average interest rate (as a percent)   6.10%   6.80%  
Payments on long-term debt   $ (55,878) $ (66,055)    
Aggregate principal amount   903,749   $ 958,272  
Unamortized debt issuance costs   (5,116)   (6,475)  
Interest rate swaps          
Credit Agreements          
Notional Amount   300,000   $ 300,000  
Credit Agreement          
Credit Agreements          
Percentage of credit agreement, threshold restriction of total assets 20.00%        
Revolving line of credit          
Credit Agreements          
Maximum borrowing capacity $ 325,000        
Borrowings outstanding   0      
Available borrowing capacity   $ 272,200      
Term loan          
Credit Agreements          
Principal amount 945,000        
Term loan | Interest rate swaps          
Credit Agreements          
Notional Amount         $ 300,000
Derivative fixed interest rate (as a percent)         4.095%
Basis spread on variable rate (as a percent)   1.75%      
Commercial letters of credit          
Credit Agreements          
Maximum borrowing capacity $ 325,000        
Borrowings outstanding   $ 52,800      
XML 63 R52.htm IDEA: XBRL DOCUMENT v3.24.3
Credit Arrangements- Canadian Credit Facilities (Details)
$ in Millions
Sep. 30, 2024
CAD ($)
Canadian Credit Facility  
Credit Agreements  
Maximum borrowing capacity $ 14.0
Available borrowing capacity 13.0
Borrowings outstanding 0.0
Foreign letters of credit  
Credit Agreements  
Letters of credit outstanding $ 1.0
XML 64 R53.htm IDEA: XBRL DOCUMENT v3.24.3
Derivative Instruments (Details)
$ in Millions
9 Months Ended
Sep. 30, 2024
USD ($)
instrument
Dec. 31, 2023
USD ($)
Jan. 31, 2023
USD ($)
Derivative Instruments      
Number of instruments used for trading | instrument 0    
Interest rate swaps      
Derivative Instruments      
Notional Amount $ 300.0 $ 300.0  
Interest rate swaps | Second agreement      
Derivative Instruments      
Notional Amount     $ 300.0
XML 65 R54.htm IDEA: XBRL DOCUMENT v3.24.3
Derivative Instruments - Derivative contract and instruments (Details) - Interest rate swaps - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Derivative Instruments          
Derivative assets, current $ 431   $ 431    
Derivative Asset, Current, Statement of Financial Position [Extensible Enumeration] Prepaid Expense and Other Assets, Current   Prepaid Expense and Other Assets, Current    
Derivative assets, noncurrent         $ 1,633
Derivative Asset, Noncurrent, Statement of Financial Position [Extensible Enumeration]         Other Assets, Noncurrent
Amount of (gain) loss recognized on derivatives, net $ 426 $ (1,307) $ (1,825) $ (6,904)  
Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Interest Income (Expense), Nonoperating Interest Income (Expense), Nonoperating Interest Income (Expense), Nonoperating Interest Income (Expense), Nonoperating  
XML 66 R55.htm IDEA: XBRL DOCUMENT v3.24.3
Income Taxes (Details)
9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Income Taxes    
Effective income tax rate reconciliation (in percent) 29.00% 29.00%
U.S. federal statutory income tax rate (as a percent) 21.00% 21.00%
XML 67 R56.htm IDEA: XBRL DOCUMENT v3.24.3
Dividends and Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Jun. 30, 2024
Mar. 31, 2024
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Sep. 30, 2024
Sep. 30, 2023
Cash dividend declared (in dollars per share) $ 0.06       $ 0.06     $ 0.18 $ 0.18
Numerator:                  
Net Income (Loss) $ 58,436       $ 48,144     $ 126,922 $ 88,486
Denominator:                  
Weighted average shares for computation of basic earnings per share 53,692       53,339     53,608 53,275
Dilutive effect of stock-based awards 983       1,012     954 896
Weighted average shares for computation of diluted earnings per share 54,675       54,351     54,562 54,171
Earnings per share:                  
Basic earnings per share (in dollars per share) $ 1.09       $ 0.90     $ 2.37 $ 1.66
Diluted earnings per share (in dollars per share) $ 1.07       $ 0.89     $ 2.33 $ 1.63
Q1 2023 Dividends                  
Declaration Date             Feb. 22, 2023    
Record Date             Mar. 31, 2023    
Date Paid             Apr. 14, 2023    
Cash dividend declared (in dollars per share)             $ 0.06    
Q2 2023 Dividends                  
Declaration Date           May 03, 2023      
Record Date           Jun. 30, 2023      
Date Paid           Jul. 14, 2023      
Cash dividend declared (in dollars per share)           $ 0.06      
Q3 2023 Dividends                  
Declaration Date         Aug. 02, 2023        
Record Date         Sep. 29, 2023        
Date Paid         Oct. 13, 2023        
Cash dividend declared (in dollars per share)         $ 0.06        
Q4 2023 Dividends                  
Declaration Date       Nov. 02, 2023          
Record Date       Dec. 29, 2023          
Date Paid       Jan. 12, 2024          
Cash dividend declared (in dollars per share)       $ 0.06          
Q1 2024 Dividends                  
Declaration Date     Feb. 21, 2024            
Record Date     Mar. 28, 2024            
Date Paid     Apr. 15, 2024            
Cash dividend declared (in dollars per share)     $ 0.06            
Q2 2024 Dividends                  
Declaration Date   May 01, 2024              
Record Date   Jun. 28, 2024              
Date Paid   Jul. 15, 2024              
Cash dividend declared (in dollars per share)   $ 0.06              
Q3 2024 Dividends                  
Declaration Date Jul. 31, 2024                
Record Date Sep. 27, 2024                
Date Paid Oct. 11, 2024                
Cash dividend declared (in dollars per share) $ 0.06                
XML 68 R57.htm IDEA: XBRL DOCUMENT v3.24.3
Stockholders' Equity (Details) - USD ($)
$ in Millions
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Restricted and Performance Stock Units        
Common Stock        
Conversion of restricted and performance stock units, net of shares withheld for taxes (in shares) 28,636 8,664 300,205 162,689
LTR Plan        
Common Stock        
Shares of common stock issued under the long-term incentive plan 11,359     21,245
Amount received in exchange for shares of common stock under a long term incentive plan     $ 0.3 $ 0.3
Percentage of average market closing prices used in determining number of common stock that could be purchased by participants     75.00% 75.00%
Equity Plan | Share-Based Payment Arrangement, Nonemployee [Member]        
Common Stock        
Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors 4,920 8,856 19,304 31,240
XML 69 R58.htm IDEA: XBRL DOCUMENT v3.24.3
Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) - USD ($)
$ / shares in Units, $ in Millions
1 Months Ended 3 Months Ended 9 Months Ended
May 31, 2022
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Nov. 30, 2023
Nov. 30, 2021
Secondary Offering                
Common stock, par value (in dollars per share)   $ 0.0001   $ 0.0001   $ 0.0001    
Treasury Stock, Value [Abstract]                
Aggregate purchase price up to which shares can be acquired under share purchase program             $ 25.0 $ 25.0
Employee Stock Purchase Plan                
Employee Stock Purchase Plan                
Purchase price of stock 90.00%              
Purchase in annual report period 30 days              
Purchase of quarterly report period 30 days              
Shares of common stock issued under the long-term incentive plan   6,437 6,218 15,538 12,538      
Stock purchase price   $ 45.14 $ 29.86 $ 39.51 $ 25.85      
XML 70 R59.htm IDEA: XBRL DOCUMENT v3.24.3
Leases - Components of Lease Expense and Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Aggregate sales price, net of closing costs     $ 97,447 $ 47,579  
Lease, Cost [Abstract]          
Operating lease expense $ 38,156 $ 31,370 109,926 $ 79,352  
Operating lease liabilities          
Accrued liabilities $ 115,743   $ 115,743   $ 96,411
Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration] Accrued Liabilities, Current   Accrued Liabilities, Current   Accrued Liabilities, Current
Noncurrent operating lease liabilities, net of current portion $ 327,297   $ 327,297   $ 263,454
Operating lease liabilities $ 443,040   $ 443,040   $ 359,865
Maximum          
Renewal term 5 years   5 years    
XML 71 R60.htm IDEA: XBRL DOCUMENT v3.24.3
Commitments and Contingencies - Legal (Details) - USD ($)
$ in Billions
Sep. 30, 2024
Dec. 31, 2023
Commitments and Contingencies.    
Bid and completion bonds issued and outstanding $ 7.4 $ 5.9
Remaining performance obligation on the bonded projects. $ 2.9 $ 2.7
XML 72 R61.htm IDEA: XBRL DOCUMENT v3.24.3
Reportable Segments (Details)
$ in Thousands
3 Months Ended 9 Months Ended
Sep. 30, 2024
USD ($)
Sep. 30, 2023
USD ($)
Sep. 30, 2024
USD ($)
segment
Sep. 30, 2023
USD ($)
Segment reporting information        
Number of reportable segments | segment     2  
Revenue $ 1,649,086 $ 1,529,486 $ 4,625,508 $ 4,199,760
Gross Profit $ 198,561 $ 173,895 $ 518,647 $ 430,891
% of Segment Revenue 12.00% 11.40% 11.20% 10.30%
Intersegment eliminations        
Segment reporting information        
Revenue $ (28,012) $ (8,921) $ (81,382) $ (28,019)
Utilities | Operating Segment        
Segment reporting information        
Revenue 666,240 650,664 1,774,962 1,833,665
Gross Profit $ 87,026 $ 64,654 $ 177,666 $ 164,244
% of Segment Revenue 13.10% 9.90% 10.00% 9.00%
Energy | Operating Segment        
Segment reporting information        
Revenue $ 1,010,858 $ 887,743 $ 2,931,928 $ 2,394,114
Gross Profit $ 111,535 $ 109,241 $ 340,981 $ 266,647
% of Segment Revenue 11.00% 12.30% 11.60% 11.10%
XML 73 R62.htm IDEA: XBRL DOCUMENT v3.24.3
Reportable Segments - Revenue and Total Assets by Geographic Area (Details) - Non-United States
9 Months Ended 12 Months Ended
Sep. 30, 2024
Sep. 30, 2023
Dec. 31, 2023
Revenues and total assets by geographic area      
% of Revenue 4.90% 5.60%  
% of total assets 3.40%   3.90%
EXCEL 74 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( !6.9%D'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 " 5CF19S'L'&.X K @ $0 &1O8U!R;W!S+V-O&ULS9+/ M2L0P$(=?17)OITV+2.CFLN))07!!\1:2V=U@\X=DI-VWMZV[740?P&-F?OGF M&YA.1Z%#PN<4(B:RF&]&U_LL=-RP(U$4 %D?T:E<3@D_-?\?$S]0O,:, >'7K*4)Q[^ *F&&$R>7O IJ5N%3_Q"X=8.?DF.V:&H:A')HE-^U0P]O3X\NR;F%] M)N4U3K^R%72*N&&7R:_-]G[WP"2O>%O4=5&U.\Y%>R<:_CZ[_O"["KM@[-[^ M8^.+H.S@UUW(+U!+ P04 " 5CF19F5R<(Q & "<)P $P 'AL+W1H M96UE+W1H96UE,2YX;6SM6EMSVC@4?N^OT'AG]FT+QC:!MK03621A'^_1S80RY8-[9)-NIL\!"SI^\Y%1^?H.'GS[BYBZ(:(E/)X M8-DOV]:[MR_>X%#BVR]*+ M41B1%G\@M MNN01.+5)#3(3/PB=AIAJ4!P"I DQEJ&&^+3&K!'@$WVWO@C(WXV(]ZMOFCU7 MH5A)VH3X$$8:XIQSYG/1;/L'I4;1]E6\W*.76!4!EQC?-*HU+,76>)7 \:V< M/!T3$LV4"P9!AI@S M&L%&KQMUAVC2/'K^!?F<-0HACA*FNVB<5@$_9Y>PTG!Z(++9OVX?H;5,VPLCO='U!=*Y \FIS_I,C0' MHYI9";V$5FJ?JH,@H%\;D>/N5Z> HWEL:\4*Z">P'_T=HWPJOX@L Y M?RY]SZ7ON?0]H=*W-R-]9\'3BUO>1FY;Q/NN,=K7-"XH8U=RSTS0LS0[=R2^JVE+ZU)CA* M]+',<$X>RPP[9SR2';9WH!TU^_9==N0CI3!3ET.X&D*^ VVZG=PZ.)Z8D;D* MTU*0;\/YZ<5X&N(YV02Y?9A7;>?8T='[Y\%1L*/O/)8=QXCRHB'NH8:8S\-# MAWE[7YAGE<90-!1M;*PD+$:W8+C7\2P4X&1@+: '@Z]1 O)256 Q6\8#*Y"B M?$R,1>APYY=<7^/1DN/;IF6U;J\I=QEM(E(YPFF8$V>KRMYEL<%5'<]56_*P MOFH]M!5.S_Y9KF4Q9Z;RWRT,"2Q;B%D2XDU=[=7GFYRN>B)V^I=W MP6#R_7#)1P_E.^=?]%U#KG[VW>/Z;I,[2$R<><41 71% B.5' 86%S+D4.Z2 MD 83 >LX=SFWJXPD6L_UC6'ODRWSEPVSK> U[F M$RQ#I'[!?8J*@!&K8KZZKT_Y)9P[M'OQ@2";_-;;I/;=X Q\U*M:I60K$3]+ M!WP?D@9CC%OT-%^/%&*MIK&MQMHQ#'F 6/,,H68XWX=%FAHSU8NL.8T*;T'5 M0.4_V]0-:/8--!R1!5XQF;8VH^1."CS<_N\-L,+$CN'MB[\!4$L#!!0 ( M !6.9%E*NTQ6U@4 &PO=V]R:W-H965T&UL MM9EK,9QDM;3;-8;IY?M-P5DFUE 5(@X_O<] M AN25!Q<9OTE,9CS6H\DQ -<;*3ZFJZ%T.0E"N/TLK/6.OG0ZZ7>6D0\/96) MB.&;I501U["I5KTT48+[>5$4]ICC#'L1#^+.^"+?-U?C"YGI,(C%7)$TBR*N MMEF>('D8C30,9$B>5E9T(_ M3%UF"O(C_@C$)GWUF1B4)RF_FHV9?]EQ3(M$*#QM(CC\>Q93$88F"=KQSRZT M4_ZF*7S]>9]^F\,#S!-/Q52&?P:^7E]VSCK$%TN>A?I!;GX5.Z"!R?-DF.9_ MR:8XMM_O$"]+M8QVQ=""*(B+__QEUQ&O"ERWIH#M"MB[ EKW"^ZNP,U!BY;E M6-=<\_&%DANBS-&09C[D?9-7 TT0FV%<: 7?!E"GQ]?2RV!4-.&Q3VYB'>@M MF<7%]##=W"7IFBN17O0T_)JIZ7F[Y*LBF=4DGY./,M;K%%)]X;^M[T$KRZ:R M?5.O&!JX$,DI<9T3PAS6M[1GBI=_\O0I86>V\C?-<<_,\MUW/V3JL".S; M \T)^R%-N"L3]N$V$CQ5)Z&M>0 MYVC#=LOI@U@%J8:!U.2>1]:YBN?,51!)%:1D 0T,/.BSJ50P&>I6Z"D:UQ*: M.M6UV#D$>Q9[52M/R$+#>4JD@K9GL59;^.];^Z(A_?K&1HP7M45^I1_T$.1' M_D)F/IRWP3+P"O.HG]0-D5O&R0W@GO@_IZ"1S'8?YL=I30]PU#T-N\]0I7MB6LW(EBMO.>\[R?)XK^1S$GGW,\ABN/#<20_&:[Z6,>84#2&COM,=#&M6G&.8$ZW4B>*^ M\QAHL"6Y))3]^/03V:G4U@J))TUE%,$U:J&E]_6$?.^<.N!2).&*///0;O]X M8EOVRJ@HKD+@PWX0K\AB&SW)T(K%6LQ]$NWBV9^Y/^1[PWI893WL(.LQ]VU@]& "*ZFL M*U!#SAU7,-ADO+?B#7 @82 MP\-CZO&.83^LLA^&B\M^I7US:5_D3[_)ITR#R\;F"FHE_D9>L^N'(FV0IYGW M,,_C@3NBKG,&TOAL8ZP,B.'>LF>$%56!ZLUB7[R0WX1]&)L>'CG4'=*!>V9E M.(;ML,IV&"XK^\OE;9 :I?TBP,RP1YX-<=TN95W7>B>"5[8$=2O]<1L>ZNR? M=[XFO86=UA6V(:SN@2Y>UI:Q4B 7%Y;WC+M'V/64>-QGU\IX#/UQ*_UQ<5F9 M *!?0(;3O-GO5 MX<4KXH_<7"]3$HHEE#JG(UCP5/'6M=C0,LE?7#Y)K664?UP+[@ME#H#OEU+J M_8;Y@?+=]_A?4$L#!!0 ( !6.9%EY.5]\G 8 ,$: 8 >&PO=V]R M:W-H965T&ULK5E_;]LV$/TJA%=L+>#$(JF?:6(@C=.U0)<$ M=;K]S4A,+%0258EVDGWZ'65'LD2*3K$62",I=Z=W1Q[?(W7Z**KO]8ISB9[R MK*C/)BLIRY/9K(Y7/&?UL2AY 7^Y%U7.)-Q6#[.ZK#A+&J<\FQ''\6"8>SR9X\O+@:_JPDNK!;'Y:L@>^Y/); M>5/!W:R-DJ0Y+^I4%*CB]V>3-5"IW0GQ7-Y^3LXFC M$/&,QU*%8/!KPR]XEJE(@./'+NBD?:=RW+]^B?ZQ21Z2N6,UOQ#9/VDB5V>3 M<((2?L_6F?PJ'C_Q74*>BA>+K&[^1X\[6V>"XG4M1;YS!@1Y6FQ_LZ==(?8< ML#OB0'8.Y+4.=.?05&ZV1=:DM6"2S4\K\8@J90W1U$53F\8;LDD+-8Q+6<%? M4_"3\XOKJ\7EU?)R@>!J>?WE\^+\%FX^G'\YO[JX1,M/EY>W2W2$OBT7Z.V; M=^@-2@MTNQ+KFA5)?3J3@$%%FL6[]WW8OH^,O&_)RV-$G2DB#G$-[A=V]P6/ MP1TW[K3O/H/,V_1)FSYIXM&Q]-=5Q0N)6%US69^8\MD&<,T!5)>=U"6+^=D$ MVJCFU89/YK__AGWGO2F[7Q2LERMM4WH=12L)E3C_A><#K;[.>CFQ$";\?DM/M^*[Z;B)4L3Q)]@V:]YW0R_D"M>P=JR/_--R'T- M$B8D\H>5-9A1+W0=,_*@11Y8D=\*R;)7@ RTMQ/XYWED@%*WPV'H$4K-,,,6 M9GB@P$"HE7QN"JM:J@2*DZ.3-=10N*'K$G\ UF 6P)P9F:Q1BS6R8KT&I$RF MQ0/*.!"?I:B1_GX $$8#F+H9]1W/"MW&$?KN0O4 M&WX,H^\-D)KL2.#MS>4^U#WVQ%:H?PJ1/*999@2']9[V M]SAN .VO7!==R& MK70ROVX:/1/%PY'D56X9\%V@7GM #PU;W6!&',\=&_".F+"=F;;-;H%']0E) M7(=$PU748$A#$KAD#&+'2-A]E5#(4G:79JE,N5DM8"NS_:Q<^%71^DEW[(;M M]-;R<,F>%0D;$]:9RPTC1UN #78^"2.?C(Q,1W'8SG$M!^\-C1&H3E2@9T J M#('J=M3WW3$JQAVC83NE036K-4\.XM2IBH8^\8?2RV!'?.I&8P7M* W;.6V1 M;M*$@[JW#KO.491HJL9HY8PA[(@,VYGLI1E+435[07&_M\HE_,[,%3I=!7[@ M:<-O,".1,Z(32$=JQ$YJ?4%S8 X0G:^PCPF-W %:DR&EGD.]$;P=LQ$[LWWI M%;1A8%7GN%]Z(W@#GQ$_BL(A=H-=Z%%_1.:0O3V=G?>N1/$"4PPTSU[=?RHE MG?@H@6DQ[$F#G>I)SQU)J6-(8F?(!;_G@#)!DCT=G#PZ"7J1&PUEA]',\\4Q+YY&ZJ.0VCUG1GH,CS4F@8S-XCPR%)".HHC=HK;MN4AC#IWD3"$S9 V MI0V&7J0Z<@1GQW+D$,OE>2K5YF*[B8N!]6!:\R(&S.CMDG-T)21'F+XS9F"- M;A82R'B \?\#]2O0T2<)K IL*47\?26RA%?U'\U>2SX;4[6R\$\?V/RB:/VD M.RXF=BY6PPX$5ZO1,X9'Z0?6*56J'OY8K4:7_ M\N0]\N@TP&0:4-K,&;@%)3.%E0NE=:VD2',7,2FYD'0Q< P\VNU:1?MDX@$+M .$^25*WE MT-KJ_.,H+5#,RA1:W0A2IWP28L\?JAF3'6R+W1&XM-,&U*X-OG+)X%&".*L* M& ?SB9R!ZIT@A(5H>":G&T8^=LC(H1SM) &U2P(0L.M\G3')VT,DD<.T7ZE3 M_0U':0'W1K5(=:H_PJ$_W".8S()P#'>G!ZA=#VS7^/J5ZP*37M]^H$]$-9\V[98&C>+<_VOB^HCSM_L>HA+6K0 M5/?@Z1P'4(-J^[UD>R-%V7QRN!-2BKRY7'$&P)4!_/U> %?M;M17C/:KU?P_ M4$L#!!0 ( !6.9%FZQ(Q?G0( #@' 8 >&PO=V]R:W-H965T&ULK95M;YLP%(7_BL6FK96Z\):0K2-(*E2:?D0;'//\7,,V.&&\7N1 TCT6-!23*QO;%%QP)D1%=3V'">P"TQ**PK-V()'(:LE)24L.!)U46#^ M= :4;2:6:ST/W)!5+O6 '8457D$"\D>UX*IG=RX9*: 4A)6(PW)B3=W3.-#U MIN G@8W8:B.=Y(ZQ>]VYR":6HX& 0BJU U:7-<1 J392& ^MI]5-J87;[6?W M;R:[RG*'!<2,_B*9S"?69PMEL,0UE3=LHP&\%O@G:D)E8,RQQ%'*V05Q7*S?=,&MC MU"H-*?533"17=XG2R2B^OIK-KY+Y#*E6JL[9]')Z%<]1-W-^5VRI]MP1>MP2>\?/WX4B6WN>,9L#%1P0/-9%/?:$:EV&_ MB_[:3D6%4YA8ZG,2P-=@11_>N8'SM2_B?S+;">QW@?W7W*.8%87Z@H3.?8(J MS-$:TQK0$2E1QBC%7* *>/-\C_N6HO$?&W^]3ZPC9^ XCAO:Z^V0_RS;P1]V M^,,WX#N-_;]%[Q]A7X0^-ZXGS?H>(.W\ZI#0$A<9J1<]4$'AT+W%?9"VUO[FCY3 MOF.^(J5 %)9*Z@S&RH,W^W33D:PR6]T=DVKC-,U<'6W =8&ZOV1,/G?T[MD= MEM$?4$L#!!0 ( !6.9%D*#.1-+08 #P< 8 >&PO=V]R:W-H965T M&ULK5G;;N,V$/T5PET4"9#8(G6C4L? QM*V 9H+UMGN,V/3 MMK"RY(JTD_Y]1Y=8$DFK2=WB>F 5/>()G\O" M!8._/9_R)"D\03_^KIT.#FT6ANWK-^]?2O) YID)/LV2[_%"KJ\'=( 6?,EV MB?R:O?S!:T)NX6^>):+\12\UUAJ@^4[(;%,;0P\V<5K]L]VX);&Y341Q7W,G ADVPRSK,7E!=H\%9 M<5I,E)G,X6T,=G(R?;@/H_M9%"*XFCW\>1M^?H*;V1/\W47W3S/T\ 7=WD\? M[B)TB;[-0G3VZ1R)-"2A>T4CHWG=E9NJ*^1( M5VQTEZ5R+5"4+OC"8!_VVP<]]B,(RR$VY"TV-Z37X8QOA\BV+A"QB&/HS_3] MYK:)SL^U'OWOUCO!L \3Q2[]V3\_44Q#7SEWS,Z+;'@EMFS.KP>0[@3/]WPP M^?47[%F_F>)^2F?A*9U%)W+6&2'G,$).G_?)5[[GZ8Z;HE\9>J5A43KV$^PY M@46]\6C?#JP!YY+ 47&ACG,\XKH6[>(B PX'@>]9!UR'J7M@ZO8RG69"HFP) MA>HHX\J!VV;BN)9+7(6Q 6>[KAM@A;&.<[#E44_!13K.]CU*O<#,V#LP]GH9 M_YYG0J!MGBUC::+KZ30"ZJJ]FQI@ODT#)2BA#G,Q]1Q?X:K#'-NBK=!UJ/H' MJGXOU1F(ACA=7: 53WG.$@35!+$%U+Y8R)P5N@+Q5Q!*@AN+C*_U*J P5$HD M=!1U',M1 J&C"/4H)DH@###'#ZAC#@0]!(+V!N(I9ZE@M9Z"&.0\89(OT!QF MOY$YU9E;ZGS7,=BB*FT#*/#5T==!CM<"=2@'!\I!+^6'+2]&.%V!E)AG&^/* M#G26 :0>A:>.HM2Q% ZACB($UHV:QG08]BFQCV0Q;#7:R^JMJ0]RS?.:*CJK M)_7YE5$Z6:EAW#L%8?L!FXL44LQ\S=(51RO8;:&S M!/+O^05*N3']UCX[&=.UE2EI %VJ9<: P=17UF=D0MG6D;R+24.=]*^^UG0\ M3I5H;6MEQH"!W*!2U4'84XD:,*YS;-TU4A;WZK#);2HYS!WY5D>.D[4-0^93 M-U )&W $BHY:6$TX$%AJ HZ,.,]Q["/,&XF(^S7B;95KGOD2IGFA)_9QN>6' MV[<\)-FKN;#6KCLY%9*@6F$,,,^GJC0,#3"(K.]IH3#@"*A->B04C8;$_2+R M\6/D=6%W2>RVKJO9&W X\%1:H0D'(LM1I84)9WNXA>O2;P0E[E>4]USV%-G: MN*W<7>K8JHHRP!R*'8VL#L/$"XA&5L=!U6[M/KI<&T6)^R5E&._C!4\7H* A MP0'G#8QZ^0T#G4%R7V1)PO+J9?GTW!B2J@W:ZIPUU'3ENU"A$855V?%?J&XT M&EF)::_JB%B>@L1J\34KCEYU^F'%<4IOX4F]1:?RUAV/1O/B?M%[PT0\_\A$ MK-P%[=4TM+1$I*.L8:#.0QU$AK:J](T->D=6)6G4+^E56GTIGU9,\*([QZ9F8TT)OW2N+TH^SCK M4%B:]J02/,=M5= MCQ'F>JH\,,*PK^Y[1JW3D W/5^4QE( EMDME];W[\/1PU/6Y/.!1GM_@JRDV M/ _Q550=9#7NJW.U.Y:OXE2@A"^A*6OH0U_SZJBJNI'9MCR+>&PO=V]R:W-H965T&ULK59K3]LP%/TK5H8F)@%YMZ%K M(T$31"5:$ 7VV31NDY'8G>VV\.]WG830)J%"6[^TMG/.N0_?Y-[^AO$7$1,B MT6N64C'08BF7/5T7LYAD6)RQ):'P9,YXAB5L^4(72TYPE).R5+<,HZ-G.*&: MW\_/[KC?9RN9)I3<<21668;YVR5)V6:@F=K[P7VRB*4ZT/W^$B_(E,C'Y1V' MG5ZI1$E&J$@819S,!]J%V0N["I\#GA*R$5MKI")Y9NQ%;4;10#.40R0E,ZD4 M,/RMR9"DJ1("-_Z4FEIE4A&WU^_J5WGL$,LS%F3(TE]))..!YFDH(G.\2N4] MVUR3,AY7Z(=LX099A.2W^#+].M]O"^3_KX3]; MWTF&756(G>O9AZZ0MD(H3#GMIM0WL2>6>$8&&GST!.%KHOG?OYD=XV?;+1Q2 M+#BD6'@@L9W[O MK[<3W$0YGNDXNZB@B3*MSKEE[<+")LSS'._#Y$ZP;A6LN[XEVJ^B[>Z,?MA1G6Z3=YBMY;KDU_X9-E-/I&O57LHDR+7C! M:XD+FS#/<^WS6KSZUG21$;[(QSH!+]V*RJ*-5*?5Y'B1#TRU\TNS-S1;S@.8 M-(O!\$.^&%/'F"\2*E!*YF#*..O"Q?!B]"LVDBWSV>:929B4\F4,TS+A"@#/ MYXS)]XTR4,W?_E]02P,$% @ %8YD6>W@&K4N"@ -%H !@ !X;"]W M;W)K-\6:^*^F*R;)K-F^FTGB^S=5J_+C=9(?]S7U;KM)%OJX=IO:FR=-%5 M6J^FU'6#Z3K-B\GE>?>W#]7E>?G8K/(B^U Y]>-ZG59?WV6K\OEB0B;?_G"3 M/RR;]@_3R_--^I#=9LW'S8=*OION51;Y.BOJO"R<*KN_F+PE;X3/V@I=B7_G MV7-]\-IIN_*I+#^W;ZX6%Q.W;5&VRN9-*Y'*7T_9+%NM6B79CC]VHI-]S+;B MX>MOZJ+KO.S,I[3.9N7J/_FB65Y,HHFSR.[3QU5S4S[_FNTZY+=Z\W)5=S^= MYUU9=^+,'^NF7.\JRQ:L\V+[._VR&XB#"H0=J4!W%:A6@89'*K!=!:9'B(Y4 M\'85/*T"BX]4\'<5_%/[$.PJ!-W8;P>K&^DD;=++\ZI\=JJVM%1K7W1V=;7E M .=%.[-NFTK^-Y?UFLO9]?N$O[_EB2-?W5[_=I6\O9-O;N_DK]_Y^[M;YUK( M=]>S?_YZ_5O";V[_YO!_?;RZ^Z]SYGR\39R??WKE_.3DA7.W+!_KM%C4Y]-& MMJM5G\YW;7BW;0,]UH9RO9:3[+8IYY\MM6=P[;>+1=Y.TG3E?$CSQ9ELRRS= MY$VZLF@EL-9-ULC%F"THIXN@_/ITZ$U9@D:L# D:K'$+!9Y81!IQ;A9[(P&U%5+ M";,4(6X4L6A?3AD8MA\8=M+ _"PG4+U,JZQ^==(@;57]@^;XC% OBF-MK,#P M[1WD3;U)Y]G%1,Z6.JN>LLGE7_]" O?OMGF,*<8QQ022F.*AM_?0Z]39$0_E MXI*WUUJ:*&WK7KUJKTW=E659KA995?/5N2E7*T?>G9[3:F'SU4,< ME!FF6((IQC'%!)*8XKV_]]X'U^][N0W+CUU6VH=WHP"**1^'>HQ#TZ*JN'[N;G!S^ M[3UN[T;^[5_SLFZLFSA0>JPQH=$W$GI4VS9@1N288F*@^8HYT=Z<",>T1AT=%863W++T5X 6T_;74B7 M!B^4QLZY#,.;8=1@;<^6,!$&D+43,D!Q3 M3 RU7_&-N'U6[+ZP0>&Y\>/A POSU&D(;'RK-L])E/ T+T(4/E"*AJ'%5-8*FI5O8L@< P MX6"J_^.Q&+#/'Y[J9L9-@]AE.B>UE(LBN2TPKA=FN3-"J#'5S6*$>+%_#)62 M/M)% 8)+P\7:5FDA\%@;%: M48]DH*IQ5#6!I:8:WI,1"I.1,6P5EAJ]!DVVPGSC\PW4F!Q530SU0+6D)QP4 M)ARGL5589+09J J!"3P,JI_#"G11X+L_D+%:V M:BEG9:N6/,DOP3 WF)P6*J80=?QX AP7?!55A[M$N6 M(P-QH.^E46-R5#4QU /5HSZO9W!>CX97F9GD>@%U]3TZW)S1RP4UZT=5$UAJ MJK$]'6 P'7@9O H'';TJ+:EXX,?ZF0K4H!Q530QV0;6OIPD,I@DO#UB9F>DS MUZ6NKZ]8U&,A%0T<>E93 MXD'RQ$SB0B/B!TR?^68YN4&.J Z5N*7@&8GTP18V/>:'<7SDP+77 PL//M!P M F6U#I9G?GCOLY#0D.G'^N &C/XF+"IX0%436&JJE3UX\&#P<.0$J]T^,CC7 M/3,OIV$4,3T)LI0C+F5NJ&T,N*7@&0TB_>B.38_&,65']DA>#P2\TQZ$ !QA MM0^6F>_Z+ AIJ!\[FL$-&#W749-[5#6!I:9:V:,"C_TPSNJAD@-4M015C:.J M"2PU=0HDK@P93@NP@KK#W:(TO,:AG"-9TEPVYQ!W[&@GH% 5>.H:@)+336V!P,># 9>AJ_" M04>O24L63B*B'RI'#I#@O?2#'087K(TM!/JN8 :W<_2"13W* M@:HFL-349TOU9,2'R<@8O I+C5V&OLE66*RCHP0U)D=5$T,]4"WI"8C!A6#054[>I[BG_Q@R4%>Z \_6=)2Q I7+>7L M<-52T 97;7H07/5[2N'_J0=,#@^6[0F35K@*-V#T[$2E#:AJ DMM:^7TX/FY M[?.4?T^KA[RHG55V+^7=UZ$<^VK[B.+MFZ;<=(_4_50V3;GN7BZS=)%5;0'Y M__NR;+Z]:9_2NW]0].7_ 5!+ P04 " 5CF19?&HFMJ<" 3" & M 'AL+W=O>[%YB[>FO$'D0)( M\ECDI1@:J935P#1%G$)!18]54.+)G/&"2A3YPA05!YIH4)&;MF6=F 7-2L/W MM&[*?8\M99Z5,.5$+(N"\E\CR-EZ:/2-C>(V6Z12*4S?J^@"(I!WU92C9+8L M259 *3)6$@[SH7'6'X2NLM<&WS)8BZT]49G<,_:@A,MD:%@J(,@AEHJ!XK*" M,>2Y(L(P?C:<1NM2 ;?W&_9SG3OFF#EL Y.D&V W ?@YP7P X#<#9 MUX/; -Q]/1PW )VZ6>>N"Q=027V/LS7ARAK9U$977Z.Q7EFIWDDD.9YFB)/^ M>'(3A#=1&!#<19.KR^!LAD(TP^4ZO)E%9'*.TF3\Y6)R%82WT5L2?KV[G/T@ M[Z:40RE3D%E,\R/R@;PF)A$I:H5G2HQ->3#C)HY1'8?]0AP.N69()DA8)I!T MX(/=^$\[\";6I"V,O2G,R-Y)&$'5(X[UGMB6[7;$,]X?[G2E\W_>PW_V_J08 M3OM*',WG'/J5=#V$VI7;[4KUQ8&H: Q# QN? +X"PW_SJG]B?>ZZA4.2!8M:)9ZZV:[^/4=!EU#]]:A3^Q:BN@;G5Y0K@"SU>!(G9LI3U M4VZU[00[TXW[F7[4'XS['?H )UX]H/[0U^/RFO)%5@J2PQQ=6;V/V(1Y/8)J M0;)*]]A[)K%CZVV*4QNX,L#S.6-R(R@'[?\ _S=02P,$% @ %8YD62FW MG9]V" *R4 !@ !X;"]W;W)KMX0"S+&:R#*.D-+XMG#^GP4FSS.$KX0XJR[7H=I&_7 M/!;[JQ[NO3_X'KVLIV*-42H,V>5',33$:K(D2N8SS/(7_1C N'XYGTYO;Z?SV!L'5?'8_ MN1D]PLW\$7Z^W4X?YVAVA\:C^5_H[G[V]QSUT=/\!GWZ[3/Z#44)>ER);18D MB^QRD ,:J7,05F^^+M],.M[LHV\BR5<9NDT6?'$\?@!6U*:0=U.NB5'AG&^^ M(FI]0<0B3(-G_/'AU "'UC-+"WVT:V:#;(66$"896J9BC2#RTB"/DI?2=:,\ MXMF%;MI*M4RO5H;U1;8)0G[5@[C->+KCO>'O_\&.]8?.YC,I.YH!5L\ ,VD? M3B$+14DHUEQG9CG6*<;*9+,;8N+XA%P.=H<&J&*>QSRGECI"9M?(;./:C!;_ MA="";)1G*!>0CD*1A%',45)#EL_E72B7<9.*701>BI[?T*=M!A=1\EF[HNB3 M'"26B"^7D*GD51#^LXVR2&:M[+-VQ>USKOB9E!W-JU//JV-<\1L.2L,H*#-T MLD#!6J1Y]&_Q0&=YJK5>C]8QH_P1&1@ N"\!+P:G (\'[ M\K=BECDXV$9ZLPZSIZ#I4X_Y5@NT1HSXCD7UL/T:MF^$_91 ;1%'_\(J:,4.+5&4VXEL.519=QY..Q4@'T(8$L9D%9W7%%7,@[HZ4]T46 M;EK\.B[T#SBN@J^*48P[R@W<4"$VV<1NE*F=C['7, M,6EHCWR$]IK(^@5!8:=B1F=GS8IN%*1O5) MY2W1,*'O4=HNRG5R'K&M#L(D#6$2,V$^I"+D?%$MW7M]WLU'1&5$WV5,"1A5 MC+FVZW? ;8B3F(FS\+5-$"W04J1'O6F1-B7V(J+DQ,OZ/(W"7'9(Q3,IG;8W M:RJSSMK$$I6-?=JY5@T=$S,=U_FBR1&Z6-/:IR%?SV\G99T4L1W24>^0AJ*) M>U**6$9)D(0?21%&ZC]Y7!S(7Y@+EP2O:1_EJ)>*%7!V92[..#26M49I*PK&5=*(3PP[M*#AH4W!0 M<\M\$\EJ*5ED!1-H 6J:8-]A"D"=F-U5A-*#O7-S+5 4H5I]*&[.FOM[0+ JGX0YN'M;AU[;),%VW@&CG'LCJ#KN%]:N;]VWH_FK^& MQ:91N?,65AM($(O2L"^E>;+DVD$IDU3=5:L2T%JHZ;.9U=YFU$C1KETPVO Z M_0"OET9%_[<=*H5CRES5]354[Q/&NO)-0_7T%]WXA^&C($?/_"5*$NF L+00 M-0CJYDCH8UK3OA-J,\4'-7*VY_L=10QMZ)N:Z?LTRR _?< F3:\.^<=K]_0: M.>PXG1NPM&%KZAL+L_G3P\-]<50ZND9.LIW2 =5LH;+F9G+[WE1 M<51;8>(Y#T"@X*8ZT4OS$KX_V \IML^T1,541L>NZRB[Y#HY#U/B==C34#\S MGYN; FHZFQ8Q-9G^N)T_3J9_HM'T!MU-IJ/IN+@;/TY^3!XGMW.M:6<]63^7 MMN-I.CA;-U? MG:QY^E)\C9.A8L>[_&RC?EI_\3,JOG-I/;_&%^/RNYU&3?D9T;<@!7K+P%^7 MH-+ZZH*_I>67.>5-+C;%QRW/(L_%NKA<\0!:0RD _U\*D;_?R!?4WT<-_P=0 M2P,$% @ %8YD60.GR%_6! PPH !@ !X;"]W;W)KKZW[[ANB(.Y;;?Q)UH30'HD.YT? MGNVR?33X4]':;ST+CN3&VN_\\D=UDN5,B#25@1$D_N[HG+1F(-#X,6!FXY'L MN/V\0?\88TXQ76NWCKU@GV_E! M)LK>!]L.SF#0*I/^Y?V0ARV'_?PG#L7@4$3>Z:#(\D(&N3AV=BT<6P.-'V*H MT1ODE.&B+(/#KH)?6'R2H7^L_ 9R15;$B=%:\"+JF;BIU\(HJ\V'T%;V<,[3]1J*1=R2T-;4/,%:F'F1)#DVI MDU^C.@_AAD;T06D5'B;B(Z"L[R,%&EU'BU:W(3:+GR 6.DG40.9&JP M)!?Q;=N!(?FTA7,16$6== 'C('B.*CAI?&==B 2F3+1S]DY5B+G'T$%]5$E> M!"NDJ-#XSJN5HBJV, -L@L A/63K8 ;(.NU!SH[G!"C^.

+) M&=*-AU<#V*7T 7_+9").:T>4N/_"J2WRH\OE:7R:'_TZ$>M&E4W$J5QR^>\1"5!!'!9.=N.P7B!$2Y\1R424?(R\M^G MV8@-A5>8,"7#\5JLJ M)4H9:4HE=1);3/5$#)6ZI?KP?&M-SU>0C>=+_0:1TS^L MJ3 NHH$X5Q P'W0S=/%DNULYS8_4,94@F=0=C]2B$6"A,8L,O;-K@X!]?^-5 MI:1#EST6^9IB1]UH%)7JI->7UC;VK,42A?$Q_YO><'1'IJ=X<.TL2@0YK51( M^DL8,(K=A ;K>FC$0[NE-*R&@&^^Q_Z/7D$FMWV5'&P2&P\!/J25!G<&WIF* MS_V(Z['Q@(GC^+JRU19EY(&>0==SS)SRC=6M5< ?;9GE.!Q8X[$1.TU;[FA# MBXD$,>.33$,P,4>;^+8#GXB2L TH:-2F1*&0Z"7=QX&ZM(Z M="+DZEF2ON&I[Z 8'$3WN,QY'JR8P81<5316_Z6O MV&SK8H%TU/'ZA$K9WH1TQQA7QQO::;J8/)JGZ]VE=)CP7FA:P36??MC+A$M7 MIO02;!>O*3@*(B\^5Z5V%Z/"^_KM=.JR@BKI)J8FC2]K M8ROI\6HW4U=;DGE85)73-$F6TTHJ/;H\#V.W]O+<-+Y4FFZM<$U52?MX3:79 M7HQFHV[@3FT*SP/3R_-:;NB>_*_UK<7;M)>2JXJT4T8+2^N+T=7L[?6"YX<) M_U*T=8-GP9:LC/G(+Q_RBU'"@*BDS+,$B;\'NJ&R9$& \:F5.>I5\L+A9TH5?L8USTW0DLL9Y M4[6+@:!2.O[+SZT?!@M.DA<6I.V"-.".B@+*[Z67E^?6;(7EV9#&#\'4L!K@ ME.:@W'N+KPKK_.6U=,H)LQ:WEAQI+]E7YU,/T3QAFK5BKJ.8] 4QI^)'HWWA MQ#N=4[Z_?@I(/:ZTPW6=OBKPGNJ)F"=CD2;IXA5Y\][.>9 W_[MV1C&+PV*X M1-ZZ6F9T,:I9D'V@T>4W7\V6R=DK(!<]R,5KTK\+VNEIB=:P;V, M7PHHX+H1L^0?/PM7F*;,Q8H$,X=0FD7^WNA8FEOE"V$:*RKC/&9D$"FNM&Z@ MXXYJ8[W K$[:#Q-()\B(*'=PE(XDQ2*AO=&RR1403V"1\%AB:J7Y(PROI ;G M,/9Q^-1)VY.AL[+)R0E9ED+FOZ,:H['?LC^4\TIO6);F%27C;JSEL<'<[X2& M.O PRWY0IG'E M(T"Q^Q U69F&L1?R@1 '8DKMQ."S-QP15L:/#(:-X3@\DMQ'.P$ YZW*6&PF M7?$L^/^M?Y \FM%-C!!-\J,P#]S<>^T;,C]+Q\NAX M,()B'1_/E\^L:,,=LA/VUE+E@C[77 $N:#%PB^W] M?10%/W?S1>ILL#HR>S M1/QB/&+*RL;/(;,&^P02RF;+>1@"([S?_W_/8HA!G2V%] Y_Z1?%-!T=CP^/CX9CBQ.QLO3]*\$]*_$ M\WBY>#8Z2\;IZ>G_+:!I.D?XTN$(0GQZ.NM'KK(LUCO(@@!I51+*";8JK_Z( MK/%>9JI4_K%?\RO@1(;J/L&JEE* A D:;*@V.L!TS=W7%#CQMK&U00C?:<_HOV7X:7)V?_LN/,W.OA,9NDS R$N8)EENI%\TACH* MF(C?B$G/6^RZ$*S0"+ G-);&PXX7/ +I'#;VP9\VP]B?> 7\H-V:K M&65>H M.J9WJQ5>_80FI]:/H6T<\!<<<_O335AT1QN$#7VM[B@:^T!5-14;E!78FD)N M5:G0>()Q(A ^VAD#0-0^L&4#\&(+D<["RRWD.?XQFT1^4)R M2R_[S38TRQS[571)*WGCS:50<]M<<68!P#CZW.B,!/P9W7\X9VP 6AJ]@2KY M(%79^<9!MEL_QK@ H_*&G6U?-#OZ)2H)&7%((H/ZOSX0D6LK:D"W!?HX%J6DGUTSWM\M]L%<([Y MP#\X:R'Y=,XP5^ULWE&\J!+1\H.-0##W">B<=U!OCH\F"4X=91EB&OAHOR=S M+]ZE>ZS<-^D\G4GF&&2@LB*$?DCC5X=24%/8'[Y"J4]]^+[=B6GL MG+'I#"<7XI/+ 2C!,]RB@(E:O6SE+!GZ!G/>+ ?>&H=\IW#F+,&CO.-E)J^M MR8AR%\.^S[6Q880V=4!Z\E1DFZ"[]8==%M3&)*N):S$P#82$*OP/>]%$7+T< M.4)NY4^3IZ_:3.)HPL3=/&LWN^2^"2=?"F3+IP&[?T+IXN<+2Y'FOB22\' - M_X,S810:PF(V.?TZK%XD>'KJ7T[<4%_839-N2&R1K1O2[$1F_JYNO0$AHXRR M%G,D !"6T=0/=MG/"PT?="Q%TIPE7W?-=4_;Y.\9.W]J[.#P ']BX(-S#5:V M%<59<6N-QG,V.-(-]SR'#KC3P0O2C_17.5;RYV$V/]S\_ M2HO=@!,EK;$TF1P?C82-=RKQ!7X.]Q@KX^'2\%C@,$F6)^#[VF"7T+ZP@OYB MZ_+?4$L#!!0 ( !6.9%E^"([S8@4 #,/ 9 >&PO=V]R:W-H965T MF9V'NQD[/3.T+ MI>G&"E>7I;2K2RK,\KPWZJTGWJM%[GEB,#VKY()NR7^L;BR^!BU*IDK23ADM M+,W/>Q>CD\L)KP\+/BE:NLY8L"8S8^[XXSH[[PV9$!64>D:0>-W3%14% X'& MYP:SUV[)@MWQ&OU-T!VZS*2C*U/\H3*?G_>.>R*CN:P+_]XLWU*CSP'CI:9P MX2F6<6TRZ8FT=MZ4C3 8E$K'MWQH[- 1.!YN$4@:@23PCAL%EJ^EE],S:Y;" M\FJ@\2"H&J1!3FEVRJVW^*L@YZ=OI++BDRQJ$N](NMH2+.[=V< #G)<,T@;H M,@(E6X!^$N^,]KD3/^N,LL?R Y!JF25K9I?)3L!;JO;%>-@7R3"9[, ;MYJ. M ][X^S6-0).G@3A-3EPE4SKO(0\@"OX]')^*B]LK\<%4*A7X[H?I9'@JMHE)G8G7RJ6%X;D- MS+46"])D9=$7WM'$$ I$BH#$97*0DCG>!)SA9(S52BOR.U'ZCNV M3[K;9T@=41G%NOE<>B$M"3-CW\I902A9:8Z-'M/L P&XY+RPTE.TRDI1D2%Q M$13?0&*\)L'[-4:O=6?C#K'P>W0:M/U\0V,\AL.HW9HU&9I3M&^RWCOZ _W-3H*0KO1 ^< W) *+]@$ 2 M)C/S@+0)!9$K1(=-\Y4HV *N<>14!QR0"[U'!_4&,#Y+^X<$11DV-[HRNNX5%N*6L MGMR*EWXY/QF/OGGM][X?V?.KO/D_S;E^)Z.C_M'1\4[-O]/ H_[A>/SLZI@W MF\*EM/.VCOFKC4?UXNXF0F6AIH"F*-:89F/*-#4UK[6PJ@IITM],5G(5!()) MR'H9>F1J:\H>-T&4:72WIUDTC;I VZ@J:QY4R:;H5$D^[&;"!(:8=#DJSH_< MPX26'L4HP,,EUJZX$$4A<.>*71B]B&LSFOGN#N[)+5)35M(JA^%2^9P;J 5+ M[BGW$NH OVE3L=5RB2B,U"'RG"I5(:V _%WL#243;&S0;5GJ:[>C(6[I$K4+ MO2V(@1]%+=#6^NBH"MTMPPDH.B0TN9J-(C0XAC!%:J#-1EO30X5;2-OB>#G> M\&NHE_"[MVB_CKN67/?1R&+M0_YHVCE.'["%@N-J#]/\Q?PR-+W48ZI35N/1 MHM^<"%B7]48U0H&=\_P1IHL'Z\ ,I='8ICD(!6E0@YEOB40XT^>_@U02P,$ M% @ %8YD67 @0IV"$P _T$ !D !X;"]W;W)K&ULW5S9DMM&LOT51%O7(45 ;"PD2%I+A"1[8CP1GNNP[.N'&_-0!(HD M+!"@44 O_OHYF;6@0(*MEL;C65[4(( J9.5R\F06H)>W3?M![:7L@KM#5:M7 M5_NN.WYU?:WRO3P(-6N.LL:5;=,>1(>?[>Y:'5LI"AYTJ*Z3*,JN#Z*LKUZ_ MY'/?MZ]?-GU7E;7\O@U4?SB(]OZMK)K;5U?QE3WQ0[G;=W3B^O7+H]C)][+[ MZ?A]BU_7;I:B/,A:E4T=M'+[ZNI-_-7;.=W/-_Q?*6^5=QS02C9-\X%^?%N\ MNHI((%G)O*,9!/[RJF@BB/&KF?/*/9(&^L=V]C_QVK&6C5#R75/]7!;= M_M75ZBHHY%;T5?=#<_MG:=:SH/GRIE+\;W"K[YTOKX*\5UUS,(,AP:&L]5]Q M9_3@#5A%%P8D9D#"/PUA'"2)%:2 MM\F#$[Z7QUF01F&01,G\@?E2M[*4YTL?7EFP;9M#\ ZRMO :+?;!^]8K[(- M_O_-1O'YOTTI0,\_GYZ?HN4K=12Y?'6%<%"RO9%7K[_\(LZB%P](/W?2SQ^: M_2&[/#SPKTTG@_F77ZR2.'EA=4 _H_1%\+,,=K*6K< ]K;G6PWYM(()6U#L9 M--L@-[HJZUW0W1^E"H.RSJN^H!/;\DX6SX]MFQ<-9F/(H&2JJ^Y!D:OK6Z:I4B/@6UPKM5FX)D!RR M!BH'6M)=HI"_]E!$=4\0 4D+_;R.;@.4RN 6"A"$:T(U-11S'T@%'9)ENJ83 ME9L[N!%5/ZQ;C13G"=;*O-G5Y6^0K;F!#K1!%*,B7<^;P[&2'2YO9"YZQ;8F M1=)T9=TW, NFK16T[MP >-0U^BX;,T_A$V4N*DC<*W()K**LCWT7'+"6GK30 MPXA"L>T5^4[?MG@L)BJTXU6"],LS\U+MR@LS1'166@)NW&9GAA/L8"#U3*LC MEVV'O.,KY,0.==--V()-H0U -SS6!I?4+4LR:T YQJH"B:*$-)0O"KK@)CK1 MB5!.)D(FK(5T/?B@OS0L&/,CL4X]@$+1L_$,B$]#59?TM+5%@.+ C/JOBI3#SJ'.ZZJ>)>R] M3L?#<\ZF9HFZ/>FQOC3[+'CS_EV015D83.80-4XBRFGBC:*X.4>AD'QM+X V MB]DZV&BDH5M;2;2)8FA:$C5C[=Z1,Y IG<\%B]4L^I\!G3XR#:WL1$5SV_\ N,A6;RRLS#"B2URP. B M;[09.'_ #E53[Y[C!A\_R_JFJ6XDCP\,.-T(N!RADLSW=?EK+]F?3T*4(4MH MBL>IR*4=I4%BXFGA^:CP!(1.,(BQVT#")*A1R/1*GP XYGWEYU@IVIIBYJ>: ML%])60=TI=-*S\LV[P^D]QQ+I*P@JD[J+.=6Z\!:F5%')'HVE$Z-D%BI)B]Y M!>R@(CB*MBM)E-:M?1;\. 6Y-COU:@@C*SQ=P7KAZR$+A[@J#R ^G$KN@WQ/ MQ(%40H(4/>%6V2%W4@%1]. GNU!;%1"E=8NU5&+3M"'YFV<52QWT H':Y1'\ M'S*_*8J2[$!>"4O=X38>?>RGE3 M%B9@#J51J#C2>3P]U-(%XD:4."HK7LZ.LFI-\N#)K=R1A9DQ'!O<4.;&*OA' M'NC702" 0&$H=/=#ZJ+%"_KU"ZXP35N^4)ZK>9:@8; 2RXPL:$@NU#[8HA8,IU:D=ST(^&B?*@GL&S@&-EP8HOQ %E+[P- MR->#JQ6E8IC$&1_'-TT-8-$DG (>I #LV41LH],MO%AIZU. &CYBS4A6*J0Y M9I\Z!3^=9BS23*^;XHL&'\BKJO(#J_M \I+R-'&_]9,5#$/B=A69XV=IU"8] MS]/#EC;P;LV_@CS"3SJ%*3 _5GP?_"BX:XNN@IEO!#^60@Q&1G M\KZC2'GE:WZ48[;"FLM9='9K[ MZ;X$GVF)V2-(*;D9,D@9"T&+.9YI-3+Y=8S9@&3%UNJ9NX/'*BX_AC!\-QTI M (Z^ZDPM->21@[%96Y< ?#> $::/XT[YX(5:)CVCG MS1V?8]?BR@'(IE/Z!H%FJ@J-4#9JW.-UA#_V87!@L( /C*#L7OH7HW!%'2NC M$RL3W\C!CD.:QEYYSJ5<\4CM%9(B8)ALF(:+,IJ'IF.GACX]]Q$N Y_6,O = MO29F?KKHTIIC5V0JXM:!ND3K2;,4RYTP2 42B8"7:'S4&:TY;(II$RIU"$<.EW,F;QNAB+.:Z]B^K;6Z%G6 MANN%#\E%5MXU3<&&H_92F4L#\G29_!,9 Z0ZUY 7#LV%D.\X*WXHA5H>*>]X M[,XGAG1:$Q;F*).RD;DG8F:&>08V\890OVQ$?T&VOX7F>/MG7.#[V ,"/M2<'"GP+]Z[E3NB^ MXZB^>A)'L[GM3W(8V+1)X@ZP[S']$_"[U!50^*M(/13!#=.1O_1P22N>6\QC M6JV/7,MJ%OU1:_E:YD;$F$5,L9XM\1-1W^ONZ&F!/1A_%&AE71 L2(U 7E*L M&J4,^)B1H77<7[@.T7><>>VVKRJ_CM -EH&.DH!'BN2F5]"@-U@+%IXVY4[< MG;W\##L)D)+H!=)"VUO1N!*F#3:^&+^P,*Q&:=&,="2N*K5J2JGL.),6<$NA MVX8X4BB,=:GSUO2,WM,^E>G+G/49IAK86I_3(NL^NPE U>C42+?O6G,?1;G- M/-[CJ).E@M]DVYQCP.SQW3RFFW?L/##2DP0.MG:^K0F4(Z33.>:4>H@=LN6. M>UNGZ55Q?E87J>4MVX9 #8-F MP9N3947+\;)&RAP+05K94'-K['N/2],$F4V_VT^H?##*MS47+@0!([C6R6]H M#;*,3*2];.FDMB66\1>PL.7V!,^ZU<\"I>QSO50S>EKKS).VE>40?6UV32#!J9#@L57Y MFRM3&1ZI3=F3JU#?QJR 6T\4P_).$!<*-=,54[M]1H'R+J=FG-8#]^-<[TNW M#"A!],5.6NN$WJTHAE#VX8#!D!K!W00;9&5RYTO/, O>E_!;XC:AYG]]IS6O M9^7RD[9M-?Y2[X"F$FD$=*LGAH%"2TZZ2?I+FQXDT#;1^? ME'M=O=!D>1I3TEX532 +>VLX9!VOZJ!V!K5^422RSRO[?)I9$GZ(XD:WS+FR M/3:*.KE<-X^UN]$[KI.;=R>B%7(KN:__H&@V_]V/39V+(^OY-%WR2ERF+#\A M4T(,?K> G)7=&_'7W$+6K]R#O_QBG2W7+RXJ55!_TY2B5@.TP>YPNBTX]#H? M25S':Z/=BDBOKH "0J>6]SQ>G,G02G(NL9,.85W=U[3=5/[0'2V]/4($L3=- M$BJJ3'B1C4B\O:QT)7L4]QSRN'VT,[0;'UMI]_:3:NU^+=0OJ[EZ;<)QT.)I%Z0]DO)=P$ MEL:9>EM72F;3G.YMW#[0:!=*##,8S)WHOFE/U$TKY>HLYU7!4W9.L$YH03WS MG>P?^SM.Z?;LB*#;D_S:!K%UE(MCCW:W/ D6:1JN%HEW)HOF89QEJ/-X5XS? M&".4X"1T*DZ2+,,X6IR?CY(P7:R\;J4SYM,S:SYSP^;S<(U'VY_I.LP\V089 M5]$B7&-AWIEY%L;+[**A;-M>%T_S:)8Z)D:X+HSMSRJ=D +K@-"G=*(Y "S, M3=(3G?*V"J>=9KO%,^E!>Z1"2:W6U-T^IB*: M'4]4'F8_=QH'+M$_)."^/E&F'UZ+19C$"^],FJ5AO%C3WOY4;69O MC,/5R@N-,(V7$Y&1+2@@X]'T63B?B@Q?K7:'2X='LHYFV6/CPT2% YNUE'LDGDX MJD:OM!6EQ:]I2>E7Q=^_?<&C\M:F?T['?]!'*/%+]T_SZ M8W_MRX&/:K_AU(Z9!"W$+DB_'O%39WW,2SJ+)%S.8QS%<1K.UVMR7+AI,H^" M;T#>=_=GXBR3,%F?YYEUN@H767IV/@ZC.$)B6Z'.[6A+6XLGJ]+N'JJS,4^3 MZ-G$R66X7B=3%U9X!B[H97H1F"QP(:/%A>2WT3+BXVR^#B,O@O]H0S[J+<]/ MLV,N10Y/,FRT5W+)>7UY))MDWD*C9T;,0FSU2IAV3Y1;3ZEUGX,:&: M.A/[./2(D 7C6D+?6#^1M#3C7 /C9_.+(;L*5\FY[581V?1<2ZO5$J"0?HI% ME]FD19%-T\GSZR0^M^=BE8;+U0)'ZSG6&#$LA8MD'<[_O:-UVI3VV)K4I;$' MHCA=8+%KGY/,$;$Q@,N_:X52(Q>?G:2)XS%1\IVL\)IY_BLT7 MB,K%%!P#+=*I.&:<7D_%\6*Y1%+1<9QA_#Q;P&\%C!N33UU037D7$#S.&!_3)9PL902)PL4J M^GC2SP 5*["#L^R^A+]&$PX%(RX6YT'[>6R X&@*7^)D\FR:?0I)R-8@\ 2G M69S!V5:F#HBB,5D@W7ZKZ:XZ_S#DT=^%S/YPG_L'<.UW=\$D6X7+=.6=H9R? MP+7\=<@7B633OD9C RR9E-5U"*2 M,SPU7CZ>JV5S<(:4LO0"D3E/Z"B-44PRE ZL[;_.&3^+#OJ^:,]Y/FE/3?NF MO?H K(*\+:.)[!S&6:3R3GH M?A;/A.L3:SSWV&681E,7 .'K^)/XYXJ:%TGFN"CH!HZ7R$/DPSX3_=W]^1OS MF>CX,TCSQO[#7XW^:#]:Y+U$H12]<<\OWO%]O/WM?=OJ/_U?]]'.E$"SX,_- M+;TK%!HUN.\5AM?Q&M*!_\JN?IAR6]"C%UIYLXV_RZ*V.%M$?R%G/B3Q/HOD ME_A<*$X;T/N^PFUIJW[#;P'T:MB*(+W/^-.PEEZ"(LMP?WU0"'WF8#ZLZGD: M/9"%XVMFW["I+YO.O)[L^Y_-WBC/^H?;M?_-<)W MHMW1*TN5W&)H-%LNKO3["O9'UQSY$_]-TW7-@0_W4F#M= .N;QOXG?E!#W#_ MY\/KOP-02P,$% @ %8YD63VRR^,S! W@L !D !X;"]W;W)K&ULM5;;;MLX$/T50@V*%-#:$G6QG-@&DC3MYJ&+($F[ MV$=:&EM$)5%+TG72K]\A)4MRG+C (GVQQ>',F?MP9ELAOZL<0)/'LJC4W,FU MKL_&8Y7F4#(U$C54>+,2LF0:CW(]5K4$EEFALAA3SXO')>.5LYA9VJUBO]:W$T[A#R7@)E>*B M(A)6<^?"/[L,#;]E^,9AJP;?Q'BR%.*[.=QD<\ #6F&Z5%V0KCN>15\\\>VS@,!!+O%0':"E!K=Z/(6OF1:;:82;$E MTG CFOFPKEII-(Y7)BGW6N(M1SF]^"Q$MN5%05B5D9M*LVK-EP60"Z5 J]E8 MHP[#.4Y;O,L&C[Z"-R5?1*5S1:ZK#+)]^3':UAE(=P9>TJ. ]U"/2."YA'HT M/((7= X'%B]X,X<;O/!E/-,T9ZIF*Q_M+:"#1^W<)]>GY<7!BN+S@_,W_,:,:RB5(F]8=]2.D+=%WR1W40FI> MK9%YC2- V^R;GX!\U;S@FH,B)V3B!6X8TPZDIUQ7(-=/Q(]"UT^2CF%W?A": M%:0+0"^?1!,WCKPCE(<!]'9N)(4J9A+:0QV,29 ME6)3:>62;<[3G# )AH3._H2,F#%%E);,S)(_3/+,R.&*G/(*T<5&(83ZGGJ^ZY'>X8#@8GO)L%D($"Q M^$.O+7Y4CQ;YT\F>C1YUXW#/,9P4;A1%0[,/Y1*,1Q#OB=&)&\5^1]D+.CSB M4J& B-5!ORBR91CS<#3!YZXH[,N-;7,2C6A'P%W$]IK.)0 IFP<'S(/S0N&Y M5MX4FHL15C78/:!X:N@G?C3R]C7Y\2@^4%697OR%IE<4C#?GA^M9?"3VU@_@$F[6MOFFVOMZ]; MOVQH3B68%=$P#;,VK)@0QVQBN*,#S:;=L);P+NYI,1:SI?65B(49>_:=&(S\ MT T2WXQM7%I7&HWK;[ ??.] VT'-O_20CP<[%S;OVFZ6BJ1FVC3K5T?MEM>+ M9F?KV9O-]PN3:UXI4L *1;W1)'*(;+;)YJ!%;3>XI= X*>QGC@LX2,. ]RN! MSWI[, JZE7[Q'U!+ P04 " 5CF191[HD]7,# !6" &0 'AL+W=O M9+<-/]^E/R2%+T+!FS[$DDT^? A*5)9'93^;&I$"R^- MD&8=U-:VMU%DRAH;9F:J14E?=DHWS-)1[R/3:F25-VI$E,9Q'C6,RV"S\K)' MO5FIS@HN\5&#Z9J&Z>,#"G58!TDP"C[Q?6V=(-JL6K;')[2_M8^:3M&$4O$& MI>%*@L;=.KA/;A\RI^\5?N=X,&=[<)$42GUVAQ^K=1 [0BBPM Z!T?*,6Q3" M 1&-OP;,8'+I#,_W(_KW/G:*I6 &MTK\P2M;KX-E !7N6"?L)W7X 8=X%@ZO M5,+X7SCTNAEY+#MC53,8T[GALE_9RY"',X-E_!6#=#!(/>_>D6?Y@5FV66EU M .VT"FLAQZ8KR9#5]Y61G-_=EJ3II#3RR(RL$ I,5D%!W6,%/G!5< M<,O1K")+WIQ-5 [(#SUR^A7D&_BHI*T-?"0QFEV 6\^A3[W>//_(?0>.?LRLFND6].R$M\@.6 M@SCQXCF)1P_MX('+4G1T6:C;+A9!9VVKUPJD341SA*HMGU]010G@U M\G"59B=)2!BF1=_SXCB#7VNJPPGM0$ZLHE%4E'1)-QC5:-.T NWHM&]1"HN"HH,^3#?WDY(_]7ZNDJC]%6-1J$KH2^8NPB:HO!Q:Q14 MAPJ0LJ&.Z-(F<;)$K:=UE1@H+=%,^N2(I!&ZY2" MXQO"2;((K[/Y&_E-3BX2V#+3,4%V7)I.^RH,C7)&<0+*05OC%:TX96X19?**:YF&:+=XP MOX+YDK[DUV>2-)^'VO_B M?F1Z3_FBW._(E-II$8#N7['^8%7K7XY"6;KD?EO3PX_:*=#WG:*!,1R<@^FO MQ.9O4$L#!!0 ( !6.9%G>[YU2?08 /<0 9 >&PO=V]R:W-H965T M; M$*JKT!MU*+DN ME?':&N'4ZG9PGUP]3&@_;_B/5CO?>Q;DR9.U7^GE0WX[B,D@5:@L$(+$SU:] M4T5!0##CCQ9ST*DDP?[S'OUG]AV^/$FOWMGB=YV'S>U@,1"Y6LFZ")_M[A?5 M^C,EO,P6GO^*7;,WC0.6G6"M$._F84 $R? M1UD+\M" I&= EN)7:\+&BY],KO)C^1$,ZJQ*]U8]I*\"?E'54(SC2*1Q.GD% M;]QY.6:\\?_G90,R>1F$RN/*5S)3MP/PWRNW58.['W](9O'U*R9..A,GKZ'_ M51-?!_F7#4K,?_QAD2;I]0N(@C[%XVOQT9KU/X)R)1C\%(0TN((:!$M9M/3]=DDFD_FXCR9$@FC0B_8RW@,C7Z&_ M.4?1JL@<>TC=1$4!,1SBC='F YA/Y)&>U!_SE2E)%75$6.;H M#OMGP^0-?YX-%V\B##9?*1Y-Q?=A9]2_C;BOUVC_HA%-(]@H%%N5DW662_)Q MHUTN[D&YG(P'Z&<8++:%V])@/#3^'HO\7P3?TZN+Z%MH[,-%*$Z M,/-R..U$Z"H,ZO%7KB&WI@!5#CMUA0B!6K7AG%PL)]-AC)E5%)22OGHNU8\ MVNMCTX^5N;,%"N47X_0<]J&P6^=^;N4.OM7PW;4>DF1!P7 >_B ,.>&7\JMB M3SWE7O:,P0E >[%RMA0!AQ/:S+_D )ZIE @P! (D9K;&6R?J2K1I>V9^A@ZB M ]./HS=D3N+$43OR-V<*-CWX7.*@^)@P\Z&X/\/-B!6V+>O4U#Z]=Z";N)BF MP\7>6+;-J>:+L4>[GZQS/"!\&V*R^&P^(HZ9W$I=R*="':1%)C%ER7,JEPNT MBV':Q>IE#5HA12:S6X5G-$00 MLZC)PX@2! ,M'',>;]Q_O#(:Z:7>,/KIX&=[0S.>LPF.'8V7E[%9[ MWDQV]5YYF*.Y; D>72;7OK*>A3$G0'%@(<9O:('; +="Z;W"=4#\WG)!,X^K M0O,DV>G0U-8ABE0"KWIVMI?VFN(_I:EQ=^@ZZFE;E.99\_8[636ES5JXN@WU M>/)%?8.KM5/[REP5=19J&?:!(9HP.X\P?5.AC*Q6JWW[!EH3]YRQ3F;(Q3B. M>V7?EO3)3&EJAZSK^F33<#ICR$TP]1L4N;8Y3(;QZC),ZGIMUV'/UARWWF3\NN[A2_>>4>\R"C_7?.6FRP0F6W,O[5:[6_U] M&PO=V]R M:W-H965TA:;4R#(?5(@PCJ)A6# N@^G8ZR[U=*PJ M*[C$2PVF*@JF?\Y0J/4DZ <;Q9ROH?U:7FJ2PA8EXP5*PY4$ MC/:=/;@*EDH=>.$BVP21"XA%)A:A\!HN<4S%,(!41H_ M&LR@_:0+[.XWZ.]\[53+@AD\4^([SVP^"48!9+ADE;!SM?Z 33W'#B]5POA? M6->^<1) 6AFKBB:8,BBXK%=VUYQ#)V 4/1$0-P&QS[O^D,_RG%DV'6NU!NV\ M"H^2US)P,7TEA=T8%;,PXM83N/,&UP9C5. M_ 3.:_BDI,T-O)499MOQ(>74)A9O$IO%>P&OL#R").I!',6#/7A)6VCB\9*_ M+K3&&>S&<4UR8DJ6XB2@+C"H;S&8OGC6'T:G>[(IJ(@WM/%A9XI8) TI M:&>4X!FEE,&,"293A"M'=P,'WEM5ALG,')X\*NA?K41%B\4"M>?C.::-T.\] MIUKQ*VWJ#5]IA[9;=FL M[7T15P\^*F,.X3W-M2>(L%\[QU2M)#5"!@1XWX*F)H&__"U:/$6'5H5WI>N) M'DBBUCT##@;Q\+ C]WM)]&I+'L7''7G8>QVU)-SU9(6=:5*@7OF9::A;*VGK MP=)JV['\IIY&]^[U3/_$](I+ P*7%!H=O3H.0-=SLA:L*OUL6BA+D\YO<_IK M@=HYD'VIZ"%K!/>!]L_*]#=02P,$% @ %8YD63!<2FY,!0 A@P !D M !X;"]W;W)K&ULM5?;CMLV$/V5@8+FR95OFW2S M%P/9I$'RD#;()LTS+8UL)A2ID-3:[M?W#"7+=NML@0)]L"V1_6H<&L^J3$JU&<\FD^?C M6FF;+6[2V@>_N'%M--KR!T^AK6OE=W=LW.8VFV;[A8]ZM8ZR,%[<-&K%]QP_ M-Q\\WL:#E5+7;(-VECQ7M]G+Z=7=A<@G@3\T;\+1,TDD2^>^R9V"N<">F;-IWL=)Y1T8;HZEX9"&IMNU^U[7DX4KB<_$!AUBO, M$N[.44+Y6D6UN/%N0UZD84T>4JA)&^"TE:3<1X]=#;VX>&<+5S-]4EL.-^,( MB[(^+GKMNTY[]@/M%_3>V;@.]*LMN3S5'P/) &>VAW,W>]3@/3O_BNUQ[=]<9'KQ],GE;#J[/C9%LC:97],7)N49[;;\BA:@Z"BJ+1FMEMKH MJ"&IZ\8%+FFYHQI5K!O#]+7U.I0Z]4S(Q4C)D3U*C\FU: $.D?#1Z BL5!37 M\&-MJPQQ57'JLN3)BX""L"K6I"V,Z)H:?+N2VJ#MBGC;0!X >GV0_+-HLO(6 M^V%$(:K81N=W@\4 82@\*&W4TG2>&@,#8M UC?.QM2F\G%ZQCYA+%/3*ZDH7 MRD9RGEK;!G&G(]>AXX@;)<;-#H.F<)#^$ZB@*<%];Y4'>'G=K#5BP>*.7%&T M?M2OP#(^;6!Z4+XG>+?7/\-*Y5T]V$5B^L=$]P"@XTSHEH@QA95)6?-LE) & MO=86?8B)!A=T2MN(= 6EW8B4T 5#J3P2M:#HTLEBVG@HY*W"KVETA&5J(;Z#@T0T&EX9Z%GDJW*G%XS"D@J2)PEP7 BJ7O;1^V>H#&R[X6C MO@318&'@2YQ6B,06&OGV+,-&QHY<"SKSXJU[0U9^X%;V2VDP='2:?H?1-@Q$ ML+:44NU;$V,&[D.+4:-JX6(/7ID$'53I3#O,RH?1FJ\_5?J#5(B2,A+W^;E+ MR?CH;EBS7Z4;<*#44=TU<5@=+MDON[OE0;R[H;]7?J71\H8KJ$[R7YYEY+M; M;_<279-NFDL7<6]-CVO\46 O MBO'"XM_8LX&/YZ+/X"4$L#!!0 ( !6. M9%F.>/+KL00 .0. 9 >&PO=V]R:W-H965TFPYU/*[J&.]!_5C<2);=%R5@)7#'!B835S+GPSQ:1T;<*?S'8JLX_ M,9$LA7@PPN_9S/&,0U! J@T"Q68#'Z H#!"Z\76'Z;13&L/N_Q[]HXT=8UE2 M!1]$<<\RG<^75-/Y5(HMD48;T^!U#;A"CEQ$- M<^_?)8$?G'\+ MGQ@]+SPG]T JRC*24I63K+7*:HD&=G4L OZ$A"JR$@527IVU]O^WO82TH)): M-N-F!W(+J9!9\V\_-\:]BU+47'?\_PA+6>.)0X)@T'BW1_Q,99J3T.]U7U22 M%<2/>MW[UAMZ,9H^D;"G\*GFL-^IW=[BZ1M@%_4:J4[Z[N'.UU N,9!@TAOZ M(]7"#/A]'XYPK\5F9]_3PE2^ OR)]RZEHU.@ M)J5].)O29VA-2D^"696P#]?)Z+@WU&:T;W,$NQ>^Y(8,3UB>-!$KLJIUC3OM M0 JF2(K'(!+#:-05;EE12RQC&^ U6)[ CFD#)%3%-"UP]&O-)!C0AHS&! % MXN"*<PH>CE\HF@&ED(BJ3"H"[1%TR*5,.CL#5=%D"6IIX3>]P9;XUA*LJJ MU@T_T1R+)4OM[!DK:@V'B$F%SBC+3;Q66%N=2VC2@AI RJ:$@"DAG47;5X'# M.?,SXV@K:H4]F$EX3%&Y@T_M8:!^&3Y;SK=NO]@(N[6Q%]A>\=HDX!_H[5N; M$)N,P]]U79IE%O+[G;ZOM==X*%ZFR3=V]LA+B7=X+JLH=F=RF[_%VGSG"H')T?A()X$ M73$,)T>C7M(5@_$(N8P4Q/LO@=4*26TFPKME^O"KN=*B6UODO&J-)LFA(/@# MSS],-AD=%C&9Q/\FL!.G0.ML-(C1V8X8CORN.(J#KNB/_1^^=/OVZL2*_*AV M8?="AS1#;](1O>'$ZXC!,!P?*<=QL^Z8]".,\1%&,CG&"(\Q6O&EJZS;>7G@ MB;.V[RM3B_#0;1XA;6_[A+MH7BX']>;]AQ>'-<.J5, *3;WA>.00V;RI&D&+ MRKYCED+CJ\C^YO@,!6D4<'PE\%J[$\P$[<-V_C=02P,$% @ %8YD6?HF MK.B(!@ ?Q, !D !X;"]W;W)K&ULS5AM<]LV M#/XK/*_KNCO%UHOM.,W+7=-DMVYKYR;M^IF68(M7B51)*H[WZP>0DFPGL2]I M\V%?$I,"P <@\(#DR5+IKR8'L.RV+*0Y[>765J\' Y/F4'+35Q5(_#)7NN06 MAWHQ,)4&GCFELAC$83@>E%S(WMF)FYOJLQ-5VT)(F&IFZK+D>G4.A5J>]J)> M.W$E%KFEB<'92<47< WVS9M57IUUP5&6CS"[O\5@N[.AE8M$S?!VECY=Q;B7=8.6+OE;2Y896TJ MGL)I#RO @+Z!WMG+GZ)Q>+P'X[##.-QG_=$8]UOYH"RP*'KYTR2.XN--FV[J M\+BQS&@8)L?LK2I++ ]#DMWD%V#"F!HR-!4DHR/&9<;B*(B'(V9RCLXS-6?I MIJJ0S.; ).)AI<\&H&Q@N)<6RAGH;D,#;RZ,DP +VU3@2K-8!:Q&#\8MFLF$29WH7*O2N87T_!7[0:5% M"EMA74?T2;OM=F,+[R9$U.1:>IL^)R@(SGKM#*'\O?67W+"4%VE=<$L;[";1 M]N'HYR8>C-^ QJ"RC(MBQ=)"&2$76[Z1Y+V89+4FN0M(O1M^YWXP"$D3!-KS M/;['>WQ_'H\?\"[N=V5_X;^2+9MK>%(A+SO*& 9'<>B^3(+):+R#,.Z6/O=I MWOKRK<8!:/)#E7@$,7PCUYE4\@#*JE K NE F?;;N>(ZH\&%T&A>:=/?=.RI M!+7V*SH*DG#H/B5$A>'_P;.=6T@W5%08C+Y@JFEL"9@$IR'^'$.PM84%\IVRV\=M5(30H#F;G!<6:1* M8NK2$DA7FZ%TA8<"3@JQC7WXHW$7(\[[2T]09=MIOJ M>C*;MJ3L>D$K]$ZR]WS54 %1D\NPIH$S7E5:W8 G"))A4RU*I85!'/H&Z]M@ M.]?(LSZE]B[YBHPTO?3R>CIM^VC@0K7,19HS*,1"S KDK;HH#BR>QEF;FT1& M!>_V)3)+/D)"([P'$# MZ'/ 9K6E!B$Q11U*BCS<6G)I!BN%_]YS]*!1=">=SG=O@9+WZ6Y\[)CJOBE(GY2?TES&P3 YW'&DHZR2ZX[7I!=^N)];+X:C?C2D MF'A;:QR/X\=H%(R2R3/@2([ZH^@A'(^)1T+QB*/GP!$?]2?C[XP'PHCB9XI' M/.I/1ILX6AJ\IN%NBOR )-B>7B+/D_=;(^.US9$;_R50;JVP.\.[Y381J87F M99]]=M;< M0<-Z3/$2IO?2IO*'2WI^:1? 74(:0*,WOH8E+)05[CAH-<>#A'OIP$/!G1@E M.V.DH2I "I,W3:40I7!WANUX^5N)]2GA^,7'@R0W:,L7S)-/6]N'K4Q@GU5V M'7LN5SL.6EW"/'3['FP\BI2@%^[I![F3TM&_CW2SW>O2&_^HLA;W3U/(KMAD M#"M@CJIA_W#48]H_]_B!595[8L&+H56E^YD#7B$U">#WN<);>3.@!;HWM[/_ M %!+ P04 " 5CF19/L*3OSD% !G#0 &0 'AL+W=O3"HAU6AYZ==NS/)2-ZZ4 M"F\,V*:JA-E?8ZEW5Z-XU"U\E)O"\<)D>5F+#=ZB^Z.^,32;]%IR6:&R4BLP MN+X:O8K/KVM'P: L^EW $D+2#SO<)!G^48XL;PT>@>& MI4D;#[RI'DWDI.*@W#I#NY)P;OD[DDGV*>5*RS\ MHG+,[^,GQ*$GDG1$KI.C"F^Q'D,ZC2"9)K,C^M+>L-3K2_^S80$W>QS'17!N M:Y'AU8BRW*+9XFCY[$E\,KTXPFK6LYH=TWZ$U7'<>^T0XN39D[,D3BZ"%N#9 M-+V SP@EKX#(*4.D=49PJH-0.5#U\DPK4<):9+*43J*-8%?(K !A$#:H2*0L M]U!JM4'STJ&I(JB-_ILJ!VR-F5S+;( &;6 O3$YJ^(A,*SJR"56&7QM94]$Z M:"@Q#"BM7F9"95B*58D=';4)C.V8R>?(1Y+%(->DD5@904R\%FE!=-;1C!35 M?(['%6+;6[XQZ &6ZL<5W2JQ8P)AENFJUHIE'C=?9)ENE,,!Q5H052SW M8_CP@+4'$I>RH=RG@8]$,KUX( ?"6G36;\8742?U*LM,0[A2BE7KT5Z$&;=B M[[7*&F/8"0^\-D1&H*ASZS5TLK4V[*!6(U!(=&/@M:9H*$NGTLCJ4N:"#;T6 M)<<&;KE_A&"(TFIJ,#GZ2 27\,DU@;(]].V4K Y.;%WBW2YXG7A1LG%(F5>< M0!4Z!3FU1!N;@II<.HO >D[KUI&5V'=) M11%G)Y.\)E4.R1<].>O3LZEY;PY[%(8"]XEV\0Y-)JW7& AYJ/6*N(Z<3P5R M$96=C..I\] MCU_T@D\A/8OB^#^V]0#YR MXPS#$\^CTUDZ6%F<1+,XAO]W _7ZTN0T2A:G!THG:32;?TOU*/Q6:#;^B6_!7USA'=RO]K\B7H7'\T$\_ 1Y)\Q&4K,L M<4W0Z?AT/@(3GO5AXG3MG](K[>AA[H<%_1)"PP*TO];T3FLG?$#_VVKY+U!+ M P04 " 5CF19@GP[)EM\L2VT"=;>B 90@:;/M,BR>)"$6J M)&4G_[Z/E*QD16I@^R+IR+MW[QYUQ\W)ND??, =Z:K7QVZP)H;O.KZ-_ MZ_D0\4JK?7K2:?!=(6/9^V#; M,1AVJ\SP%D^C#J\"KA8_""C&@"+Q'A(EEK^(('8;9T_DHC?0XD*NIWE7"6_V?>N=O%3S@ MK=_&BSUS[3M1\C9#4WAV1\YV[]\M/RYN+K!=3VS7E]#_^^E:IC\ MU6AKV=5I@*=#-V&88*H8OY3Q\R&PO=V]R:W-H965TC4RZ%@4W0U6)$BM+I0MN M\:E7(U-IP3/'5.2C. RGHX++8^Z9LK5=M# M:-!.W,G5VM+$Z.:JXBMQ+^SOU2>-KU$G)9.%*(U4)=-B>3UX$[U^FQ"](_B' M%!O3&S.RY$&I+_3Q2W8]"$DAD8O4D@2.GT=Q*_*VPY8$;<:OR?\K,KJ\'\P'+Q)+7N;U3F[^)QIX)R4M5;MQ?MO&T<3A@:6VL M*AIF:%#(TO_RI\8//8;Y.8:X88B=WGXCI^4[;OG-E58;IHD:TFC@3'7<4$Z6 M%)1[J[$JP6=O[D2EM.4/N6#W8@5O6W,ULA!,RZ.T$?+6"XG/"%FPCZJT:\/> MEYG(]OE'4*C3*FZU>AL_*_!>5$,V#@,6AW'RC+QQ9^78R1O_.2N]D.2T$$J/ MUZ;BJ;@> /]&Z$0T:Q2JM'B4R@#UL M]Y@N'1E6L]K7(@Q!;\09\79;03@"E'/C2'PA@#GDI%7?;!?JV:7IE/ 2"F'7 M*H.KC->FQT%^:Q3=TS[H(JO%JLZY51I6E(]2J]+Q':C:[=PJ9W88^ U2G/)R M*5/N3 :W%H^B1.!HGY56QCEL*2V"I#OM/&3(RJK6A!)LP%&]H3<. X/UK[6$ M[S_7F6=0/H 5UT[%@I90I:7Z MK"3D=[2D9648B# M+-.\SL@%O6F7*\ FXDG^PY;P0FJ12\:"Q]2(#(>2/*6$W;;SY*W*;>PF]GEQ MM&ON?"V><,H; L$&B0%?96(_FDL%539$BOSE[ '&+F&H2;6LVOB>R?C7>X*. M"XK70E#.:U6OUF@=?.E!(8"U]]8MDN*[>N#\SYGFY1#%D:"R=Z M")((ZE.L*#ERG_A*M TT+9XHW<'D,IOG;,7]EJY]T*@+M?5^S21%^J'N)%HH M80II7)MBML:*HLDEE+D"M:H-8+.V[]?]*OH-OK@%SC/^0K?XLKE8:H#9D5<4E*0K?HE)@4,E*T$FZM_LA M6GID-+?2!(;]VMG'UIZ#X!H/^>:PP=$C-BY'A ^_0UJ#!-1=J!7TB):UR)LM M*D'FB+K8?5&;#HSEO2H44"78H-.E7T.8@2NI0/I*2,<6@=9E*MG:@Z1"NH#+ M"- ]['")I"^59:[O*0F)$$SI?KNF.O!K5T?> 8DN$3[R+SBN0)41B/PA].;^ MEL5S='5--\+NNEK?[K];\4=%.]]^]U3:4(::IC 9]I/SK:H-'&->[6K.__H7 M=P=_IJ^U0&'U?;*@/AG&5B@(#_ 3M;J'C-3Z]C_&1\YI?W#X>(PJ3!)-P M[L;18A',IN%15GYPO-+['H87QU3A M K4JVGW'P_'%<:U8S(/)-*+5L*]&-!L'\\6$9"?'LK\7K/Y\;7GICB\"U'=! MW1Z06@"=G#Q9'V+POL'%6T,^:#4.B.JS6N.7=B1>V;DQ?OR@*)\8[S$O;,+?AGY=KA[@[H MF21U?UH^0M.E5L7^Y?GX5K.1%E?8"B?)DRPPDV]90K6%]IY0?%?4(G/;BC/8 MBSIL]/&&'C.:UYA]H5FMV[O@OTO1SNOD:.J_Z5Y%;\;YEJY)N#W)"G?)+6GO M;U]#>.-;HA<FBD648]AYN".9T^_&W<7/B9M_ 5!+ P04 " 5CF19F\0X MTX4" # !P &0 'AL+W=O MY_&=K;MPS?BCR D>BIR*D96)F4YM&V19%!@<6F=0..PI+ MO(0YR/MRQI5EMRPI*8 *PBCBL!A9U^YP&NAX$_";P%ILK9'.Y(&Q1VW"'!*I&;#ZK6 ">:Z)U#'^-IQ6*ZF!V^L-^S>3N\KE 0N8L/P/264VL@86 M2F&!JUS>L?5W:/+I:;Z$Y<)\T;J.[?4LE%1"LJ(!JQ,4A-9__-3480O@'@)X M#F.H;M*H7 MH?J=S"57NT3A9#3#SV@ET RX>7,T 103D>1,5!S09W0_C]'YV04Z0X2B7QFK M!*:I"&VIM#6#G30ZXUK'.Z#CHUM&92;0E*:0=N#CX_BK(WA;Y=PF[FT2'WM' M">=07B+?^80\QPLZSC,Y'>YWI?-_ZM,WJ^\4PV]?@6_X_+>\@J[+KNF";CK= MVX:BQ F,+-6\!/ 56-''#V[?^=I5Z?:HF\H]$A81;U!X/=#>[5=X/VH8. &P6Y4O!_E>OTKS]L- MF^Z'#0;!X$6R3M;>:DD%\*69!0(EK**R?I>MMQTWUZ;+OO*/W>'$[?#':CS5 MT^2%OIYMMY@O"14HAX62&ULG95-CYLP$$#_BD6EGG8#(5]M"DC)ME5SV"I* MMNW9P0-8:VQJF[#[[VL;0M,J8:59()66)MIC+W524!$Y=4,C\,@KE?8LJ])')K6YE$HM:,ZOQ M0@Q+.=;$CL!58(&*3:$K"Y'>$!&+,@H_&[8WK]EC;Q M?'RB?W6UFUH.6,+\HT47L?? 0@0S73.]$\PVZ>F:6EPJFW!4U;>SDHX?2 M6FE1=LG&H*2\O>.7[AS.$@SG1% V2-MK0[,"5ZK*- M'.7VI>RU-$^IR=/)QAPO 8F>)":4YV@E)>8YF&/7*O*UV<'&^6E'6[>T\ IM M@AX%UX5"7S@!\F^^;\QZO?"DMPX'@7NH1F@2W*$P"*<#O$E?[L3Q)E=XE\J\ M0X=7M.&$'BFI,;M4=0N=7H;:[V:I*IQ"[)D/0X$\@I>\?S>>!Y\&E*>]\G2( MGNQJ!F@<'&;WXW-MM"*BTO\?0YBO"5]R&F6^Y+7JWQ=K)UI4KML&PO M=V]R:W-H965TW9B:E\KC3-K7!544A[>T&Y69_V1KUVXTJM,L\;P[.34J[HFOSGG,QX_/AP%^*UFYC+5B3A3%?^>5#>MJ+&!#EE'CF M(/&XH4O*DCAL\.DX7A1?N-.Y7'@-WZ*RMOTK-E,MK/A;'GC2IG0::]D1O:&>FD),.Y&0?][,KQ$"\?'88C^+C\(S&O^\)[W@J M%F2#B]I==A7_C,4E"Y>Z04'?*G4C?B_%!W)\>S#9V8,7^;#P5#[50 M.LDKA!46 E8OI4H%?4>%)J5CX M%7P%918Y(1%A)>75C[J$OY>)RI6_W58Y?AOS3KG/L)(-!FO_@K')>DP%;"!3 M6;1*IU8Z6,]5"Z=2)2TZ#)K9K4"7SIE:@8>5*5S?8K!W&*3C([="6A+&JI6J MF7DCI%AG)L]O!1R'G8747VU5^N06Y(7Q@%]2HA %\\J6!I'U3GM&_XKAQ]'Q M]?Q=6(V.7XL$HTW R"1+E4CFB^$'LM$URIK!0'PAD:#-631LQ%"?D6&<,);Z MO-\&2K (N',TL0V2S1A:0@$=8+DNF@;B4T,!.VBW).N"4M9EJJRSKI$*JWZK M9*Z6MTJOMMH+AIG_>1F(KF@%MSE1E;S+H#!"J*(J6*$DPU0#OD6A/(,(RH7< M V)+^6.79?*&A#8!B](5 U#ZQN0W08DV=5H-+,BWX.LWN>TSJ<$I[^8T2)8I M1AV%M)0\LW&&EH"O%AQ9 -"O;6YT0@+VK,V_/69L )H;O8(H>2-5WMK&@;=; MWM9^ 4;E#1O;[E2[MDLM)$3$-H$,I[4QQR';)IPB6TJ+F$,42\C&47CP+@2: MRL;*(Y,H,2NM?E!KQQT9L;2F"'!W5*D+F4NVT36/A\#?9BO'F ]E$6,Z@D^G M#'/1G :NW2+A+5_[?T&D:W4?@$8M=^+Y[& 086#-\^#34";OCPH\(MR%>YVY MS^-Q/!AU9'N1[.+91S%0219%H,:UQ^RM] ]M^-[4=4ZC:HJBGG2) M)]TM4()EN',"$S5R6M*CCH*[*$OE=8D1*FKW7Z_ MUM9]+'3/+=RCARR; +VCWVZR(+8.LI(X%T.E 9.0A;_8(@?B?+?G"+&5/@R> M+FL3B7F;"W?UJ-T,]G35:==5IWL;WV6X;E$HTPF VYTW@U_ATV5?&T$^LU07 MVI^))?BX1 2@:L.L:$F3T>#H1:">1%@]]#"G3LAP2S>D*Q)KY,N*-+N1>T]; M.;Q!2T B)PWFN@2A9!I :C?;_&-"@"_0YNJR/8I>M.W]GK3!OU-V_%#9AML> M'\\Z'\_^X5K$'@'+#\Y5D-U4!8[LN34:ZZ0.VFUNW\MZ^X7PI^4]&E^W*3O< MN.C#+ZOP.[W1>3\_I#P=WQ^G/+1VDQ03F1TQ*DT6"&H=#6GS#J M%T1&^&RP,!Y!$)89H1A;/H#_EP:35?/" KKO2&=_ U!+ P04 " 5CF19 M8RP^'3P# !,"0 &0 'AL+W=O%E-'/FS(4B9SMMOMH*T<%#+96=1Y5SS562V*+"FMM+W:"B+QMM:NYH M:[:);0SR,AC5,F%IFBS:-!=!#< MBFWEO"!9S!J^Q16ZS\V-H5UR1"E%CD(HL7 >@=-TC]V-B4 O5S?QA MGX>>P23]A0';&[# NW,46+[GCB]F1N_ >&U"\XL0:K F,RGV>,L.C_T";PJ?M'*5A3]5B>5C M^X2X'0FR \$E.PNXPN82LC0&EK+A&;SL&' 6\++G!'PJS@YF>!K&GY4KV_ " MYU'C@V$CU/@X56A9"B*PU)"FZK.(R MWUIQSR7%88&KDI2M,Z)P6(;OI^(Z[_FN0MAH26=5J"VXT ;0&'TO2@3^(C*T M;[3QNYUPE5#@R->UICY1EH2TLEJ*DGN-)9=<%0@KW]@6G [*3CLN0_%L6U3 M:]UZ7[;2.P7G 5=4:*P#-3*_]G0^4) 67@<[W5IB;-]Y2"/1\.G//_K^3T6^X(.'A4T\P/[K8*RP3@>CR=]R7 2YU/VG((^ MIY[C?/A$.DAC-IW^;P5E+*/RL;Z$2CR=#D[]/Y/>#5>CV89[W$+A?P#=97>4 M'I\*[[H;\H=Z]\[XQ,U6* L2-V2:7HY'$9CN[NXV3C?AOEQK1[=O6%;TW$'C M%>C[1FMWV'@'QP?4XA]02P,$% @ %8YD6?&=U )D P ^0D !D !X M;"]W;W)K&ULO59M;],P$/XKIX#0)E5+DW3KV-I* MW0 QB8FQ;O#932Z--<<.MK/"O^?LO#"@[89X^5+;Y[OG[KF7QI.UTG>F0+3P MI1323(/"VNHD#$U:8,G,@:I0TDVN=,DL'?4J-)5&EGFC4H3Q<'@4EHS+8#;Q MLBL]FZC:"B[Q2H.IRY+IKVXR*;!T 6$ E/K$!@M]WB. M0C@@"N-SBQGT+IWAPWV'_L9S)RY+9O!H. TAK8U79&E,$)9?-RKZT>7B*0=P:Q#[NQI&/\A6S;#;1:@W: M:1.:VWBJWIJ"X](596$UW7*RL[,WC&OXR$2-<(G,U!HIX]; W@U;"C3[D]"2 M%Z<;IBWB68,8;T%\"9=*VL+ :YEA]J-]2-'U(<9=B&?Q3L %5@>0# <0#^/1 M#KRDIYQXO.3W*&]BV@"--@.Y>3DQ%4MQ&M! &-3W&,Q>/(N.AJ<[PASU88YV MH<\6-']9+1!4#CF73*:<"6#&()6'R0P$9TLNN.5H8%WPM "FD0;E<\TU9F 5 M+!'*AF$&S$+NB-\[XINX[H[FID#(E: 9YG(%UC4'>-*4N0'=:$!&$5"LUFGV MGJ#@J)E.BZ\@\!Z% 9Z1#<\YQ513AVB8+\[A1E4\A>.8JJQJ_3A?6Q"?)],E M%!<9-9+%463)Z3]?MPTCD;G& M2FGK.]=5$.UWN[C? M)?L=U+;R_[W*GC-3^&9*W<;U)#6>KUVG\1R2PWAP=#BFG9-%\>F#W86T2--D M0;OJFC6K-KIRJC_+1TGT9-T_77_(YR]S\S_3V:UQ-!Z,Q\<[F?]A@J/!49)L MT][T1Q\^^!R7J%?^T6$@5;6TS9>YE_;OFGGS.?^NWCR*:+)67!KZ[\S)='@P M/@Q -P^-YF!5Y3_N2V7IJ>"W!;W-4#L%NL\5#7E[< [ZU][L&U!+ P04 M" 5CF19Y2X')Z,& !+&P &0 'AL+W=O4@G8R?M0Z=V4F8/+9C&VJ\9DL["H+,:,$#DNL[P:'1\&V\?F^+!>NR*O MS,<&V7599LWUJ2GJJZ,1'76&\WRQ=-XP/CY<90MS8=SGU<<&KL9;+[.\-)7- MZPHU9GXT.J$'I]+/#Q-^RSHQ'Q 9G"3)WWD,&_2W-F MBL([@C#^V/@<;1_I%_;'G?=W8>^PETEFS5E=_)K/W/)HI$9H9N;9NG#G]=5/ M9K,?X?U-Z\*&O^BJG2O2$9JNK:O+S6*(H,RK]G_V=7,.O06*W+& ;1:P$'?[ MH!#EV\QEQX=-?84:/QN\^4'8:E@-P>65!^7"-7 WAW7N^-Q>;CRU"4Z@U@;H (.X#6 M?Q+W[]/FP*ZRJ3D:05Y8TUR:T?'+%U22-SNB3[;1)[N\'U] &L[6A4'U'$V[ MX#-KC;.Q4'<[.[OMP#NTN77>MUO""=4%)&E>+=!>7H&E7MNLFME7!^CE"\4( M?_.W_P.VSI03.'$/<&=]:Z8;([TQ>O3]'XX^5Y.\*,P,BD"+9#?E!R0XQTJP MGD62!%,IT;EQIG)MZ9B:_-+3>Q .8RFF1 SMA&$NU U;(/U-DV>%17M5[= U M5,N\LB[S8;W:+DL2K.'1W2776/9BNXE1$8$U;*QG222FJ=S!%['EBW@\7XH\ M@R/,76ZBI-GM\2SBY7_"G+=F;IHFRAPI!&94]"Q<.E WD6*E>AAC3M,(Q%)X9M%;[B5.=D(LMQ#+!T/<;6R6VVRQ:,PB"YR? M7*/+K,D!!C0%ZB[JY@[H=S_IP\4) AS1SW7UVH^[IUUE%DK(!G7[CV%^WW_H MRX%];MD8@\JV#1G?AOY"E\"("[, ->&0WTBWH4\UY##Z[#I:]RJ+8#A-*(PH MY3C1VH,*$+*$0*)Z$$[*,-/#8J*YPD+R@9UB0@E4+X7>5U!=["8\4^30 MYP.,=K!FCY%7$6.*M6:Q&PJ> 3?:;?;8R03(I%,>I$C#2">R1A+*$!=,X^;:S-0YE-^X@[:YW93$7L%G=[]<)9"R% MPM6?I4 /2BGNS&(&+5[1H=T[ L;$\IMK> Q-'H.Y@*P4L7(,U8+'\CC4:1W+ M8Y&FT%3:/):P/I$ZY#'5&J>2#%QU+SL@ +;JSUVOOIF6_;RM_%W^UKYI\ M:N M(7>;X5D-RK0Q>3E9-S8(_[UM4L78!160HDXZ&"$"P4N;_I2R@5 M"M3!H+NGP%<2(12 *,0P:9^F!GPYBM47RJ)6+A\C$J0&<>O+J:02R*8V&IF0 MVV+!G^W[:EJL9W"H+B]-D(S=&U.XF X 614@3>< =<=2N__-5A<$P7O7T-[4)-L6'2? MI#.!^EXU#AF;8DYB-Z"$:_HH_:G\CQ=,;K4HR T8I]"'/(?[2O2Y^!S[@6S< M^\!1 A+A,X[_$7)=N?9;Q]:Z_5)TTGX@N9G>?F;ZD#6+' ZS,'-82O93,4)- M^^FFO7#U*GPNF=3.U648+DTV,XV? /?G=>VZ"_^ [?>SXS\!4$L#!!0 ( M !6.9%E8$JFF,@0 #H, 9 >&PO=V]R:W-H965TI]"7@\+X\]\PR3^5;(;ZH T.2Y*FNU< JM-Q>>I]("*J;.Q09J MW%D+63&-2YE[:B.!9=:H*CWJ^[%7,5X[R[F5W<;EL,#Z*^;.XDKK_.2\0IJQ45-)*P7SF5P<14;?:OP M%X>M&KP3Z6+A) [)8,V:4M^+[9_0GB[+G]AY^QH"V!M3BW@6R*#\QS99S*;9$&FWT9E[L4:TU@N.U2&:[4A[FG,9@Q\=+6\=7. M,?V!XQGY(FI=*')39Y =VGL(LD-*]TBOZ*C#!]BDJ;D^A7K<[_MW"?4G'\E;/3%+&JH52)NJO?03I*TP M<,E]!_D!WMDVCJQI'_8\E(HJ(N4=%XHG;=S>2)]T7%3%&1E&G(A<3CN815 MHJF18:;Z=($:3R"Q"QHY7LYW9GO6!B07V[B6SZ(L=FP6OT+AJ%+M2'BS>K MJ?_K>5BKM@A/%JRMS/W.9RF4(M=,RA=3PI?VILAEFC954^(M9D;49_#VU4WC MG=9XWV_CY5&R#&I66;H$,Y?286V?!5C;,_IA( KO37N'(8!JXR60Z,*!( MXM!O28SA$5$PFQY@]*D;AP<'HP%UHR@:PCZV2_ ^)O&!&9VZ41R,T#[N:!__ M='\&I7EED[AN="-?<1J><:!20'"@.N+A2::/![[Y]6 $.M.>RI#V38,9/HZ0+"4 J.WD,$QUB MET^,=G04V; D#LQ>W,MBK$$KZPL(ZRGV[6=J\,4)W4D2$.RV.!"O-8+K=[", M _\HVE&IGJH];S#/(>=R.[4JDIHFL1OM.FDW&%_NYL%>?3=5?V$RY[4B):S1 MU#^?XG=#[B;5W4*+C9T.5T(CP>UK@<,]2*. ^VLA]'YA G1_%Y;_ 5!+ P04 M " 5CF19BMH0@>X" #]!@ &0 'AL+W=OU!K8C2."ZCEG$9S*?>=ZOG4]5;P27>:C!]VS+]>(-";69! M$NP<7_FZL[V^PT_.&[, MP1Q<)DNE[IWQL9X%L1.$ BOK&!@-OW&!0C@BDO%KRQF,(1WP<+YC?^]SIUR6 MS.!"B9^\MLTLF 10XXKUPGY5FP^XS:=P?)42QG]A,^PMX@"JWEC5;L&DH.5R M&-G#M@X'@,E+@'0+2+WN(9!7^999-I]JM0'M=A.;F_A4/9K$<>D.Y"6HX$WW]RR.9U&EL(Z<%1M0]P, M(=(70ES 9R5M8^"=K+'^&Q^1W%%SNM-\DQXEO,/N#+(XA#1.\R-\V5B#S/-E M_UB#YU(?F//GF=V+NC0=JW 6T),QJ']C,']]DI3QU1'=^:@[/\8^OQL>$J@5 M7>Y!K3BN]CC?MP9AI02]4R[7P VPW5M](02\X1)LHWI#%3.GE_#Z9)+&V=5_ M&^FD+;9+U/ZX=]ZW6&V=R=[I[H+[9.X4-67A3U&C8)9$8]L)]8@(2Y2XXG36 M.]PK2,HTS)/TT!-/PC*9P*+7&J4%:H&:65<4@=0!QA(\/A&<)$5XGF=/_!G(1Q4L!"Z4Z1""1HI5H$RQX(Y')4 MMJ%:#/8.59Z'<9'L2?*01OCB=XX5*\(\WDM-RS#-BR?*7T$VH97R_,"3EEF8 M7XP5>^XJ1P&UL MK55M;],P$/XK5D!HE<+R_E;:2ML @032M WX[";7U,*Q@^VL@U_/.>FR;.LJ M/O EL1_[GGO.YSLO=E+]U%L 0^X:+O32V1K3SCU/EUMHJ#Z5+0A>TQE=6L/I^)[]8Q\[QK*F&BXD M_\$JLUTZN4,JV-".FRNY^P3[>!++5TJN^R_9#7OCPB%EIXUL]L:HH&%B^-.[ M_3E,#'+_!8-P;Q#VN@='O*8L$FY-@I7&=J9 MU86"BAERIA05->!I&TU.;NB:@YXM/(,>[#ZOW+.=#VSA"VP%^2J%V6KR0510 M/;;W4-DH+[R7=QX>);R&]I1$ODM"/XR/\$5CN%'/%_U[N(>B'$CBPR2V3N:Z MI24L'2P$#>H6G-6;5T'JOSLB,1XEQL?85]=8=U7'@<@-X5+4;PVH!B_:VA J M*E(.$6QHR3@S# [J/^[ARS^PDE)BX6EC59@MD(WD6+],U.2$"41DI]%.S^;D MS:L\]*-W_^V/*3?0K$'U>;]'WT.Y!X,'T%X*^XG(C8V&2RK&M=(HX=IX:9!0FZD08=]\I[2%7[NYFGR'$]C M-XLS\DW0!EVQ/U -!$SKCHH2,.':/%=]DKA!D,Z>XZD;9\EL(L4E LSDL L_ M0H_%%$ER-\Q"\@6TGF-S4\J>5FOER(?$G62IFR7!; *$+I+-R.-[._C#Z_D2 M$>8[3-VBR*=(GKA16APJ4V_21#&G=?]4V#KHA!GZZ8B.K]'9T(0?M@]/V5>J M:B8TX;!!4_\T2QRBAN=AF!C9]BUY+0TV^'ZXQ1<5E-V ZQN)MV _L0[&-WKU M%U!+ P04 " 5CF19KNJE $(# !T"0 &0 'AL+W=O20,X=GJ$,.9SNEOYD,,E_ROA0 MHC7.Y#"..RWGIF0IS@,Z#@;U/0:+5R_&T^AB@.6D8SD90E^LZ/1EE4!0&]@P MKN&>B0J-,U6E27==$BEMMR9Q&^ R%15M.G7 Y@B7BGZ!-#1 /:,$SY@E8\D$ MDRG"RHGF8.+#U.X(>J,$'6D1F#$NUS;H)4R2<<]RO7%\<0BG=:KQA)+;U^13_(K8 M;QW2K^/CT31)6FM T*>=H$]_6] ],?#>I;/C-A]6PLI24SL3S+5,58&'!#Q, MY?\2S'.U=[E&W+M&NZE/E,KAF;;MQ$<;=/1!&7,,?U%M?D+5PZ.WF*JMI%.= M 0$^7IRF5K17\I[&G])V-X0/I?NM(Y!T3A[E?#2)I\<]>SQ*HC=[]EE\VK.G MH[?1P5H0]BIA@7KKZ[VA*Z>2MBZ*W6CWI'A75])']_H]\I'I+:D3!&XH-#IY M0Z+2=8VO#:M*7U?7RE*5]MV$6Z!Y:BY]02P,$% @ M%8YD6>ZS9OE-! BPX !D !X;"]W;W)K&UL MO5=M;]LV$/XKA#H4+>!9KY;EU#:0-"FV LV")%L^T]+9$B*1&DG9R;_?D;)D M676T+FO[1=21=P^?._*.Y'S'Q:-, 11Y*G(F%U:J5'EFVS).H:!RS$M@.++F MHJ *1;&Q92F )L:HR&W/<4*[H!FSEG/3=R.62-0LEN4)"N R8PS(F"]L,[=LXN)UC<*?V6P MDYU_HCU95H0I!#K#0"Q68+'R'/-1#2^'N/:;53:L/N?X/^R?B. MOJRHA(\\?\@2E2ZLR"()K&F5JUN^^PWV_AB",<^E^9)=K1L&%HDKJ7BQ-T8& M1<;JEC[MX] QB)P7#+R]@6=XUQ,9EI=4T>5<\!T16AO1](]QU5@CN8SI1;E3 M DD2^^@'!/?&1'/\8(!/+_UW3=X M_BM]/^5RC1B<1M09="9+&L/"PA21(+9@+=^^<4/GPP#?H.4;#*$O[S CDRH' MPMM 2;.$<('[,7**^B#X:>H/4"/W9DLJ@9$RRV!"AS\^H9*L M>8Y)+L_(VS>1Y_@?_G=[:=RA)G]Q>P.YA9B+I/XWGQM-[[S@%5.=3?L)5J+" M&D,\;U2S:Q"_4!&GQ'=[W>>ER'+B!KWNIG7&3HBFS\3O*7RNLMN;/_\+ MV'FUP>0F?7JXQ144*W3$F_6&_H@5UP-NG\,1[C7?[NU[6AC*%X _4V9BY=8F MP6G@0TC=GEH=4B_J=>]#.AD"U2'MPYF0?H56AW00S*CX?;A.1*>]H3:B?9LC MV('$G;2)._GVQ.5%6:EZ2Z.()TH6FR1*LKQ2D!!HZE")U.1+=6AXPOL4B-)U MFZSTL4M,1C,EB<*!5S# S!;&5J4"P"BC!I"B+O"@"WPGTDV-/A2'=QE#6UY) M[)$C D\Q*G?PJZP!\@U[3FH"88!S^KJL" ML+QQ\?U*YDOM-5[P,H9K#VW7+V02C0(_['0$T<@-@DZ'ZX6CF>=U>B*TB<*? MMAZ7P#C>>WY.D![,)0Z7DFYQ7390[TYIMO_)M/DZ50XD)_XHG'E=T?=G1Z-. MU!6]Z81YALMGD ML(C1+/POC@U4@99L, J1;$?T)VY7G(1>5W2G[@]?NJ:]&EB1']5>F+W029JQ M,^N(SGCF=$1O[$^/E,.P7G<,^A'&] @CFAUC^,<8K7CJO+([#P2L.!OS#)*X M\EATZ[="V]N^M,[K!\9!O7ZFX6F_R9@D.:S1U!E/\202]=.G%A0OS7-CQ14^ M7LQOBJ]%$%H!Q]>&PO=V]R:W-H965T)GH@(_(3:Z-A6,'VUG'O^?LM"&%$NT3E5+;Y[O'S]F/[48B8;PYF .T5T4U54_5P"E[NY%WD'PR>V+8TU!(M93;>P O.Y MOE,X"CJ4@E4@-)."*-C,O>OH!\0.][M M0H[E*VKH8J;DCBCKC6BVXU)UT4B."7LH*Z-PEF&<6;P#3$F3LWNZYJ#/9X%! M4#L5Y'N 90L0_P-@2MY+84I-7HL"BN/X ,ETC.(#HV4\"+B"^H(DH4_B,$X' M\)(NP\3A)8,9GDJLC4M/Q]G;<*EKFL/<0[EK4 _@+5X\BT;AU0"KM&.5#J$O M5NTE(')#3; M$W]NQ5N1\Z; "ZM+J6FR*UE>NJ-D*"V<891?D &I9IU4LZ=*5?ZQ M&9S1->/,L-,7;!CW8Z.& %TJ"FK,$P]46DD"N9%XO+C]A>UIR5E![>R2:,4WN6A_?.)P)INWR][7[N3MA >\))X[,?3\6]*H\1/L[^I/B=IFOAAVE=S MDDW]R2@[6$ZI+.@5I0K4UI5>C>^A1IBV/G76KKI?MT7MMWO[:?">JBT3&G/< M8&AX,49AJ;;AVW9@"1\NWOXD/?^;Q0:* MU Q5!26NK)0N4HM#O?9-I2%=UDY%[@O&(K](L]*;CNNY>ST=JZW-LQ+N-3'; MHDCUTQWD:C?QN'>8>,C6&^LF_.FX2M

. MW]Y)9U\;_)K!SG3ZQ)UDKM17-_BXG'C,$8(<%M8AI-@\PGO(

$-'[?8WKM MELZQVS^@_UR?'<\R3PV\5_EOV=)N)E[LD26LTFUN']3N%]B?)W1X"Y6;^B_9 M-;82C1=;8U6Q=T8&158V;?IM?P\=AYB=<1![!U'S;C:J6?Z8VG0ZUFI'M+-& M-->ICUI[([FL=$&968VK&?K9Z0-42MMTG@.9P1IOVQKRYK,;FYNQ;W$'9^P_-[?1V8M/7&@=R,1'N:IF>QQL1(YJXZ2_$-!'\AGQ6-LT[ M+#F-9$)9'-7]4"148O_?"D&)8GNY"' Z&DF:1*+NQT& 40C/14'0).!X1_TH M"!HDDG(N_TH<8DZ#^%0-#JE9*P#3$2$!T,^ MZ)88%$TH23),!F>+"\>L#L+.>,@&?2N68*WBSV,Q# ;]6I'$-(RX6V5=&GP4 MT#@)';;L8[^4K/Y^;;EVQZL$]2*J^TY(!P&=G#Q9'TDOY MG9=N@;3K][PA"[4M;?/H;6?;3X9WS4OYV;SYWOB4ZG6&A3V'%;JRX2CTB&[> M\,W JJI^-\^5Q5=XW=W@9P]H9X#K*Z7L8> V:#^DIG\ 4$L#!!0 ( !6. M9%D3Y^[E#P( )$$ 9 >&PO=V]R:W-H965T;JE7 :S>Y)-;\)]B7=GQ[;"<-1>HJ MWC0^^YZ?GTOODAV,?7(M ))G);7+:8O8K1AS90N*NYGI0/N3VEC%T8>V8:ZS MP*LH4I*E27+-%!>:%EGN5XO;W&J0YY'1.CQN/HFDQ;+ B MZW@#6\#OW<;ZB$V42BC03AA-+-0YO9FOULN0'Q-^"#BXDS4)E>R,>0K!MRJG M23 $$DH,!.X?>[@%*0/(V_@U,NET91">KH_T+[%V7\N..[@U\J>HL,WI!THJ MJ'DO\=$S@1I.D+@G04 MI-'W<%%T><>1%YDU!V)#MJ>%12PUJKTYH<.?LD7K3X778?' L;= 3$W6O?-G MSI$W=X!<2/M_V: #0G^O#8&CT&X8/H*%7\ 4$L#!!0 ( !6.9%DH M&T7X6@, #L+ 9 >&PO=V]R:W-H965T]G8/5O(;"S6FE$."XG4NJJ(_',-3&PG7N@]/KBE M]Z6V#_QL7)-[6(+^6B^DV?DM2T$KX(H*CB2L)M[[\&J>6GMG\(W"5NVMD8WD M3HA?=O.QF'B!/1 PR+5E(.9O U-@S!*98_QN.+W6I07NKQ_9;USL)I8[HF J MV'=:Z'+B#3U4P(JLF;X5VP_0Q)-8OEPPY7[1MK$-/)2OE195 S8GJ"C?_9.' M1H<]0(S_ < - )\+B!I ="X@;@#QN8"D ;C0_5WL3K@9T20;2[%%TEH;-KMP MZCNTT8MR>T^66IJWU.!T=DT454BLT$*" JZ)2]];= M*2YIK*-"4J!*]GH$F ME*DWYMW7Y0R]?OD&O424HR^E6"O""S7VM3F/9?7SQO?USC?^A^\EU)AL\@-_#0P:,>^.Q\[WWP^?G>\2'<-SEH$X';1&#'%_U/(OHTW='$ M_32VK5RIFN0P\6I+)#?@9:]>A&GPKD_AIR2;/279_(G(#G(1M;F(3K%G[L:; M.XURNX#?:[HAS.2D]X[OJ%)'9;OR)HL2G":#L;_95_K8#(>#P6!X:#8[-C,Q M#:+TT&S>PQ8/TQ%NS0[BCMNXXY-Q[Q6]BYSRG*T+LS-U;F2N"2T0/)A/E (G MC] E2-.EI#3B(*(4]$L4'YTV27$GI&F/T2"-._+T& W#H"/.L5$8X-&H7YND MU28Y5QM[/2[0TI0H5#9P4[0WE!.>4\+00BCJ>NB/^8.VW],[!FC.UQ5(5](_ M^P0Z[7K12#_?D_ZSD_Z]D_P"37/1_U_%FH#_*>MGE/3_KZ(K3) M:NY2WFT'SK'L%(TJQ9;;BC$'0E/!"WO$PJZ48+0@UK"].Z[CNW9S8R:VWN)) M>_K+$ ^C3OD4* M,5@98' Y,'F4NU%MM]&B=K/(G=!FLG'+TDRW(*V!>;\20C]N['C3SLO97U!+ M P04 " 5CF19 ':88X4$ #*' &0 'AL+W=O]*'K!2,K2'%?$!SR.0_2\I2+.0E6YD\9X#C4I0FIF-98S/%)#.\:7GOGGE3NA$) MR>">(;Y)4\R>;R&ANYEA&R\W'LAJ+8H;IC?-\0H6(+[D]TQ>F0TE)BEDG- , M,5C.C!O[.K1'A: L\2N!'3\X1\6C/%+ZM;CX%,\,JZ@1)!") H'E80MS2)*" M).OQ9PTUFIB%\/#\A1Z6#R\?YA%SF-/D-Q*+]E-$=8D5I22M.2KM*M4PPR8J6M1!, M_DND3GBWF!..Z!+=,^"0"5SZ_0.ZB2*ZR01'#Q !V>+'!- "H@TC@OQ5%0IQ M1!(BGM%['P0F"?\@=5\6/GK_[@-ZATB&[DB2R))\:@I9U2*@&=75NJVJY;Q2 M+1O=T4RL.0JR&.(._5RM=]_2!VK]E4)ORA0W>79>\GSK*($_;9(![7=GX;]'#?QV]E4NW:;-NR7-?X;VTS0OT,Q4@#Y\I MSCC"68Q"DN$L(MGJL-W^_ED"T"FR0@GK:X5.F*\3 M%E2PD1G'>U];5EPV5EPJK7B '#_+&9=\)3,-S"M?-K6?H9HJ8>&'"*"$W2_83GE(*=$HDC>WZ@CU1'ZP.V-]TJE6'T]4,=-)\K;1 *RW416LW V?? M#!QE%_ +PS%T?1MV+^TH8;U-=DY[-<=U!O91'ZHU:G!FU%!7U+8Q^Y406SG1 M]N[P$TDWG9-@M;*W"UK7-;32 JVT4!>M[>A^;<,>?ML>5^?*P5PKS==*"[32 M0EVT=C/8KY+8_]LRB7VZU&"/CKZ[Y^KPO8W4NE2BE1;JHE5&F@=;+2FP5;DI MQE%I5K6"W=QM-MYNRNVFH_MS^]JW.^X'Q49=N;6SQU>[?'>8K8CL"A)8RE#6 M8"(?C%4;9]6%H'FYT?-(A:!I>;H&.7"SHH#\?TEECU)?% &:[4OO'U!+ P04 M " 5CF19HAC1K=<# G%P &0 'AL+W=O#&XY*LX0GDQW+.U9W;4-*L "HR1A&'U<3Y MX-\G?J0=C,7?&>S%R372J2P8>]8W?Z03Q],S@AR64B.(^MG!#/)'^B_F>15,@LB8,;R?[)4;B;.R$$IK,@VEX]L_SO4"0TT;\ER8?ZB M?65[&SIHN162%;6SFD&1T>J7O-2%.'$(+CD$M4-P[A!<< AKA_"M$:+:(3IS M"/T+#H/:P:3N5KF;PF$B23SF;(^XME8T?6&J;[Q5O3*J7Y0GR=733/G)>$I$ M)A!;H3D' 502(]^O:&9" T=+1I=JG%&)4;@1*:0MKAC_O][WK\795UDWIP2'T:] *?H+Q!H?<+"KP@JFL-O&-B ML[=S0O3Q":-W/W;5!UN:3O(-T[G :]4M;%Z9T 0(+P3H?C6Z7HB*$W5S= N\ M%R59PL0I]3>3?M9?[ MK-LL\MMFN-O,.Z,EG6;A*.AN(*,F_=$;6V]OVQV]VMQFKYO@UTV27I-6AG=- MAG??L46JAP\9S8IMT566WLC7KD^;,&P3EEB"M>3SO>/'O6>I7=8@2WI8I6&K MM,06K2W)R7[+[UU3]9) 9:MY\L-*6P,%I1*D:/'%?-*UUE:G>R%;0M27"4)/C.;8Z\7&IS_:&O5L3',2J8Z>V M YVT'S_;23-H 6T37Q+;N??.[_ELI[\6\E'EB!J>"\;5P,NU+B]]7Z4Y%D2= MBQ*Y^;(0LB#:=.725Z5$DCE0P?RPTXG]@E#N#?MN;"J'?5%I1CE.):BJ*(C\ M>8U,K =>X+T,W-%EKNV /^R79(DSU/?E5)J>W[)DM$"NJ. @<3'PKH++46+C M7< #Q;7::(-5,A?BT78FV<#KV DAPU1;!F)>*QPA8Y;(3..IX?3:E!:XV7YA M_^RT&RUSHG DV ^:Z7S@77B0X8)43-^)]1=L]/0L7RJ8<-]^2=87D.4><#A)VPNP,^ M.@P?8VK@@8-'VW#?.-#:$+8VA(ZONX?O6R4T9C"5-$5EI5VY\H(;(A_1V&&V M"TPRXPQ-"8,KI>S@Z5=<(8/@;)?\@_GLWKQ4)4EQX)G-IU"NT!N^?Q?$G4^[ MS#@2V98U46M-Y-BC/=;48G=)C(XI\4AD6Q*[K<3NP=4?$96#J6-(;0.?*KHB MS&Z#7:IKJMA1V3-R-8QZ8=Q+^OYJ4\_;L#!(DN2B#=N:::^=:>_@3"=%6@;V." M.(I>E:>_<;/86]VN;LNYH4;K+9BZTN;I<,S<_%RAM M@/F^$.:@;3KV_FI_5X:_ 5!+ P04 " 5CF19P57C7^@# 1$@ &0 M 'AL+W=O&C2)0\!FWO.M<^UKS^6!\:_ MBX00B5ZR-!F*#C!<07*4M.Q+-_, M,,V-];*J>^#K)2ME2G/RP)$HLPSS?^Y(R@XKPS:.%8]TETA58:Z7!=Z1)R*_ M%0\<2F;+$M.,Y(*R''&R71FW]LW&K@"5Q5^4'$3G':FN/#/V716^Q"O#4BTB M*8FDHL#PV)-[DJ:*"=KQHR$U6I\*V'T_LG^N.@^=><:"W+/T;QK+9&4L#!23 M+2Y3^<@.?Y"F0S/%%[%45/_HT-A:!HI*(5G6@*$%&#D^I'L25X2=(4>"*_&71X1Q)Y3NL,JD@*]#XG$-!4?P.;;4XC> MO_V WB*:HS\35@J7HBE>1N1($CLC(@BPG"]\18OWMC^]8GG<93 MDH53DFTF(NM%PVNCX8VQ'Z.A4[\&^A50K0C[M>U[@;7PE^:^*ZS&;N8$WJE= M.+3S?&SMJ>SG[14[6RP4A#A3X7Z32H*6>=MLP" M2_U.-!AU?>G@.M/I9B*G/37]5DW_G'$#JWG$=CG]%^;QEK/L-6V1@*?84C"# MW [MV5-([\J:,GV*]PJOE\H+G.YV8BGSW-%ZWFBS,U+W-<%)SMNW+VY>],!ZQ*]2116U;8;F5E MBM7&%8%UE%R5A=J$4NWH'VW1I2O?E&3A8A@P:SX,V$0^>P$+VH %E^8FB!E7 M&PWM0C?*=JG84Y*%4Y)M)B+KA<2V?IX$K*FV?0W31 &9E"V&PO=V]R:W-H965T6JEBZ/LR60/%LLT+8/IF MQ07%2F]%YLM" $ZM$LW]* CZ/L6$>?'(GLU$/.(;E1,&,X'DAE(L?DP@Y[NQ M%WJ'@SG)ULH<^/&HP!DL0'TI9D+O?(>2$@I,$LZ0@-78.P^'DS R"E;B*X&= M/%HCX\J2\UNS^9B.O< P@AP292"P?FWA O+<(&D>WRM0S]DTBL?K _I[Z[QV M9HDE7/#\&TG5>NP-/)3""F]R->>[#U YU#-X"<^E?:)=)1MX*-E(Q6FEK!E0 MPLHWWE>!.%+0./4*4:5@ ^&7ABS+2ZQP/!)\AX21UFAF85VUVIH<828K"R7T M+=%Z*I[#%M@&4 O-0-@DLP007^8DPR9L4M]<@L(DE^A-M7@[\I4V;0#\I#(S M*23"\@)NMH7NJ0@19\)-7)\A1;Z2JYP4@HL%!8*Z70 MNC[?$WDSM"Q;8= *PKK8-5(S?3F4!4Y@[.G&DR"VX,6O7X7]X%V#XUWG>->B M=QXH #AXI:Q7=32[ST"SYVCV_E%^ZCQKMAU&B-KJ;?"C[_SH-V)IT@DPI3]X MAI=PSA2UW7>4%8Z6H.43GC'R4Q\09G0(3^O\*3F$9<[-AWD;!^W>8.1O:ZB? M.NJG+]PBO;)%T"\TU?AT0]'U%.@2Q$V=DXUL'UF. Q>+P5-US> 9:)XYFFF-3SZ:X=/57\5TA,SC>Z81B]8@@\8 M#P<-->@?34T41&9G0XD2OF&J'*#5Q[\!4$L#!!0 ( M !6.9%E6!RG3 , '<( 9 >&PO=V]R:W-H965T&$92E$4*,WUM-IPEI'/?'._4O-G?, M9485C$3Y@^6Z&#J)0W*8TU6I)V+S%;;Y1$8O$Z6ROV13V\88,5LI+:JM,\XK MQNM_^KBMPYX#ZK0[^%L'_Z5#^(I#L'4(;*(UF4UK3#5-!U)LB#36J&8&MC;6 M&[-AW.SB5$M\RM!/IQ-8 U\!^4A&@FN)5254*="*G(]!4U:J#CZ[GX[)^5F' MG!'&R;="K!3EN1JX&@F,CIMMHUW7T?Q7HO7)+48I%/G,<\@/_5TD;_#]'?ZU M?U)P"LL+$G@?B._Y80O/Z+3[&#)T[UKWX 1.T%0SL'K!&]6<2U$]%W3#=$%& M=B]!DI]7,V77?[75K]8/V_7-D;Y42YK!T,$SJT"NP4G?O^O&WJ>VY/^3V$$I MPJ84X2GU])[/6%E"CD?=UJ0MV5HAM@JFW:S3* B2R!^XZ_TTCLUB+^S&<6-V M !@U@-%)P EHX+IN1AFP-9V5K9"U2K07W?=[72]Z =EBAN]4E+1#Q@UD?!*R M>8>P88%DM,1SR84F3]C?&5>:FA)WVK#C(YXP[._5K*8^M@KZ\=X&'$#W&NC> MWT'7G:2-KG<4-_&BOCF#!WB]HYU/PKC;>V7GDX8O.QM[.2()_0"SWM!?3+ZOQX[=Z^W8_M8V"M/(>R*Z[K--ZO-K7IE+Q/WV;R^ MDF^I7.!+0TJ8HZMWTY4=%OAE -(8X/.Y$'HW,0&: M;XWT#U!+ P04 " 5CF19!SP(_P4# #$" &0 'AL+W=OK8F>U NU\_VX&40II]:"_$=NXY]YQK[)O1AHM[60 H]%!2)L=.H51U MX;HR+:#$\HQ7P/2;G(L2*ST5*U=6 G!F025U \^+W1(3YDQ&=NU&3$:\5I0P MN!%(UF6)Q>,E4+X9.[ZS6[@EJT*9!7M=>EEC"C-.O)%/%V!DZ*(,O(&G2#"T.>"UQ*S3(Y4+?U/27/#RJ:H;H@HTLQL* GV;+J5=_]Y5OX9_T,UOSO6%K' *8TACUZ7-00C(]'FW->DRVS#$EL'<.>M)'$6! M'XW<];Z-X[ P#OWHO U[)C!J!4:] J=I*FJMCW(I427XFICKJ4MFPQ/MY?>' MP_A Y'%0&/I)M\2XE1CW2NPZEUT"XZ/<<93XGG\@,>ZH8SQ(XFZ122LRZ15Y MQ5+=0R28JR']0\')D>#@W(L][T!P;^)__/\.6UO#7EN[HRP@Y2M&?NI_"F$I MK3,[.';ZB+!"2U@1Q@A;(9ZC"@3A69?]X?%&!+Y_9+]7X-_:=_<:A;Z&5K9_ M2NVC9JKI&>UJVZ*GMC.Y3^%-?[_&0MN4B$*NH=Y9HC=2-#VSF2A>V;:SY$K? M>798Z,\,$"9 O\\Y5[N)2=!^N$Q^ 5!+ P04 " 5CF19:H<]4((* "# M9@ &0 'AL+W=OCVW9%G9&FDJRG0#]\=5\9#BD*-J:GKU)YN/P MD:B7?*TCOB.=O]3-[^UC473)M]6R:B]FCUVW/IO/V]O'8K5HW]?KHNJ_N:^; MU:+KWS8/\W;=%(N[;:/5=<]7LRR67)7W"^> MEMV7^N5OQ;Y#8L.[K9?M]M_D9:]-9\GM4]O5JWWC?@]69;7[?_%M?R".&O2< M< .Z;T#]!GRD =LW8&_= M\WX&_=@M@WV'9]ONO[]L#I1;>X/&_JEZ39J'O: MYL7VZ&];]\>KK#8#Y;IK^F_+OEUW^:5X+JJG(GF7Z+)=/#PTQ<-B&\'ZOA\' MN^]NON_WI&B2[ONZ2!;577);5UW3AWGWR<^ZZ!;ELOVE!WV]ULG//_V2_)24 M5?+/Q_JI[?7M^;SK=W>ST?GM?M<^[G:-CNP:2S[UVWAL$U/=%7>!]CK>/H^T MG_>'Z7"LZ(]C]9%&@=?%^GW"TK\D-*4\L#]7;V_.0MWY_[9N3MZZ"P M+8^-\(;#93^40H'>H7@8M3Y_/GXP 9T@N;_EM^*NV3=E+?!WD8;3QUK2)A&P@P(YD1 M'B(@<7-?(N.!A&DDS(!@3CS4(1[JU+F_:RB.YJ"4.2/>5+T*R#AE+/=F_E!& M%%"1$O]:0$ G,J8RX:> H:X_QV!<#%) M0-B?%-"C>6!:,O)(PY)TU":0='<&%AC1C)@'H Z-2A- M0VD&17.C8MT:B9J/:![( W^Z*4_5X%Q@*,RY4/Z?>!W0T5S05 S<04 H*>4R M#R<":KT0C7NAWZJN:-KB855475(LRU59;8=C<.TASIHZ"*$T#:49%,V-BO5L ME.!2 X5Z-RA-0VD&17.C8KT;C;J06&K8MSR>H.]HEA+J98:0+LNIGQB",L(R M#V?&-CN6%JPAHG%#-)H6DO\FKZPEQ,F3AR-TY0I*,RB:&R/KXR@')@FHNX/2 M-)1F4#0W*M;=T?A*6RP&(C!;G4M\^Z,;T!$I4S])!&0JIXSY22*D4Z,YPCHF M&G=,L1P17W6(@RM"H1YT\>D=#U M,"C-H&AN69)U@2S%Y0D&=8%0FH;2#(KF1L6Z0!9?N8O%@ 3F+/,O2 95&?&N M+NB0C H/9H*J?.Q2)+.NBL5=52Q+C%RBC!,GCT#HNAB49E T-S9']8K(@D5L MQ2*V9!%;L_A'&#]FC1\[N6QQW]*=I/[ER9!H4.*@@RCAURN&5((=+7FX?;0V MBL5M5"PK1!8OXM3)8Q"Z7 :E&13-C8\U?PQ8SLB@?@]*TU":0='R5NL:N7)9=66P2 MPC_61=./P^HAN=YEC. !@*Z@06D:2C,HFAL9:_L8L."102T>E*:A-(.BN;]T ML!:/GUSTR -%CU)2[I\WA'0BE=*_[A#0$:5X+OWEBY P8TS*D=,';JT3CUNG M:'9X?0TC3I\Z*J$T#:49%,V-DS5_'%@.R:&V#TK34)I!T=RH6-O'3RZ'Y,.J MQ"PC4OFI(ECEF/JG!SJ@HS)3;/"SJ( NYVKL&B4_^@58W$N]EBCB"QEQ^.01 M"5U5@](,BN:&R=I!#JR9Y% 3"*5I*,V@:&Y4K GD)]=,\F'I(F?].0#S$T5 M1XCT+V7J@*YW&S3+!YDB).1.?;7;6VNN>-QK)JY N%$LE;F?(D)" M)G*>C^4(Z[1$W&F]EB,B2QUQ\N01"5UN@](,BN;&R%I$ :RS%%!'"*5I*,V@ M:&Y4CFYH)[[>2*@X[U%\;U'0,*. M:CPWO+[,$4=/'I/0Q3FL]8)JI/+,-6P&E)1FGL.X2HDR_KTX-]V=BBCG*7$ M__5G2$<9R4;*)91U5RKNKJ+)(;*N$<=.'8I0FH;2#(KF!L@:0@6LO510"PBE M:2C-H&AN5*P%5"?77NY;'M\9D+[9".BR-,L'MZ(,Z*C,>J%_42(D)"K- MCVXUL>OM_.BA&JM^^F^?9M(FM_53U>T>DW#X]/#$E _;YX1XGW\D9UY=.B>2BK-ED6]_VFTO>JSVC-[HDGNS==O=X^TN.F[KIZM7WY M6"SNBF8CZ+^_K^ONQYO-!@[/G;G\'U!+ P04 " 5CF19O$#ONHX" "\ M"0 &0 'AL+W=O_3"I:M;MLP,WP:K!S':2]M_/!HI"EY(UX@OX<<_Q.9=K['C' M^(/( 21Z+&@IID8N975IFB+-H<#B@E50JID5XP66JLO7IJ@XX*P&%=1T+"LP M"TQ*(XGKL5N>Q&PC*2GAEB.Q*0K,GZZ!LMW4L(WG@3NRSJ4>,).XPFM8@+RO M;KGJF1U+1@HH!6$EXK":&E?VY6RBX^N 7P1V8J^-M),E8P^ZDU%]Q(;F:)0HGDV^,93M"*<)E MAFY*B*#&KQ?S-'YV0=TADB)?N9L(Q1K.Z^LOH#J KG61^18CG< /AN&SR%5<+N&NWVXJ?+0)!;,)+W[^S ^GS(UDAD/9-N9](=8A\T MV2"#&JGW_S:)_##PK=C<[LL_&M83YG7"O$%A]Y)0(@DE,3DXNL,D_?R?;]^PH>E%@1\,: M8>;>V:KO-3\P7Y-2( HK!;0N0E6BO+DK-!W)JOJX73*I#N^ZF:OK%7 =H.97 MC,GGCC[!NPM;\A=02P,$% @ %8YD6?8$R .1! (1T !D !X;"]W M;W)K&ULK5E=)<1;H73?>4_>0;0@1X MSK."SXR-$-L;T^3+#F
"[/,?LUQW)Z'YF0..EX6NZWHBRP9Q/MWA-'HCXOKUG M\LYL69(T)P5/:0$86'UV#\E4>*?U9WGQ.9H95CHAD M9"E*"BQ_GLB"9%G)),?Q;T-JM)HE\/CZA3VN7EZ^S"/F9$&S'VDB-C-C8H"$ MK/ N$U_I_F_2O)!;\BUIQJN_8-_TM0RPW'%!\P8L1Y"G1?V+GQLCC@"21PU M#0#U 9'3>&H*B#'_\P_H67^I@J.3+-1)%NDDBS61=8+JM$%UAMCGGQCE'"PP8[_28@UN M<[HKA"JP-8U7T93[W-/E#Q4JM'BD8Z16.%Z,3W M;$_MM==Z[0UZ?;).?00%42Z;L_H0;E+C1ZG&>G4C!6:R'<]J/;9 M;WWVA^?TT3P&Y%DFR9P NI(IQ(A]PC\9DN-;5L]X_^1_T47]3N$I$W2M?J_H ME IZ7K]7//C"O[D23UH[)X-V?F,X(07.B=*O0>RE^ZI.LE G6:23+-9$UHEF MT$8S>'NR%.@,JDZR4"=9I),LUD36"2JT#F66I2==:G@ZRU* 4'^%&Y:[-&KC M1".MHO&KHEVKCRI:J"UE:JBZZ8OO!?V4:5CR8KO'J49:56.EJNL'P1G#T<%P MI"EO:HBZ>RZ:],T>E+O8[#&:D5;-6*%I.^A,V@0/=3039S /:'@X7]1(^D-[V]J>Y]U6IUB]]CMX MLX"*]A#>1/5IW8&^/CS\@MDZ+3C(R$I*6=>^G!NL/H^K;P3=5N='CU3([*.Z MW!"<$%9VD,]7E(J7FU*@/16=_P]02P,$% @ %8YD63 0N([F @ O@D M !D !X;"]W;W)K&ULK99=;]HP&(7_BI554RMU MS7> #B*U=-UZ,:DJ[79MR NQZMB9;:#;KY_MI%$*:9C0;H@=^QP_YPV.,]YR M\2QS (5>"LKDQ,F5*B]=5RYR*+"\X"4P/;+DHL!*=\7*E:4 G%E10=W \Q*W MP(0YZ=C>NQ?IF*\5)0SN!9+KHL#B]S50OITXOO-ZXX&LNYGH,6:ZEX48LU04%8=<4O=1U: C]Z1Q#4@N!?!6$M M"&W0BLS&NL$*IV/!MTB8V=K--&QMK%JG(I1HG4J_=KJ9WDV%4:SBSA+FJ0ZPHD> =D!N4%"KUS%'A!U"&?]LMO8*'EOI6';^6N M+DE3EZ"I2V#]PG?\ODA%])\$,K2L"H#;!8 7O8LD(+V+=.RF:-@6K2M[M5C4 MO9C9J9>RQ N8.'HK2A ;<-*/'_S$^]Q5B?]D]J8N85.7L,\]-4\'G0HP+PC" M5DCE @ 5G*E*9LT2N+AV-VT$_6N>62BJ$D4'4H4=X%7JK@% M[@^2Q-\A[_4^DCQNR.-#Y$D7>;Q/GOC1+GFO]Y'D24.>'"(?=)$G^^1QXD4[ MY+W>1Y(/&O+!(?)A%_E@GSP*A[LU[_4^DGS8D ][R1]ST,?\4H'HXA]V\$>^ M[^T$Z%WBR "C)L"H-\#=[HOV'#%076%&>^^

;I.8] S#DH1*U7G@[ M8YHKW]?E#BJF+V4#-7[92%4Q@UVU]76C@*T[4"7\D-+4KQBOO6+>C=VH8BY; M(W@--XKHMJJ8.GP (?<++_ >!V[Y=F?L@%_,&[:%.S#?FAN%/7]D6?,*:LUE M311L%M[[X&H94 OH(O[AL-=';6)364GYW78^K1<>M8I 0&DL!<._>UB"$)8) M=?P82+UQ3@L\;C^R_]4EC\FLF(:E%/_RM=DMO-PC:]BP5IA;N?\(0T*)Y2NE MT-TOV?>Q6>J1LM5&5@,8%52\[O_9PV#$$2"(GP&$ R#\74 T *(NT5Y9E]8U M,ZR8*[DGRD8CFVUTWG1HS(;7MHQW1N%7CCA3O"]+V=9&DQMV8"L!A-5K@H.J MA37YS-F*"VXX:/+Z&@SC0K\A[\BWNVOR^N(-N2"\)E]WLM6(TG/?H"!+ZY?# MY!_ZR<-G)K^#YI)$]"T):1@[X,MI^#64" \Z>/04[J,-HQ?AZ$78\47_TPM7 MHCUS[&:V>_%*-ZR$A8>;38.Z!Z]X]4>0TC]=:;\0V1,3HM&$:(J]N 4#=;_# MJMX-7I>B7:,%W.ZZP:*FM\AE1<^?=OSV%+DO8II1.O?OCW,\CPKCXZ@GXN-1 M?/RK"G;%$M/%BE^R6"]$]B3?9,PWF2P6+E0EA>@6J@+!#.8.52/D 8"LH(8- M-TX'>MKDR/T@#>,@/"F2(XSF:9"[JY2.JM-)UFYE"#)XNA$\7G8+(V#P"TX&P5GTX*9;IDP!]P!NE6L+H$,M72:FYU+ M3=(D/U'JB,IID+B5YJ/2?%JI5(U$4\'N6ED!,>P!#V^[/J39@>K[+M'YF9PT MHTEP(OH\*HA#&KE%ST;1LTG1?UME+DVSL]G")*:G)7=$X5I^QLB _G^&\9W8O$34$L#!!0 M ( !6.9%G9;1&J@P, !,/ 9 >&PO=V]R:W-H965TWDGN-S[!M?>[;CXH?< "CTJRJ9G#L;I>H+UY7%!BHBSWD-3+]9 M<5$1I;MB[Y8EK8!)RAD2L)H[;_'% L<&T$1\ MH["3!VUDK-QR_L-T/B[GCF<400F%,A1$_]W! LK2,&D=/SM2IQ_3 _;_]C? M-^:UF5LB8<'+[W2I-G,G== 25F1;JB]\]P$Z0Y'A*W@IFU^T:V.CR$'%5BI> M=6"MH**L_2>_NHDX .#P'H#? ?R' H(.$#1&6V6-K4NB2#X3?(>$B=9LIM', M38/6;B@SRWBMA'Y+-4[E"P%+JM!;(0A;@UX?)='+2U"$EO(5.D,WUY?HY?-7 MZ#FB#'W=\*TD;"EGKM)C&P:WZ,9YUX[CWS/.-=3G*/!>(]_S0PM\,0Z_A$+# M<0,/AG!7.^YM^[UMO^$+_F-[+: U;7/44H1V"O-]7>:E:1S-W+M# Y:P M.$S"I \;2 M[:>&HM!M&*BX4_0/+1B"B4FX)*P 57-J7I26,#H2<11C'1W(M M45IN9%<;]6JC!T[D:\3 .IO1R;B9%R1A=B3/$A:E?N+;]<6]OGA4WR>0\D)O M&T+HG$:UF5C.;"KCT]E)XB3"1RIM8;[V8U>9]"J3<96R+6%I%,2977;:RT['%]\H+CFQ*AN%/G:OF(ALX#+K769/WQFS M*=U.1#9PB[U]_?.>L#=VX$$J!6F<^4<99XM+0NRG]I3#!^49C\I;\*H"45"M M$7YN:6V6!#&NP%Z#1\D>NS!3L0VM[TLTGJ!&XTF+]%1L0\?[,HV?4J<[\&&. M1=@/O.-4/ U+L.>%]V3BOE#C\4K]66_+:WVR'\F^48)'K\5$;$.[^TJ/HPFR M;_2X\&C'$[$-'>_/#GC\\/"?[(M/SG\XS<+@./LL85F,C\]=[L&-Q5P7/Q.Q MIDRB$E8:YYTG>BI$>P-K.XK7S27FEBM])6J:&WUK!6$"]/L5UUG9=&PO=V]R:W-H965T M1:(DUNVD3=6ZW5Z[ M8"!:$G.V@>YT'_[L)"48@D>TIR\*"7E^3^)_;,?_V.,]%]_EFC&%7K(TE_>= MM5*;NVY7SM"T441E*5=['EA-Z-)WIF,BWV/ M8C+F6Y4F.7L42&ZSC(H?#RSE^_N.WWG=\3E9K979T9V,-W3%GICZNGD4>JM[ MH"R2C.4RX3D2;'G?F?IWI.>9@.*(OQ.VET??D;F49\Z_FXT/B_N.9\Z(I6RN M#(+JCQV;L30U)'T>_U30SB&G"3S^_DHGQ<7KBWFFDLUX^BU9J/5]9]A!"[:D MVU1]YOL_675!@>'->2J+_VA?'COP.FB^E8IG5; ^@RS)RT_Z4A7$48#?OQ" MJP!\&A!<".A5 ;UK,_2K@/ZU 4$5$%P;$%8!85'V96$5)1U112=CP?=(F*,U MS7PIY"JB=0$GN;FSGI30OR8Z3DUF@BT2A:9"T'S%]"VC)+I!GZC>-I)+]#9B MBB:I?*=W?WV*T-LW[] ;E.3HRYIO)Q0-V J?;U2WR_/<(>Q@WG8\[_(EM;E'/*\+[#>'1 M]>&]AO#8'1ZQN0[W+X83=_A?-+\4;I5E[W!'] I>[R=WQ$JP\GYH.*6'$M%O M1IC6\$YNZ)S==W1S)YG8L<[D]]_\T/NC21Q(6 0)BR%A! AFB=H_B-IWT2?? MBA:6+1#=,:%[#%V!%=-I%-+UG*&W5"**-DS,M>#OF@1WXML*7L+\\HXV?=]N MXMUZH3_N[HZEA,P97\@YM',2H)R62,%!I, ITB/]43; NL=->;ZZT1)ENIM\ M5DV*.%EM%2EAX5'AW 3!<'!2.E'#86'H!8%]6 QY:@0(9BD2'A0)G8I,5[H5 M7)D:LA%)/D\V-$4TX]N\41$GJZTB)2PX*NJ1UQOT1R>*0.:,PS-Y1\$0#_!) M'0'*:2DR."@R<"KR-=?E+U3RKV[+3,U B91;FL\9FG/9W%@4Y8/5F<@]W30*X82T%0(2%D'"8D@8 M 8)9LHX.LHY^_4EP!"DJ)"R"A,60, ($LT3UO7K$YSEKZR=NQO2Z)YM>[,G< MA+:J5K3C%JSGF;^35A,T:US1PI]D)5!9;36.QM^^4XW32M8HAQ/16@Y(6@1* MBT%I!(IF2XMK:?&OMY\5 TI;2%H$2HM!:02*9FM;FR2^<[@^>2S'RF8HS9=H M7BI-7Y5^C]1:9UWS=(',@Y%(2A]5'ZJX,H,(*=F%^Z',Z_>L@>K)(_C,?7:M M=08U34!I!(IFZUS[)K[;./G,=CS=)?D*F5]JK1NE S5)0&D1*"T&I1$HFBUQ M[;KX 4 S#6JW@-(B4%H,2B-0-%O;VK_QW0;.1_J29-L,/7.A8TTUGE.=+E$_ M&D4^-T!Z.#A[9)RYD[:6#]3# :41*)HM7VWV^&ZWY^%5-HGX5DE%\X7>:)0. MU.7QSSV7L\$*J,<#2B-0-%NUV@WRW7;0=$>3E#ZG[-IJ!VH,5;3C2HP'&)^/ M-D%-'U :@:+9 M:^C^]T("9?S'N'E-.\42U0QP>4%H'28E :@:+9+\AKUP=[ MO_Z4@T%]'U!:!$J+06D$BF9K6WM(V.TA/5[Q_M:*@9A H+0:ED8KF]^U)6'UO%%S0M#9ZL-OH M>: RD:B<76WF3^VH2(HAZ+62@D[>J6BGL\W\TUD;$6C:&)1&H&BVHK7W@]W> MSXQGF18LT6UKRI2NH-+MOKMQK16$I$6@M!B41J!HMLRU682' ]'H X1*"T" MI<6@- )%L[6M?23L]I':N>\5[*?NNSMI:_E +2-0&H&BV>L :LNHYYXH=+W[ M[@:U7@]P/G,GP,,S QW2>NBI58$LW-B*-<)'/8>UCM M-2W6.)WLG_EW4;EFJ\:42\@^4K%*K<#_:@FRE59Y8;BFV(5T3-7 MBF?%U[5^UF+"'*!_7W*N7C=,@L/:N,G_4$L#!!0 ( !6.9%D-7@*&A@( M )X' 9 >&PO=V]R:W-H965TZ MG**]5$]Z V#((>="3[V-,<6U[^MD SG5'5F P).U5#DU:*K,UX4"FKJ@G/MA M$ S]G#+AQ9';>U!Q)+>&,P$/BNAMGE/U/ K'L]GUA_Y_"#P5Z?K(G-9"7EDS6^IE,OL(* M0V(L L7/#A; N05"&;\J3*^FM(&GZR/ZKV",IK.F6 MFT>YOX,JGX'%2R37[I?L2]]1Z)%DJXW,JV!4D#-1?NFAJL-)0'@N(*P"0J>[ M)'(J;ZBA<:3DGBCKC6AVX5)UT2B."7LI2Z/PE&&W-&&<&0::7-Z H8SK*W)!F"#WC',LKHY\@V(LI)]4Q/.2.#Q# MO(2B0WK!)Q(&89\L9C?D\N+J3Q@?Y/ WCL([-<"^ZV%O*<' MEF]SLI(*(YG(2$*1[$PI2ZRAP[*#8!=W^Y&_:^ ?U/R#5O[9#ON,KCC\I8(2 M;7"JH->L8%@K&+8JF!]Y-<%QI@T5*1I-W,-7W$$S]:BF'K52X\3!>2((!V- M(?^:)*YAFMA;H?ZQ2\:UT/'_M_'X'01.:H&3UDI^>UG!M^YR\KJ37]RE?S)N M[&ULK9=A;]HP$(;_BI554RM-34B E@XBE6;3.JE35=3M MLTD.L.K8F>U )^W'SW9"2BK(RN8O)'9\C^]>^\QYO.'B2:X %'K.*9,3;Z54 M<>7[,EU!CN4Y+X#I+PLN/+9]]R(>\U)1 MPN!>(%GF.1:_ID#Y9N+UO&W' UFNE.GPXW&!ES #]5C<"]WR&TI&=>\JZ07&P([X3F C=]Z1"67.^9-IW&83+S > 854&036CS7< *6&I/WX M64.]9DYCN/N^I7^VP>M@YEC"#:<_2*96$^_20QDL<$G5 ]]\@3J@@>&EG$K[ MBS;5V$'HH;24BN>UL?8@)ZQZXN=:B!V#*#I@$-8&X2N#\- ,46T0O=6@7QOT MK3)5*%:'!"LTUCZ: M[=8).7:[N80ECF M\8:->$-'Z3ITJ9]+6.((UM+OHM'OHCM=N:D',$77.2_W MIV(%&.ZD8A2\3L8WC$DZ'?G',"^;,"^/S3%]!,T@Y2Q#>"D #AU$G=QCMXU+ M6.((UM)SU.@Y&ULM5AM MC^(V$/XK5GJJ6(G;O$$6*"#MDJ1=Z>Z*CE[[H>H';V)(=(F=V@:V]^L[=K(I ML"&"7O8+),X\CR?SS(QC3_>,?Q4)(1(]YQD5,R.1LIB8IH@2DF-QRPI"XD!617XHEASNS9HG3G%"1,HHX6<^,>WL2CI6]-O@] M)7MQ<(W4FSPQ]E7=/,8SPU(.D8Q$4C%@^-N1! MZG>'=WG"@BQ8]D<:RV1FC P4DS7>9O(SV_]"JO<9*KZ(94+_HGUE:QDHV@K) M\@H,'N0I+?_Q\25-;"I"RV71D. 4ZH2:R4Y/$T!)^<^X>D.*W71 M(Q62;R%II$#OT<&#B%')(040IC%*#ZQZ/I$XS<0-V#]223@1$G$L"1)[7"B6 M+RL?]=[=H'> 0[\E;"N 0TQ-":XK!\RH,6O DAJ^/FO,3MP6DE7)'B%KE6'SF6,VCP9W$YW&UZG>^;/?B^V<-VN$\B M@-M-\*-8NG4.NIK/O2H'FY*DY!DT\Z@>/!$%CLC,@"8K"-\18_[C#[9G_=2D M4)=D?I=D09=D84=D1\H.:F4';>R'RF(AB!1]Z&F<@[Q-ZI9C9JN@06Z,P MI9A&*<[0DHE4+_]_!L]2?4L\900:*)0G]'@8_ZM)Q'8GEIP4.(U1\ Q?1H+H M%>57F1!>^B1JIYH*MI7Z6NW?SL^@2S_#CLB.4L:K4\:[MGPIHRT5W$IW;7_N MDLSODBSHDBST7C4AVW/=N@L="7=7"W=W9:U_JG7KMMQ;_;A6\2[)_"[)@B[) MPG;MCMO,IS/U=I06HSHM1JW4]SG;EJKW-K#GO$$9$P*VAQ';T/0;B1&(']>I MHZJ=-);YZ/6ZZ7@G"_5KF_>V:]T=6_E-5B-G>+(&-UAY8VMP;!6VOOO_[)3C M.K+C"PNNCWZ&T*+>!PCMS4FM/=*(Y00QCA8L!R\2567ZJU>/7U-W[>[4F[&* MN5>M8SFFJ0;?BMA_*^+@K8C#5N)K$\H\V*.#LAM]FB)@;PT566Z5 MZM'ZP.9>GU. MN)0WDA7ZA.")2&PO=V]R:W-H965T=A39D(LM2=+526R@UR)F"AB-[4-56/,^!R-PV&P>'@CJTK MM =AEC9T#4O ^V:AS"[L6 I6@]!,"J*@G :7P\E\;.M=P2\&.WVT)M;)2LH' MN[DIID%D!0&''"T#-8\MS(%S2V1D_&DY@^Y*"SQ>']B_.^_&RXIJF$O^FQ58 M38.O 2F@I!N.=W+W UH_3F NN7:?9.=KQZ. Y!N-LF[!1D'-A'_2?=N'(X#A MZ0?$+2!^"7CMAJ0%),ZH5^9L75&D6:KDCBA;;=CLPO7&H8T;)NRWN$1EWC*# MP^Q&Y+(&\I/N09.S*T#*N/Z4AFBX;468MSPSSQ._PG-!;J7 2I-K44#Q'!\: M39VP^"!L%I\D7$(S($GTF<11/.K1,W\_/#DA)^GZE#B^Y!U]ZNN.1X_ZT784 M)[JA.4P#,VL:U!:"[..'X7GTK<_:?R)[9G34&1V=8L^NRQ+<:!'F+2/=$T41 MS,SF4N2,,^H&\(P)TH#*06#O[\5?,_0-M6&RS:)!?)&&VV.K;U4]\S#N/(Q/ M>K@?+ >DA (4Y40CQ0U*]?B/H3.J"3WI8=RK;OC"PUM5WD-X-*0UJ+7++DUR MN1'HQZ([[>+QTJ7"B_.9B4V?4K5F0A,.I:&,!E^,,N5SS&]0-BX* M5A)-L+AE9:(?E"TP[TLI\;"Q%W1_)MD34$L#!!0 ( !6.9%FQ=*K?LPH M (>, 9 >&PO=V]R:W-H965TRT,ST!O_"639AIL&1)L^WF--L]GUU0 E.P6=LDY_S[E0W!B!C97NY\:8/Q M<^FQ_-Q"\HW-S4N<_$H74F;6G^M5E-YV%EFVN>YVT]E"KL/T*M[(2+WS&"?K M,%,ODZ=NNDED."^"UJNNT^L-NNMP&74F-\6V^V1R$V^SU3*2]XF5;M?K,/GK M3J[BE]N.W7G=\'WYM,CR#=W)S29\D@\R^[&Y3]2K[H$R7ZYEE"[CR$KDXVWG MBWTMO&$>4.SQGZ5\28_^MO)#^1G'O_(7?'[;Z>49R96<93DB5/\]RZEVCGT&8>>/SW*YT6!Z\.YF>8RFF\^F,YSQ:WG5''FLO'<+O*OL,3P.\N M]WKF>D4%[4YY42]^F(63FR1^L9)\?\7+_RB*KHA79;*,%F$BK8^^S,+E*OUD_6;]>/"MCQ\^61^L MKI7F[Z;6,K)^1,LL_7RTX=^+>)LJG-KX07M]T\U4RGG#W=D^O;M=>LZ9]%SK M:QQEB]0BT5S.*^*Y.7YLB.^JKCKTE_/:7W>.$?@@-U>6V_ML.3W'J\AG:@X7 MV\@8[IO#OX:)"K?/AA-SN"]GAW"W(IPV/_:J\*#YL5>%L^;'7A7.+SMQXO\^ M=JV.W(/NW(+GG>%-PW1AS??B4P/Z;*74,[<^*KG,XY5ZD5H;I<%"5)^J=+/# MCPI\_B'X/.E=]08WW>?C8C3FD'_T7J>;<"9O.^JS-97)L^Q,_OXW>]#[1U5I M(F$$":--^B) MLB0,%Z5OCW2TQ?<9I6 M#K4[Q.!(>OV1YYZ.M<:&VE8X$D:0,/JV,[R1[7DG@RVR28:$\;?YV\Y@[#@G MP^W;W48C;S2H'F\'AVH;&,=;7T:QFL6?'7$'R!$7"?.1,(*$420L0,(8$L:1 M, &":1H8'C0P-(ZX?Q17+-14-WQ6EA/EPEG5VC_>,QVE6R/AFCC:FUU0021I P6M49KCL^&:.133(DC%>> MS-[IC+AJ+V?8KQZB1X?R'!G+TU^NMOD5.TL^/LI9EI=AFL6S7[_E%^%4T;Z$ M2?5UC-&;;,8C]Z3\C$VW+3\DC"!A]&U7V#W[1(H!LD6&A/&*,]D_F=^(M_N, MQF[VC0FU[8VD3""A-&JSG#[]DEQ M(IMD2!BORK\_.)V]5NUE#^WJ K5[Y;7BGG'^2M[46^4T=D\!S6.A-!]*(U : MA=("*(U!:1Q*$RB:KHHC!\4V#MQW9Z:I+2[F[ELXOKIG7_5.)FQ3#),5Y[VP9EYA.V4!>G4SV$KIP=M2M*I M*LGA:4D:,VE=DD@:@=)H17_TKD9O:A+9)H/2>,41J)IT3VNRZKP/W#,U6=I= MMMGO^MTNG#/KX#=7UAS25IE":3Z41J T"J4%4!J#TCB4)E T71.E^V8;K8W< MCE<#\6Y5YX=9Y>+-C&@M":@-!Z41*(U":0&4QFK*@LJ?5Y;C?+;.?M,!FHY MT705E Z<;;;@OLM9G,S/"P#I_DRA-!]*(U :A=("*(W55,3AFS[G!8!,1Z!H MN@!*4] V^BV3O/*M^W!9]?6V.W-LZ_*'FH)0&H'2*)060&FLIAZ^;%3YVYZI M_*%N((JFEW_I!]IF0_#B;\*9^:TE O4(H30"I5$H+8#2V)YF_DH?A[8I4#1= M!Z7Q:)N=Q]^=)BMDI-,UA=)\*(U :11*"Z T!J5Q*$V@:+HF2DO4-GNBC5;( M2']M"J7Y4!J!TBB4%M21S8C6DH"Z MR#6'M[NCUCX_IR'0="B4%D!I#$KC4)I T705E":R>Y&);(YN+0"HB5QS9,4= MM<[() "H;PRE!5 :@](XE"90-%T I8GL7F BFV-;ES_41*XYKMT=M7U3^4-] M8R@M@-(8E,:A-(&BZ>5?FLCN.YO(9GYKB4!-9+>)44N@;5(H+8#2&)3&H32! MHNDZ*$UDM\F=R'4K9*B)#*7Y4!J!TBB4%D!I#$KC4)I T71-E":R>[F);$:T MED23.VH-:UH?F@Z!TBB4%D!I#$KC4)I T?2?BRH]9.\B#]D^_L(9OYK272Q*?UH6T2*(U":0&4QJ T#J4)%$W7 M0>DA>TWN1*Y9(9L9K6L=ZB%#:01*HU!: *4Q*(U#:0)%TS5Q]%NREWO(-8AB M3N,:UK13,Z"U"I T J51*"V TAB4QJ$T@:+I*B@]9.\B#[DF>G=#[= D *AM M#*41*(U":0&4QJ T#J4)%$T70.DA>Q=XR#6QNQMJC>,_U#:&T@B41J&T $IC M4!J'T@2*II=_Z2%[[^PA>TU\VJDYB]8Z@-Y@#*51*"V TAB4QJ$T@:+M=-!- M%U)F:FP/)S=KF3S)J5RM4FL6;Z,L_[W(HZU6(A_S)_M>?W$ZW3?;[^QK9E=L MY_:U*+9W2_SD9A,^R:]A\K2,4FLE'U53O:NA^GQ+\I]*?7V1Q9O;CMVQ?L99 M%J^+/QN+O(&7./E5',[D?U!+ P04 " 5CF19IE5M M2\4$ #/%0 &0 'AL+W=OW* ME\28;!C/L(1' MOC5%S@F.M%.6FHYE#;[.4G9;FK8QDO' M7;*-I>HP9Y,<;\F*R/M\R>')K%&B)"-4)(PB3C93X\:^#FQ7.6B+/Q.R$P=M MI):R9NQ!/?P:30U+S8BD))0* L/?$UF0-%5(,(_'"M2HQU2.A^T7]&]Z\;"8 M-19DP=*_DDC&4V-DH(AL<)'*.[;[A50+&BB\D*5"_Z)=96L9*"R$9%GE##/( M$EK^X^>*B ,'P&EW<"H'Y]C!>\/!K1S<]X[@50[>>T<85 YZZ6:Y=DV M33C;(:ZL 4TU-/O:&_A*J/I05I+#VP3\Y&PE6?@0LS0B7/R$@L44'2;I"G(*R:FA+$5@AE6X\S+<9PWQG'1+:,R%BB@ M$8E:_/UN_W&'OPEKKA?NO"Q\[G0"KDA^B5SK'#F6X[7,9_%^=[=M.9\;/?C? MHS?(<.NOP-5XWAMX=T1(GH221 C3""T)URF(A@3I#P3=TT2VJMZ)J[+)JQ._F'G MJ'B#(Z;B&$/15$TX@CY +0Q3)A(@.(?B"2(4HA0H(HKQA*I7M,C6H,2Q/C+& MX,X*J)YK4*3@(*GR7N]1CKE,PB3'M'V#VCWAC^K4*YI?H=EN0X2KXZK\7;.F M6 ='/[M3K.JTITHS^A?I''4QU[PN\3X#&=$-YRIT5/L<_U/&5Z?#2D&I?,&>81^K! M3Z"T2<;;4YU[4E*]L6,=[0A:K$:CP=&IPF^QLL>NY1VGIE,S%ZJX=92:S(,+ MJHSPK;X9%"JC4UG>4M2]]>WCC;YS.^J?V]<+NZ7?5[>5^D+L%;Z\ZKS%?)M0 M@5*R@:%4VC00+V\/RP?)&ULK9I;;Z,X&(;_BI4=S;92)^$0KO7") M$U !4]LTDW\_YA :4NHAFN\FX?"]SX?AM3&V)SO*GKE/B$ _HC#F-QU?B.2Z MU^.>3R+,NS0AL3RSH2S"0NZR;8\GC.!U+HK"GJ%I@UZ$@[@SG>3''MAT0E,1 M!C%Y8(BG4839_HZ$='?3T3N' ]^"K2^R [WI),%;LB+B,7E@ MT!@QLKGIW.K7KFYF@CSB>T!V_&@;945YHO0YVW'7-QTMNR(2$D]D""S_7LF, MA&%&DM?Q4D([5+Q]H#MYX65AGC G,QK^&ZR%?],9==":;' :BF]TMR1E M@:R,Y]&0Y[]H5\9J'>2E7-"H%,LKB(*X^,<_RAMQ))"<9H%1"HRV K,4F*>" M_@>"?BGHM\U@E0*K;89!*1BT%0Q+P;"M8%0*1FT%XU(PSNU0/+_\X<^QP-,) MHSO$LFA)RS9R!^5J^F>$)2?1P\I\WQI*?00XO@*K8A'X[6L&^COS8:P(-ZBSSA*OJ*5CQFI1Z.+ M.1$X"/FEQ#ZNYNCBTR7ZA'J(9[$DW6#?J;6F[_2VVK]6*'OR:=2/1KC\&CN#"7P M'N^1J5\A0S.,IN*HU2N2=)&IY?)^@WS>7FXVW8S?R^[\7O:%6CXG7O=PZYKD M2[7\+_JJS.ZVE^L*'YA5%35SGOGAS3BM;4V5HV#TFQG9*_.:)]@C-QWY3N2$ MO9+.]/,?^D#[VF0M2-@<$F9#PAQ(V (2MH2$N4"PFGG[E7G[*OIT1J-(]FEX M]AJY0@EFZ!6'*4$7LJU?TS#$C*.$L.)M<-ED;"7_7&,7L&$.R_J!KU.MJVF: MK*:OQY:%S&FWR^E YERTR[F$S.D"P6HVLRJ;6>I;")7A=&^YR;[ M[_:)"R;[T_\W&/=F_?B+RBU'VVQE9HU1V/27G5@%(V!P29D/"'$C8 A*V+&"#HT;?L.H-OJL,J=EU6-EUJ+2KZDNQ MR7)*VKF6@X3-(6$V),R!A"T@84M(F L$J]EX5-EXI.Q G&OC$:2-(6%S2)@- M"7,@80M(V!(2Y@+!:C8>5S8>*UOCAWJ7@6Z*+Z\F!Q<@W:Q](XSK[XN9,MNY MSH2$V9 P!Q*V@(0M(6$N$*SF3%U[&VG6VGE3?OKC.$YQB!A)*!/9 $! FX9< M[WZ!-#6TQONFP>*96GFN=4%I-BC- :4M0&E+4)H+1:L;^&BJ1&]G8-FLOJ28 M"<+"?0L/JZDJ#RN59WL8DF:#TAQ0V@*4M@2EN5"TNH>--P\;2K>MBH$#Z6#O M:&06!9RGU?B!\ D*:;S](@T>R=;:(W$V(XV2#_K"ZI3G=H9+FG74+QGTS>') M"&U3E*&/ZE%V0Y1N6>9)F-,49KP+6X"6N5]F#'NC@:G9GD?9HZ[UNDX?1/-ZHZL4[. S@>! MTEPH6F&6WM'J@XBP;;YTA<-S6KYUB M\&PO M=V]R:W-H965T(Y]^J>R\LKCC:4?>,K MA 1X+7+"Q\9*B/+6-'FV0@7DU[1$1#Y94%9 (6_9TN0E0W"N0$5N.I85F 7$ MQ)B,U-@CFXSH6N28H$<&^+HH('N[1SG=C W;V X\X>5*5 /F9%3")7I&XDOY MR.2=V;+,<8$(QY0 AA9CX\Z^36VG J@9?V.TX7O7H'J5&:7?JIL_YF/#JCQ" M."8#; -QS+7@-P#O7@M\ _',M! T@4+&O@Z4B'4,!)R-&-X!5LR5; M=:'D4F@98$RJS'H63#[%$B?,)SA' LLT>]C)"#.^0?)\^4Y!N_??0#O ";@KQ5=?Z?EPM^]U?LYZ\G/6TV%XC#()M_O@G5BZ;=:YBL\[P7>W7#*T MA (!#G.90"7#&;H"1%92F7Q93GF5:!GEHC=S!LFK6GS+2YBAL2&++4?L!1F3 M7W^Q ^NW/METDL4U6:#(JJ+^,HE"SPM'YLN^5L>SO- /H^ZL5)-C'8&\5B!/ ML;M#9>%*%@4NP->[&1=,;@'_]FGAZ=1")UFLDRS1299J(NLHZ[?*^H-+;U?' M0K/IH%N7JGN>S42GS?38IA.XGN_U MKUG;VGTH6AJZX?W03^B9CO M?9S;@S%_@*^X6!>]\1U$7MI9:&6+M;(E6ME276Q=19V=HLZ@HD^(H(W3%$OZH'XE6/U)=;+5P8ENI(DX.,KHFH3R_: MT?;8]$X=%AZ,W]NW4[MG/+9OD_I0=$=?G]$^0+;$A,OBN9"FK.M0?L2P^MBS MOA&T5,=T,RH$+=3E"L$Y8M4$^7Q!J=C>5 ;:P^?)_U!+ P04 " 5CF19 MI;J 16<" #P!0 &0 'AL+W=O"*4\:/CI/V1'G@Z?F3_$+RCERVSL-3B&R]=/:=O M*"EAQ_;"W>KC1^C\3#Q?H84-;W)L8Z<))<7>.BT[,"J07+5?]M#EX00PSIX M)!T@^5M V@'28+15%FRMF&/YS.@C,3X:V?P@Y":@T0U7_A8WSN N1YS+EUI* M[O!:G"5,E62IE>.J E5PL.0U^0P5$^1R!8YQ8:]PY6ZS(I<75^2"<$467 B\ M#3N+'(KQE%'1';QH#TZ>.'@#S8BD\2N2Q$DV %\^#U]!@?!Q@*?G\ A3T.] M]?0Y]GS!RV"YT+(1$(IKJU5I";=V#^T>UK]U.,"4#.6B/6#<_F2^<1SRZ0AO M]7#J<2!H,GK;!YUISWKMV;/:;\%W*E1%&C"AIZD"B-X*7K'@!!]70S"$5AJC MOV/_&+[0[$]]R8F^UL1@T/0W$]%)/?I>^(69BBM+!.P0%8^F$TI,VU_:B=-- M*-&M=ECP85AC2P;C W!_I[5[G/BJ[YM\_@M02P,$% @ %8YD6&ULK5E='>F/[[BPQB$T#I;O22 MSSW2T15'5VA^HN4GMB>$@\]Y5K"%M>?\<&O;;+TG><)NZ($4XI%A:SS M@\=TM^?5 WLY/R0[LB+\Z?!0BCN[8]FD.2E82@M0DNW">H]N8PRK@!KQ5TI. MK'<-*BG/E'ZJ;CYL%A:L>D0RLN8512+^O9![DF45D^C'/RVIU;59!?:OS^R_ MU.*%F.>$D7N:_9UN^'YA!1;8D&URS/@C/?U&6D%>Q;>F&:O_@E.#=3T+K(^, MT[P-%CW(TZ+YGWQN!Z(7@/%$ &X#\+4!3AO@2 $.G APVP#WVA:\-J"6;C?: MZX&+$IXLYR4]@;)""[;JHA[].EJ,5UI4$V7%2_%K*N+X\I$<:,F3YXR %=F) M&< 9>!L1GJ09>P?>@+0 ?^[ID27%ALUM+EJLXNQURW[7L.,)=@=\I 7?,Q 7 M&[)1Q$?Z^% 3;PNEG5Q\EGN'M80KQM'0 M1-_0&\":/"CHXO_=J\&@.=T<<6I>9Y*W[I#PA6JNI,5.S(K&HL2KKIH4#9VK MIJNL[Y8=DC596,+;&"E?B+7\X3ODPY]5F3!)%IDDBPV1#7+B=CEQ=>S+WX_Y M,RD!W;99J=]@=GZ#_]5,HCLM\6NS8Y(L:LB\FJQ:X5Z6>&Z_](?<4'.#(?>Z M(?>T0_Y(7DAQ)*HA;0+]7L>1[X8P\(?=OU?@/!RZ,BX:XUP?>QX,I.%0X% 8 MSGS8X09*_4ZIKU7Z:TD9 P\EW:;*&>2/982!YR-)K0(VOT-G@-!EN6)#3:Q[>(&EZWK8:C94VP'J[0"05NH33[.4IZ0J&_XXD#*I)^%JNH#0\[UV!AIEBXRRQ:;8 MAIG!E\Q@L];0\IG*C$FVR"A;;(IMF)G+C@AIBWNM/3BC*M;W?>Q"V1X4. _Z MOEPL*'!H-G-#?V00"F#@.+[O33C$9:^!])N-K]6#;7C?FH(9Q'+UJX#YKN^- M!(]A0K 80UFO N>[V'4GY%[J?*0O]*^M"5L:N4!SY#I8C8-A* OWE$6F+%N) M@E/+P*7F1_JB/RY(N?MR]1J@)7NUTYADBXRRQ:;8AFFY[$_0S/ :H-WPO#HS M)MDBHVRQ*;9A9B[[**3?2.F<(1A;$T0P\ +9&L; (!#N[LC6,,;AT$$AEK\( MJ(!.Z/;WH$.YEVT*TE;<7U\$PK%FA#S'DR4K<##$[J@N'N,<%X;!R _'."P6 MB][W@^&7XLL6 .NW -%DS^(V+W#@5Q8 M?'TJP\":'@O>? /NGG8G/^_K\P[I^1VZO4>*YQ&ZC9MSG0M]<\ST,2EW:<% M1K:B*7@S$TM7V9S<-#><'NJCB6?*.&PO=V]R:W-H965T'J1!TVF>37!)K'#NU M#[*2@#.+*BD;N!Y([?$A#E);->6(HGY3E'"8"F0W)4E%@\S MH/PP<7SGN+ B>:',@IO$%JV6@H] @3\;(*-EP?F#H^LG^R MVK66#98PY_0GR50Q<=X[*(,MWE&UXHT&?@NKT A0F5;S3N&V=7MXPHR-!:804R=I5. MTASEIDU"LSJAX$)"U^B&,U5(])%ED'7@%_UX/^@A<'5UVA(%QQ+-@E[&-50# M%'IO4> %44="\[^'AUUZ^N$+2#7<[X(_41.VAH>6+[QHN+566F^5]1:WWN:/ MWF+M;9=[-7O4S6Z:U%A6.(6)H[N0!+$')WGUPA]Y'[HJ]YQDBVU+5J*UJ MU,>>O$1\>_QJNJI6H_W:9-.*]XDW\*+KV-V?UJ,[;#AZ&K;HS>4_E0Y;I<,_ M*SU];[KD#CMUA-&9W-Z3_M7^"V<^EKB6ZY[TRA)$;N\UJ>ZU- M;3<_6Y_YXWE].SW2U'?E#18Y81)1V&I*;_!.IR;J^Z>>*%[9CKSA2O=W.RST ME0W"!.C]+>?J.#$'M'\"DM]02P,$% @ %8YD67\R/J;%!,/CY,?I\X)MW=EJZ':Z45$R/V#O*TQQ(F MG#@=MK)PJ'MP2-0Z^1,%-+DMAGL[W$] M? =8]< @X[PQV/9M8-@OB5)4BAO=,8--\ 7DU>W[9:D=3B59ANV.OR:8FTXR M+F1*99,F]%>A89_3#.Q(-IW!715E *!21:X;*2/30A#C8<6H&UIV0CF_@^^' MW]F6]B+;V#FSW:)I:D-UT\K8#NAOJEGM3=G.FW2]DCT6ZMM<3T>8/I0WO94T M8PO37V2- 4P]Q-5)6?+E5\ZF(J=V\@=#8HE8D.4.E[CU0J M-MF,_)6DO*<+M2JG189[;I^@YW^[SE,JJ"1\T[2N_6->Y3<[CKKO9=E\J^P: M=GJL7_K';K)S"B;CXS<9)#D/?!_P4F>KY-ZXSGCBHFZ-V-I2L6+@Z&65V2L_QS=TM?C4YJ1 M.5?W#3CPU^V?-&7S/&E&W<)"U*/6[1\PO3!NCOTZ%Q,I7=!T5'?E=&R:GF[H MK/4%A%WDQEQN!.-8S(T AN7!'& =$>BBGAW(LRX6, MS ?+X^8D^G+/-$FB*(ZQ%1V-G Y&V+K%,?RXU3!OP,#R0*;7K36^VWB%[*\# M;$_W50@V4[P2L9GB:PV(>]V D23NW<;R /;!:QV(+\[#]24FQ-%L*N8-^P) MQI$DP1"H17>-QC&R.C%\W/N#/251E"1N!#"W@RC"$'@:<01S !XP)(K,>W#G M?12LWE/!^G^TPV=02P,$% @ %8YD69>*NQS $P( L !?3T\$MP>:4#M.*2VBZD8_1!2:5K5N %(MB6/:(7->=I3W;+T]!;X"O.DQQ0FE(2S,.\,W2?S+W M\PPU1>5*(Y5;&GC3Y?YVX$G1H2)8%II%R=.B':5_'0P% I*0 M#P 'AL+W=O M"J7=N+?S?G_=[[ML)PKN_C)[H>',QMB">SBTV[[;6\%SMQ/"%ZH?#0:C?L&E M[GW^=+S7O>V'!\:+S$NCH; J>)3BV?T\7QVR@W3R22KI7\>]^KL2/59(+0OY M0^3CWJ#'W,X\_VVL_&&TYVJ56:/4N#=L3CP*ZV5V4KRJ(-?\R=4EGC\]< 9 M]T8#N.%&6N?K*^K[EO=!IZB'SQ&'8?C M9Q/$:_M_PF@V&YF)F+O'EJ#[A!#.VUA!-VD=?@=)#3N^5LOES-9PR^K>YN%[/)&@YN M)K>3Y73. L@(@8PN"/E/%$#&"&1\$$;$4R12#32T+& M >0(@1Q=$C()(-\CD.\O"9D&D!\0R ^TD$ON2RN8V;";TDDMG NX/B)<'VFY M;KB3KL*ZM\+!I2>C]@ ;M@>T<%^XM.R1JU*P;X(["&#U@S!R0]0JQ%IY$ >A M2Q'B8/X8$@ODJS'YLU2J5O$"JE)O*P(V<4ZT@X8)9$ALD$F6F1(JD=WS5U[A M5;10:$N1LUL98F(*&5([Q(I<>C:Q%L)XVNPP<0R)S3$35AYXE0]"+3MORQ,Z MS!A#8F4L=&8*P=;\1;28,$$,B0TQDP>9"YV[)DOE5D.Z#"U06+;:<1MB8HH8 M$CMBY4WV?6=4+JS[@\W_+2&9#MDP30R)/7$+XV^K0B-,#!&Q&*:F**2OVWU= MI5.8=D&5"IW)-B2FAXA<#WMC?3W&K<3VUTX:H5,-8E7 V,L.=0>H?ZXSP6;2 M9-T_T94F+JB(C5<2;=.W*&F)A-(F*;O*5]G>'#]!$1ZP//_UJK')A) M(F*3H E@>YT#4TQ,K9C3!+"KQF/,,#&Q8;HSP4Y,S#8QL6W0]*M=X^C2%K%O MFA2G,WJ88F)BQ72D$9V,F%]B8K^3F2J,1I@YAOI:@FRGD_CEBPA21;[=6;)O.#IW?BD.(B2DH M(580FOVVVR9FH8380CAFN.V38!9*B"V$8X8;/PEFH8380OA&F0G?/07?RJ3=DT/EM. JEF'I2 M8O5T;2]T!Q,S3TILGD[**S8O]LJ\BM8PA)DG)3;/VV)!E;L5>Z/K7@,)45W, MYB\A)F:>E-H\V$8)NPK?,L'<,R*?_W2L<72TS!%FGM'OW\^IEP^:]#@<*T>8 M>4:U>?K'5_-RL9%:Y$OX"P?E&5?9O6751_-"09)6^WZ;4JDIE-WI6\/SXYM^ MQ[<4/_\'4$L#!!0 ( !6.9%EW2W&%!@( /$D : >&PO7W)E;',O M=V]R:V)O;VLN>&UL+G)E;'/-V4MJXT 4A>&M&"T@Y?M2DB;.J">9-MF <,H/ M8EM"I::3W;=Q!O81/>A)J#,2):&K'P0?HO3T*Q^Z:=^?RFX_E,7'\7 JJV8W M3<./E,IZEX]=N>N'?#I?V?3CL9O.RW&;AF[]WFUSTN6R3>/MC.;YZ7;FXO5S MR/\SL=]L]NO\LU__/N;3](_!Z4\_OI==SE.S>.W&;9Y63?HX7$^7=#G(W7ER MLWAY6S7CRYLTJ7:00I#6#S((LOI!#D%>/R@@*.H'M1#4U@^ZAZ#[^D$/$/10 M/^@1@A[K!\D295P2),VP)M!:D&LA\%H0;"$06Y!L(3!;$&TA4%N0;2%P6Q!N M(9!;D&XAL%L0;R'06U%O)=!;46\ET%MG']L$>BOJK01Z*^JM!'HKZJT$>BOJ MK01Z*^JM!'HKZJT$>BOJK01Z&^IM!'H;ZFT$>AOJ;01ZVVRSA$!O0[V-0&]# MO8U ;T.]C4!O0[V-0&]#O8U ;T.]C4!O1[V=0&]'O9U ;T>]G4!O1[V=0&^? M;783Z.VHMQ/H[:BW$^CMJ+<3Z.VHMQ/H[:BW$^@=J'<0Z!VH=Q#H':AW$.@= MJ'<0Z!VH=Q#H';.?E01Z!^H=!'H'ZAT$>@?J'01Z!^H=!'JWJ'=+H'>+>K<$ M>K>H=_N=>I?I\Y#+M>=KC<__3JJG\[WY^OC+\NOD[+U<<$ZW%>7Y+U!+ P04 M " 5CF19_R>G=>,! !L) $P %M#;VYT96YT7U1Y<&5S72YX;6S- MVEU/PC 4!N"_0G9K6.G7_(APH]ZJ%_Z!NAUD85N;MB#\>[L!)AHE&DQ\;UB@ M[7G/>I+GBNNGK:,PVK1-%Z;9(D9WQ5@H%]2:D%M'75J96]^:F+[Z%^9,N30O MQ,1D4K#2=I&Z.(Y]C6QV?4MSLVKBZ&Z3?@ZU[::9IR9DHYO=QCYKFAGGFKHT M,:VS=5=]2AGO$_)T^#]B?>UB3]W5%HT?CX[UITRZV M:5B(VX9"?KS$%SW:^;PNJ;+EJDU'\N \F2HLB&+;Y+NB9\>38[IAVGWRD_.' M,L<"T\Y';UU($_/T^[C#2/K38Y<*D8_U\5=\3TRE3WX_ZJ==4?7#['2]K]8O MAWD$-CQ.O^./,WZO_\L^!$@?$J0/!=*'!NFC .GC'*2/"Y ^+D'ZX!.41E!$ MY2BDP<8[@ "L" 1 " M :\ !D;V-0&UL4$L! M A0#% @ %8YD64J[3%;6!0 !Q\ !@ ("!#0@ 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD60H, MY$TM!@ /!P !@ ("!OA< 'AL+W=O !X;"]W;W)K :M2X* T6@ & @(&>(0 >&PO=V]R:W-H965T M&UL4$L! A0#% @ %8YD67QJ)K:G @ $P@ !@ M ("! BP 'AL+W=O&PO=V]R:W-H965T&UL4$L! M A0#% @ %8YD62.9#[+B!@ Y!( !D ("!ESP 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD M63VRR^,S! W@L !D ("! ET 'AL+W=O&PO=V]R:W-H965T[YU2?08 /<0 9 " @19E !X;"]W;W)K M&UL4$L! A0#% @ %8YD6593HF$H P N @ M !D ("!RFL 'AL+W=O&PO=V]R:W-H965T/+K ML00 .0. 9 " @:QT !X;"]W;W)K&UL4$L! A0#% @ %8YD6?HFK.B(!@ ?Q, !D M ("!E'D 'AL+W=O&PO=V]R:W-H965T M&UL4$L! A0# M% @ %8YD63Z:E3PZ" I!@ !D ("!-XD 'AL+W=O M&PO=V]R:W-H965TH^K0P( (H& 9 " @624 M !X;"]W;W)K&UL4$L! A0#% @ %8YD60 ] MO*PP!@ 4Q( !D ("!WI8 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD6>4N!R>C!@ 2QL !D M ("!4Z0 'AL+W=O&PO M=V]R:W-H965T&UL4$L! A0#% @ %8YD67/A)60K P KP< !D ("! MN[( 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% M @ %8YD61(>7&4S P _P@ !D ("!&KX 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD6=G2$$_8 @ N@@ !D M ("!*=0 'AL+W=O&PO=V]R M:W-H965T&UL M4$L! A0#% @ %8YD658'*=, P =P@ !D ("!@=X M 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ M%8YD6;Q [[J. @ O D !D ("!K>\ 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD6>4H?YA P M,PH !D ("!5_H 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD60U> H:& @ G@< !D M ("!2P@! 'AL+W=O&PO=V]R:W-H M965T&UL4$L! M A0#% @ %8YD64D=5C]C @ 6 8 !D ("!AA(! 'AL M+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD M62F6SH-)!0 <"0 !D ("!!B4! 'AL+W=O&PO=V]R:W-H965T&UL4$L! A0#% @ %8YD6&PO=V]R:W-H965T7!E&UL4$L%!@ !& $8 (1, ,A' 0 ! $! end XML 75 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 76 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 78 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.3 html 222 251 1 false 50 0 false 8 false false R1.htm 995200090 - Document - Document and Entity Information Sheet http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets CONDENSED CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome CONDENSED CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 7 false false R8.htm 995200500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 995210101 - Disclosure - Nature of Business Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusiness Nature of Business Notes 9 false false R10.htm 995210201 - Disclosure - Basis of Presentation Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentation Basis of Presentation Notes 10 false false R11.htm 995210301 - Disclosure - Fair Value Measurements Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 11 false false R12.htm 995210401 - Disclosure - Revenue Sheet http://www.primoriscorp.com/role/DisclosureRevenue Revenue Notes 12 false false R13.htm 995210501 - Disclosure - Goodwill and Intangible Assets Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 13 false false R14.htm 995210601 - Disclosure - Accounts Payable and Accrued Liabilities Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities Accounts Payable and Accrued Liabilities Notes 14 false false R15.htm 995210701 - Disclosure - Credit Arrangements Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangements Credit Arrangements Notes 15 false false R16.htm 995210801 - Disclosure - Derivative Instruments Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstruments Derivative Instruments Notes 16 false false R17.htm 995210901 - Disclosure - Income Taxes Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxes Income Taxes Notes 17 false false R18.htm 995211001 - Disclosure - Dividends and Earnings Per Share Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare Dividends and Earnings Per Share Notes 18 false false R19.htm 995211101 - Disclosure - Stockholders' Equity Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 19 false false R20.htm 995211201 - Disclosure - Leases Sheet http://www.primoriscorp.com/role/DisclosureLeases Leases Notes 20 false false R21.htm 995211301 - Disclosure - Commitments and Contingencies Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 21 false false R22.htm 995211401 - Disclosure - Reportable Segments Sheet http://www.primoriscorp.com/role/DisclosureReportableSegments Reportable Segments 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 99920202 - Disclosure - Basis of Presentation (Policies) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies Basis of Presentation (Policies) Policies 25 false false R26.htm 99930203 - Disclosure - Basis of Presentation (Tables) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables Basis of Presentation (Tables) Tables http://www.primoriscorp.com/role/DisclosureBasisOfPresentation 26 false false R27.htm 99930303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.primoriscorp.com/role/DisclosureFairValueMeasurements 27 false false R28.htm 99930403 - Disclosure - Revenue (Tables) Sheet http://www.primoriscorp.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.primoriscorp.com/role/DisclosureRevenue 28 false false R29.htm 99930503 - Disclosure - Goodwill and Intangible Assets (Tables) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables Goodwill and Intangible Assets (Tables) Tables http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets 29 false false R30.htm 99930603 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables Accounts Payable and Accrued Liabilities (Tables) Tables http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities 30 false false R31.htm 99930703 - Disclosure - Credit Arrangements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables Credit Arrangements (Tables) Tables http://www.primoriscorp.com/role/DisclosureCreditArrangements 31 false false R32.htm 99930803 - Disclosure - Derivative Instruments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.primoriscorp.com/role/DisclosureDerivativeInstruments 32 false false R33.htm 99931003 - Disclosure - Dividends and Earnings Per Share (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables Dividends and Earnings Per Share (Tables) Tables http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare 33 false false R34.htm 99931203 - Disclosure - Leases (Tables) Sheet http://www.primoriscorp.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.primoriscorp.com/role/DisclosureLeases 34 false false R35.htm 99931403 - Disclosure - Reportable Segments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables Reportable Segments (Tables) Tables http://www.primoriscorp.com/role/DisclosureReportableSegments 35 false false R36.htm 99940101 - Disclosure - Nature of Business (Details) Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails Nature of Business (Details) Details http://www.primoriscorp.com/role/DisclosureNatureOfBusiness 36 false false R37.htm 99940201 - Disclosure - Basis of Presentation - Restricted Cash (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails Basis of Presentation - Restricted Cash (Details) Details 37 false false R38.htm 99940202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails Basis of Presentation - Accounts Receivable Securitization Facility (Details) Details 38 false false R39.htm 99940203 - Disclosure - Basis of Presentation - Customer concentration (Details) Sheet http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails Basis of Presentation - Customer concentration (Details) Details 39 false false R40.htm 99940301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables 40 false false R41.htm 99940401 - Disclosure - Revenue - Performance obligations (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails Revenue - Performance obligations (Details) Details 41 false false R42.htm 99940402 - Disclosure - Revenue - Performance obligations - Details (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails Revenue - Performance obligations - Details (Details) Details 42 false false R43.htm 99940403 - Disclosure - Revenue - Contract assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails Revenue - Contract assets (Details) Details 43 false false R44.htm 99940404 - Disclosure - Revenue - Contract liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails Revenue - Contract liabilities (Details) Details 44 false false R45.htm 99940405 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails Revenue - Disaggregation of revenue by customer type and contract type (Details) Details 45 false false R46.htm 99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 46 false false R47.htm 99940502 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 47 false false R48.htm 99940503 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails Goodwill and Intangible Assets - Future Amortization (Details) Details 48 false false R49.htm 99940601 - Disclosure - Accounts Payable and Accrued Liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails Accounts Payable and Accrued Liabilities (Details) Details http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables 49 false false R50.htm 99940701 - Disclosure - Credit Arrangements (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails Credit Arrangements (Details) Details http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables 50 false false R51.htm 99940702 - Disclosure - Credit Arrangements - Narratives (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails Credit Arrangements - Narratives (Details) Details 51 false false R52.htm 99940703 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails Credit Arrangements- Canadian Credit Facilities (Details) Details 52 false false R53.htm 99940801 - Disclosure - Derivative Instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables 53 false false R54.htm 99940802 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails Derivative Instruments - Derivative contract and instruments (Details) Details 54 false false R55.htm 99940901 - Disclosure - Income Taxes (Details) Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://www.primoriscorp.com/role/DisclosureIncomeTaxes 55 false false R56.htm 99941001 - Disclosure - Dividends and Earnings Per Share (Details) Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails Dividends and Earnings Per Share (Details) Details http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables 56 false false R57.htm 99941101 - Disclosure - Stockholders' Equity (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.primoriscorp.com/role/DisclosureStockholdersEquity 57 false false R58.htm 99941102 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) Details 58 false false R59.htm 99941201 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails Leases - Components of Lease Expense and Operating Lease Liabilities (Details) Details 59 false false R60.htm 99941301 - Disclosure - Commitments and Contingencies - Legal (Details) Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails Commitments and Contingencies - Legal (Details) Details 60 false false R61.htm 99941401 - Disclosure - Reportable Segments (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails Reportable Segments (Details) Details http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables 61 false false R62.htm 99941402 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails Reportable Segments - Revenue and Total Assets by Geographic Area (Details) Details 62 false false All Reports Book All Reports prim-20240930.xsd prim-20240930_cal.xml prim-20240930_def.xml prim-20240930_lab.xml prim-20240930_pre.xml prim-20240930x10q.htm http://fasb.org/srt/2024 http://fasb.org/us-gaap/2024 http://xbrl.sec.gov/dei/2024 http://xbrl.sec.gov/ecd/2024 true true JSON 81 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prim-20240930x10q.htm": { "nsprefix": "prim", "nsuri": "http://www.primoriscorp.com/20240930", "dts": { "schema": { "local": [ "prim-20240930.xsd" ], "remote": [ "http://www.xbrl.org/2003/xbrl-instance-2003-12-31.xsd", "http://www.xbrl.org/2003/xbrl-linkbase-2003-12-31.xsd", "http://www.xbrl.org/2003/xl-2003-12-31.xsd", "http://www.xbrl.org/2003/xlink-2003-12-31.xsd", "http://www.xbrl.org/2005/xbrldt-2005.xsd", "http://www.xbrl.org/2006/ref-2006-02-27.xsd", "http://www.xbrl.org/lrr/arcrole/esma-arcrole-2018-11-21.xsd", "http://www.xbrl.org/lrr/role/negated-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/2023/calculation-1.1.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/2024/elts/srt-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-roles-2024.xsd", "https://xbrl.fasb.org/srt/2024/elts/srt-types-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-gaap-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-roles-2024.xsd", "https://xbrl.fasb.org/us-gaap/2024/elts/us-types-2024.xsd", "https://xbrl.sec.gov/country/2024/country-2024.xsd", "https://xbrl.sec.gov/dei/2024/dei-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-2024.xsd", "https://xbrl.sec.gov/ecd/2024/ecd-sub-2024.xsd", "https://xbrl.sec.gov/stpr/2024/stpr-2024.xsd" ] }, "calculationLink": { "local": [ "prim-20240930_cal.xml" ] }, "definitionLink": { "local": [ "prim-20240930_def.xml" ] }, "labelLink": { "local": [ "prim-20240930_lab.xml" ] }, "presentationLink": { "local": [ "prim-20240930_pre.xml" ] }, "inline": { "local": [ "prim-20240930x10q.htm" ] } }, "keyStandard": 220, "keyCustom": 31, "axisStandard": 22, "axisCustom": 0, "memberStandard": 26, "memberCustom": 24, "hidden": { "total": 19, "http://fasb.org/us-gaap/2024": 14, "http://xbrl.sec.gov/dei/2024": 5 }, "contextCount": 222, "entityCount": 1, "segmentCount": 50, "elementCount": 519, "unitCount": 8, "baseTaxonomies": { "http://fasb.org/us-gaap/2024": 720, "http://xbrl.sec.gov/dei/2024": 29, "http://xbrl.sec.gov/ecd/2024": 4, "http://fasb.org/srt/2024": 2 }, "report": { "R1": { "role": "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation", "longName": "995200090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "longName": "995200100 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:ReceivablesNetCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R3": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical", "longName": "995200105 - Statement - CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_3U06m9Ql_0my9zKifK2xWw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:CommonStockSharesAuthorized", "unitRef": "Unit_Standard_shares_RmGigfJj00mdMzxPqbcVnA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R4": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "longName": "995200200 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R5": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "longName": "995200300 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R6": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity", "longName": "995200400 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Af_X8_WFHEy51mSLdHlyKQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2022_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_Af_X8_WFHEy51mSLdHlyKQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical", "longName": "995200405 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_3U06m9Ql_0my9zKifK2xWw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "longName": "995200500 - Statement - CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R9": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness", "longName": "995210101 - Disclosure - Nature of Business", "shortName": "Nature of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation", "longName": "995210201 - Disclosure - Basis of Presentation", "shortName": "Basis of Presentation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements", "longName": "995210301 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.primoriscorp.com/role/DisclosureRevenue", "longName": "995210401 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets", "longName": "995210501 - Disclosure - Goodwill and Intangible Assets", "shortName": "Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities", "longName": "995210601 - Disclosure - Accounts Payable and Accrued Liabilities", "shortName": "Accounts Payable and Accrued Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangements", "longName": "995210701 - Disclosure - Credit Arrangements", "shortName": "Credit Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments", "longName": "995210801 - Disclosure - Derivative Instruments", "shortName": "Derivative Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxes", "longName": "995210901 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare", "longName": "995211001 - Disclosure - Dividends and Earnings Per Share", "shortName": "Dividends and Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquity", "longName": "995211101 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.primoriscorp.com/role/DisclosureLeases", "longName": "995211201 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies", "longName": "995211301 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegments", "longName": "995211401 - Disclosure - Reportable Segments", "shortName": "Reportable Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.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": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.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": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ecd:NonRule10b51ArrAdoptedFlag", "p", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies", "longName": "99920202 - Disclosure - Basis of Presentation (Policies)", "shortName": "Basis of Presentation (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables", "longName": "99930203 - Disclosure - Basis of Presentation (Tables)", "shortName": "Basis of Presentation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables", "longName": "99930303 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueTables", "longName": "99930403 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "longName": "99930503 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables", "longName": "99930603 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)", "shortName": "Accounts Payable and Accrued Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables", "longName": "99930703 - Disclosure - Credit Arrangements (Tables)", "shortName": "Credit Arrangements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables", "longName": "99930803 - Disclosure - Derivative Instruments (Tables)", "shortName": "Derivative Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables", "longName": "99931003 - Disclosure - Dividends and Earnings Per Share (Tables)", "shortName": "Dividends and Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesTables", "longName": "99931203 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables", "longName": "99931403 - Disclosure - Reportable Segments (Tables)", "shortName": "Reportable Segments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "longName": "99940101 - Disclosure - Nature of Business (Details)", "shortName": "Nature of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_k6Rwmx7ehUyy8wwT3obH9Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": null }, "R37": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "longName": "99940201 - Disclosure - Basis of Presentation - Restricted Cash (Details)", "shortName": "Basis of Presentation - Restricted Cash (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "37", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2023_zWUim94SIkizAIBs-2DMnA", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R38": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "longName": "99940202 - Disclosure - Basis of Presentation - Accounts Receivable Securitization Facility (Details)", "shortName": "Basis of Presentation - Accounts Receivable Securitization Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "38", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_7_31_2024_YV5XpleEKEqVVa_NnOXBEw", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_7_31_2024_YV5XpleEKEqVVa_NnOXBEw", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "longName": "99940203 - Disclosure - Basis of Presentation - Customer concentration (Details)", "shortName": "Basis of Presentation - Customer concentration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_KgSs967Ug0OZbpsclnEsHg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_KgSs967Ug0OZbpsclnEsHg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails", "longName": "99940301 - Disclosure - Fair Value Measurements (Details)", "shortName": "Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "40", "firstAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_LOXOhZspWUmxiGqNSMmS6g", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_LOXOhZspWUmxiGqNSMmS6g", "name": "us-gaap:CashAndCashEquivalentsFairValueDisclosure", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "longName": "99940401 - Disclosure - Revenue - Performance obligations (Details)", "shortName": "Revenue - Performance obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "41", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R42": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "longName": "99940402 - Disclosure - Revenue - Performance obligations - Details (Details)", "shortName": "Revenue - Performance obligations - Details (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "42", "firstAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20241001_SoNJ3zwnh0e_QaaC-JxKAA", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20241001_SoNJ3zwnh0e_QaaC-JxKAA", "name": "us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "longName": "99940403 - Disclosure - Revenue - Contract assets (Details)", "shortName": "Revenue - Contract assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "43", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "longName": "99940404 - Disclosure - Revenue - Contract liabilities (Details)", "shortName": "Revenue - Contract liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "44", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "longName": "99940405 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details)", "shortName": "Revenue - Disaggregation of revenue by customer type and contract type (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "45", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_FWFe8v3-S0aXw5eMN1eMWQ", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R46": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "longName": "99940501 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_StatementBusinessSegmentsAxis_prim_UAndDSegmentMember_gZcvqaqldU2nZ-V3aAQIHQ", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfGoodwillTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R47": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "longName": "99940502 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details)", "shortName": "Goodwill and Intangible Assets - Intangible Assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_cTcCi1Ek6ESQKPgGl9v-mQ", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R48": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "longName": "99940503 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details)", "shortName": "Goodwill and Intangible Assets - Future Amortization (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "longName": "99940601 - Disclosure - Accounts Payable and Accrued Liabilities (Details)", "shortName": "Accounts Payable and Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R50": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "longName": "99940701 - Disclosure - Credit Arrangements (Details)", "shortName": "Credit Arrangements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R51": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "longName": "99940702 - Disclosure - Credit Arrangements - Narratives (Details)", "shortName": "Credit Arrangements - Narratives (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "longName": "99940703 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details)", "shortName": "Credit Arrangements- Canadian Credit Facilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Zz9FHNzifE6BmLgcvs3sfQ", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_SH3xbZhzKEm7FG0hKKqH7A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Zz9FHNzifE6BmLgcvs3sfQ", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_SH3xbZhzKEm7FG0hKKqH7A", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R53": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "longName": "99940801 - Disclosure - Derivative Instruments (Details)", "shortName": "Derivative Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_CPnxExQp90ipuJdPCk4lxw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_CPnxExQp90ipuJdPCk4lxw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R54": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "longName": "99940802 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details)", "shortName": "Derivative Instruments - Derivative contract and instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "As_Of_9_30_2024_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_cBcrocbP-EqsCP95SOqrTw", "name": "us-gaap:DerivativeAssetsCurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_frFWLED9CUyghJiJ16jZwg", "name": "us-gaap:DerivativeAssetsNoncurrent", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R55": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "longName": "99940901 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "us-gaap:EffectiveIncomeTaxRateContinuingOperations", "p", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R56": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "longName": "99941001 - Disclosure - Dividends and Earnings Per Share (Details)", "shortName": "Dividends and Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_3U06m9Ql_0my9zKifK2xWw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_RmGigfJj00mdMzxPqbcVnA", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R57": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "longName": "99941101 - Disclosure - Stockholders' Equity (Details)", "shortName": "Stockholders' Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_us-gaap_AwardTypeAxis_prim_RestrictedAndPerformanceStockUnitsMember_y3xAIaO0iUufGmRwEa8Stg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised", "unitRef": "Unit_Standard_shares_RmGigfJj00mdMzxPqbcVnA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_us-gaap_AwardTypeAxis_prim_RestrictedAndPerformanceStockUnitsMember_y3xAIaO0iUufGmRwEa8Stg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised", "unitRef": "Unit_Standard_shares_RmGigfJj00mdMzxPqbcVnA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "longName": "99941102 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details)", "shortName": "Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_3U06m9Ql_0my9zKifK2xWw", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_11_30_2023_rzPetHbkJk-5FupFX3E6Pw", "name": "srt:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R59": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "longName": "99941201 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "shortName": "Leases - Components of Lease Expense and Operating Lease Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:ProceedsFromSaleOfPropertyPlantAndEquipment", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "us-gaap:OperatingLeaseCost", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LeaseCostTableTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R60": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails", "longName": "99941301 - Disclosure - Commitments and Contingencies - Legal (Details)", "shortName": "Commitments and Contingencies - Legal (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_9_30_2024_N29pQhfdxEO303qVXauQcA", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_VCnxNsbyCkeeDICuJy1WHw", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "longName": "99941401 - Disclosure - Reportable Segments (Details)", "shortName": "Reportable Segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_22-GHhBMz02PrbL7Ynj8HA", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_k6Rwmx7ehUyy8wwT3obH9Q", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_7_1_2024_To_9_30_2024_q0Vahi-mbUum504PyV32eQ", "name": "prim:GrossProfitAsPercentageOfSegmentRevenue", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "unique": true } }, "R62": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails", "longName": "99941402 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "shortName": "Reportable Segments - Revenue and Total Assets by Geographic Area (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "62", "firstAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_Bc9iuxMso0aSPFqKJThd1A", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2024_To_9_30_2024_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_Bc9iuxMso0aSPFqKJThd1A", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_bfNmX944CUeIC8-NWnbrsg", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20240930x10q.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Basis of Presentation" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts, Notes, Loans and Financing Receivable [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": [ "r252", "r883" ] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities" ], "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities Disclosure [Text Block]", "terseLabel": "Accounts Payable and Accrued Liabilities", "documentation": "The entire disclosure for accounts payable and accrued liabilities at the end of the reporting period." } } }, "auth_ref": [ "r48", "r51", "r55", "r950" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accounts Payable, Current", "terseLabel": "Accounts payable", "documentation": "Carrying value as of the balance sheet date of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r48", "r731" ] }, "us-gaap_AccountsReceivableFromSecuritization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableFromSecuritization", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable from Securitization", "terseLabel": "Accounts receivable from securitization", "documentation": "The amount owed to the reporting entity by counterparties in securitized loan transactions." } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable [Member]", "terseLabel": "Accounts receivable", "verboseLabel": "Accounts receivable, net", "documentation": "Due from customers or clients for goods or services that have been delivered or sold." } } }, "auth_ref": [ "r668" ] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, after Allowance for Credit Loss, Current", "terseLabel": "Trade accounts receivables", "documentation": "Amount, after allowance for credit loss, of right to consideration from customer for product sold and service rendered in normal course of business, classified as current." } } }, "auth_ref": [ "r882" ] }, "us-gaap_AccountsReceivableSale": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccountsReceivableSale", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Sale", "terseLabel": "Sale of accounts receivable", "documentation": "Amount of decrease from sale of accounts receivable." } } }, "auth_ref": [ "r256" ] }, "prim_AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for accounts receivable securitization facility.", "label": "Accounts Receivable Securitization Facility Policy [Policy Text Block]", "terseLabel": "Accounts Receivable Securitization Facility" } } }, "auth_ref": [] }, "prim_AccountsReceivableSecuritizationFee": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "AccountsReceivableSecuritizationFee", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of fees from accounts receivable securitization.", "label": "Accounts Receivable Securitization, Fee", "terseLabel": "Accounts receivable securitization facility fee" } } }, "auth_ref": [] }, "prim_AccountsReceivableSecuritizationTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "AccountsReceivableSecuritizationTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "The period over which the entity entered for securitization of accounts receivable.", "label": "Accounts Receivable Securitization Term", "terseLabel": "Facility term" } } }, "auth_ref": [] }, "us-gaap_AccruedInsuranceCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Insurance, Current", "terseLabel": "Casualty insurance reserves", "documentation": "Carrying value as of the balance sheet date of obligations incurred through that date and payable to insurance entities to mitigate potential loss from various risks or to satisfy a promise to provide certain coverage's to employees. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r51" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current", "terseLabel": "Accrued liabilities", "totalLabel": "Total accrued liabilities", "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": [ "r51" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccruedLiabilitiesCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Accrued Liabilities, Current [Abstract]", "terseLabel": "Accrued liabilities" } } }, "auth_ref": [] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Accumulated Other Comprehensive Income (Loss), Net of Tax", "terseLabel": "Accumulated other comprehensive income", "documentation": "Amount, after tax, of accumulated increase (decrease) in equity from transaction and other event and circumstance from nonowner source." } } }, "auth_ref": [ "r12", "r13", "r68", "r163", "r549", "r578", "r579" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "AOCI Attributable to Parent [Member]", "terseLabel": "Accumulated Other Comprehensive Income", "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": [ "r1", "r6", "r13", "r449", "r452", "r497", "r574", "r575", "r860", "r861", "r862", "r870", "r871", "r872", "r874" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r795" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Additional Paid in Capital, Common Stock", "terseLabel": "Additional paid-in capital", "documentation": "Value received from shareholders in common stock-related transactions that are in excess of par value or stated value and amounts received from other stock-related transactions. Includes only common stock transactions (excludes preferred stock transactions). May be called contributed capital, capital in excess of par, capital surplus, or paid-in capital." } } }, "auth_ref": [ "r61" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Additional Paid-in Capital [Member]", "terseLabel": "Additional Paid-in Capital", "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": [ "r588", "r870", "r871", "r872", "r874", "r955", "r1020" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r808" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r808" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r808" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r808" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "APIC, Share-Based Payment Arrangement, Increase for Cost Recognition", "verboseLabel": "Stock-based compensation", "documentation": "Amount of increase to additional paid-in capital (APIC) for recognition of cost for award under share-based payment arrangement." } } }, "auth_ref": [ "r32", "r33", "r380" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Adjustments to Reconcile Net Income (Loss) to Cash Provided by (Used in) Operating Activities [Abstract]", "terseLabel": "Adjustments to reconcile net income to net cash provided by (used in) operating activities (net of effect of acquisitions):" } } }, "auth_ref": [] }, "ecd_AggtChngPnsnValInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtChngPnsnValInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Change in Present Value of Accumulated Benefit for All Pension Plans Reported in Summary Compensation Table" } } }, "auth_ref": [ "r841" ] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r767", "r777", "r787", "r819" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r770", "r780", "r790", "r822" ] }, "ecd_AggtPnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AggtPnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Pension Adjustments Service Cost [Member]", "terseLabel": "Aggregate Pension Adjustments Service Cost" } } }, "auth_ref": [ "r842" ] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r808" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r815" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r771", "r781", "r791", "r815", "r823", "r827", "r835" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r833" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "AmendmentFlag", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "AmortizationOfIntangibleAssets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Amortization of Intangible Assets", "terseLabel": "Amortization expense 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": [ "r4", "r271", "r277", "r701" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Assets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Amount of asset recognized for present right to economic benefit." } } }, "auth_ref": [ "r99", "r109", "r160", "r186", "r215", "r221", "r239", "r243", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r439", "r443", "r475", "r545", "r616", "r694", "r695", "r731", "r758", "r917", "r918", "r976" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsAndLiabilitiesLesseeAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Assets and Liabilities, Lessee [Abstract]", "terseLabel": "Operating lease liabilities" } } }, "auth_ref": [] }, "us-gaap_AssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Amount of asset recognized for present right to economic benefit, classified as current." } } }, "auth_ref": [ "r154", "r164", "r186", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r439", "r443", "r475", "r731", "r917", "r918", "r976" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r830" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r831" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r826" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r826" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r826" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r826" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r826" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r826" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "AwardTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Type [Axis]", "terseLabel": "Award Type", "documentation": "Information by type of award under share-based payment arrangement." } } }, "auth_ref": [ "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r829" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r828" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r827" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r827" ] }, "us-gaap_BalanceSheetLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Axis]", "documentation": "Information by location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r289", "r989", "r990" ] }, "us-gaap_BalanceSheetLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BalanceSheetLocationDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Statement of Financial Position Location, Balance [Domain]", "documentation": "Location in statement of financial position where disaggregated cumulative balance has been reported." } } }, "auth_ref": [ "r39", "r41", "r289", "r989", "r990" ] }, "us-gaap_BasisOfPresentationAndSignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BasisOfPresentationAndSignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentation" ], "lang": { "en-us": { "role": { "label": "Basis of Presentation and Significant Accounting Policies [Text Block]", "terseLabel": "Basis of Presentation", "documentation": "The entire disclosure for the basis of presentation and significant accounting policies concepts. Basis of presentation describes the underlying basis used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS). Accounting policies describe all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r84" ] }, "prim_BondsIssuedAndOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "BondsIssuedAndOutstanding", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of bonds issued and outstanding.", "label": "Bonds, Issued and Outstanding", "terseLabel": "Bid and completion bonds issued and outstanding" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Business Combination, Acquisition Related Costs", "verboseLabel": "Transaction and related costs", "documentation": "This element represents acquisition-related costs incurred to effect a business combination which costs have been expensed during the period. Such costs include finder's fees; advisory, legal, accounting, valuation, and other professional or consulting fees; general administrative costs, including the costs of maintaining an internal acquisitions department; and may include costs of registering and issuing debt and equity securities." } } }, "auth_ref": [ "r34" ] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates. Excludes cash and cash equivalents within disposal group and discontinued operation." } } }, "auth_ref": [ "r17", "r156", "r685" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsFairValueDisclosure", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Fair Value Disclosure", "terseLabel": "Cash and cash equivalents", "documentation": "Fair value portion 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." } } }, "auth_ref": [ "r956", "r957" ] }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Restricted Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Restricted cash", "documentation": "Entity's cash and cash equivalents accounting policy with respect to restricted balances. Restrictions may include legally restricted deposits held as compensating balances against short-term borrowing arrangements, contracts entered into with others, or company statements of intention with regard to particular deposits; however, time deposits and short-term certificates of deposit are not generally included in legally restricted deposits." } } }, "auth_ref": [ "r18", "r98" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents", "periodEndLabel": "Cash, cash equivalents and restricted cash at end of the period", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of the period", "totalLabel": "Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows", "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": [ "r17", "r81", "r183" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect", "totalLabel": "Net change in cash, cash equivalents and restricted cash", "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": [ "r0", "r81" ] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r806" ] }, "ecd_ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValAsOfVstngDtOfPrrYrEqtyAwrdsVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year [Member]", "terseLabel": "Change in Fair Value as of Vesting Date of Prior Year Equity Awards Vested in Covered Year" } } }, "auth_ref": [ "r803" ] }, "ecd_ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ChngInFrValOfOutsdngAndUnvstdEqtyAwrdsGrntdInPrrYrsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested [Member]", "terseLabel": "Year-over-Year Change in Fair Value of Equity Awards Granted in Prior Years That are Outstanding and Unvested" } } }, "auth_ref": [ "r801" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CityAreaCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "City Area Code", "documentation": "Area code of city" } } }, "auth_ref": [] }, "ecd_CoSelectedMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r807" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r807" ] }, "prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "CommercialEquipmentFinancingDueJune2018ToAugust2022Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the written promise to pay a note to a commercial equipment finance entity, maturing range from June 15, 2018 to August 22, 2022.", "label": "Commercial Equipment Financing Due June 2018 To August 2022 [Member]", "terseLabel": "Commercial equipment notes" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (See Note 13)", "documentation": "Represents the caption on the face of the balance sheet to indicate that the entity has entered into (1) purchase or supply arrangements that will require expending a portion of its resources to meet the terms thereof, and (2) is exposed to potential losses or, less frequently, gains, arising from (a) possible claims against a company's resources due to future performance under contract terms, and (b) possible losses or likely gains from uncertainties that will ultimately be resolved when one or more future events that are deemed likely to occur do occur or fail to occur." } } }, "auth_ref": [ "r56", "r102", "r547", "r603" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommitmentsAndContingenciesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies Disclosure [Text Block]", "terseLabel": "Commitments and Contingencies", "documentation": "The entire disclosure for commitments and contingencies." } } }, "auth_ref": [ "r87", "r292", "r293", "r669", "r910", "r915" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquityParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Dividends, Per Share, Declared", "terseLabel": "Dividends per common share (in dollars per share)", "verboseLabel": "Cash dividend declared (in dollars per share)", "documentation": "Aggregate dividends declared during the period for each share of common stock outstanding." } } }, "auth_ref": [ "r92" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock [Member]", "terseLabel": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r745", "r746", "r747", "r749", "r750", "r751", "r754", "r870", "r871", "r874", "r955", "r1019", "r1020" ] }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Common Stock, Number of Shares, Par Value and Other Disclosure [Abstract]", "terseLabel": "Common Stock", "verboseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Par or Stated Value Per Share", "terseLabel": "Common stock, par value (in dollars per share)", "documentation": "Face amount or stated value per share of common stock." } } }, "auth_ref": [ "r59" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares Authorized", "terseLabel": "Common stock, shares authorized", "documentation": "The maximum number of common shares permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r59", "r604" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Issued", "terseLabel": "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": [ "r59" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Common Stock, Shares, Outstanding", "terseLabel": "Common stock, shares outstanding", "documentation": "Number of shares of common stock outstanding. Common stock represent the ownership interest in a corporation." } } }, "auth_ref": [ "r7", "r59", "r604", "r622", "r1020", "r1021" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CommonStockValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,712,733 and 53,366,327 issued and outstanding as of September 30, 2024, and December 31, 2023, respectively", "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": [ "r59", "r548", "r731" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r812" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r811" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r813" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r810" ] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent", "totalLabel": "Comprehensive income", "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": [ "r14", "r168", "r170", "r174", "r541", "r557", "r558" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income (Loss), Net of Tax, Attributable to Parent [Abstract]", "terseLabel": "Other comprehensive income (loss), net of tax:" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r22", "r23", "r44", "r45", "r250", "r668" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r22", "r23", "r44", "r45", "r250", "r581", "r668" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Axis]", "documentation": "Information by type of concentration risk, for example, but not limited to, asset, liability, net assets, geographic, customer, employees, supplier, lender." } } }, "auth_ref": [ "r22", "r23", "r44", "r45", "r250", "r668", "r849" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Credit Risk, Policy [Policy Text Block]", "terseLabel": "Customer concentration", "documentation": "Disclosure of accounting policy for credit risk." } } }, "auth_ref": [ "r47", "r112" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Line Items]", "terseLabel": "Customer concentration", "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": [ "r668" ] }, "prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum percentage of revenue typically generated by specified number of customers in any one calendar year.", "label": "Concentration Risk, Minimum Percentage of Revenues Generated by Specified Number of Top Customers", "terseLabel": "Minimum percentage of revenues generated by top ten customers" } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ConcentrationRiskNumberOfCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of customers who typically contribute accounts receivable in excess of a specified percentage.", "label": "Concentration Risk, Number of Customers", "terseLabel": "Number of customers" } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfTopCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ConcentrationRiskNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of top customers who typically generate revenue in excess of a specified percentage of total revenues for the entity and consist of a different group of customers in each year.", "label": "Concentration Risk, Number of Top Customers", "terseLabel": "Number of top customers" } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskPercentage1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk, Percentage", "terseLabel": "Percentage of concentration risk", "documentation": "For an entity that discloses a concentration risk in relation to quantitative amount, which serves as the \"benchmark\" (or denominator) in the equation, this concept represents the concentration percentage derived from the division." } } }, "auth_ref": [ "r22", "r23", "r44", "r45", "r250" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Disclosure of information about concentration risk. Includes, but is not limited to, percentage of concentration risk and benchmark serving as denominator in calculation of percentage of concentration risk." } } }, "auth_ref": [ "r21", "r22", "r23", "r24", "r44", "r97", "r668" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Type [Domain]", "documentation": "For an entity that discloses a concentration risk as a percentage of some financial balance or benchmark, identifies the type (for example, asset, liability, net assets, geographic, customer, employees, supplier, lender) of the concentration." } } }, "auth_ref": [ "r22", "r23", "r44", "r45", "r250", "r668" ] }, "srt_ConsolidatedEntitiesAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidatedEntitiesAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Axis]", "documentation": "Information by consolidated entity or group of entities." } } }, "auth_ref": [ "r118", "r132", "r188", "r439", "r440", "r443", "r444", "r498", "r674", "r850", "r853", "r854", "r916", "r919", "r920" ] }, "srt_ConsolidatedEntitiesDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidatedEntitiesDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Consolidated Entities [Domain]", "documentation": "Entity or group of entities consolidated into reporting entity." } } }, "auth_ref": [ "r118", "r132", "r188", "r439", "r440", "r443", "r444", "r498", "r674", "r850", "r853", "r854", "r916", "r919", "r920" ] }, "srt_ConsolidationItemsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Axis]", "documentation": "Information by components, eliminations, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r107", "r118", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r146", "r147", "r188", "r215", "r223", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r300", "r301", "r302", "r303", "r305", "r306", "r307", "r308", "r309", "r694", "r695", "r851", "r852", "r917", "r918" ] }, "srt_ConsolidationItemsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ConsolidationItemsDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Consolidation Items [Domain]", "documentation": "Components, elimination, non-segment corporate-level activity and reconciling items used in consolidating a parent entity and its subsidiaries or its operating segments." } } }, "auth_ref": [ "r107", "r118", "r139", "r140", "r141", "r142", "r143", "r144", "r145", "r146", "r147", "r188", "r215", "r223", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r300", "r301", "r302", "r303", "r305", "r306", "r307", "r308", "r309", "r694", "r695", "r851", "r852", "r917", "r918" ] }, "prim_ContractWithCustomerAccountsPayableDueToSubcontractors": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerAccountsPayableDueToSubcontractors", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount due to subcontractors and retained pending contract completion and customer acceptance of jobs included in accounts payable.", "label": "Contract with Customer, Accounts Payable, Due to Subcontractors", "terseLabel": "Retention amounts included in accounts payable" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetCumulativeCatchUpAdjustmentToRevenueModificationOfContract", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Cumulative Catch-up Adjustment to Revenue, Modification of Contract", "terseLabel": "Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis", "documentation": "Amount of increase (decrease) in revenue recognized for cumulative catch-up adjustment from contract modification which increases (decreases) 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": [ "r708" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, after Allowance for Credit Loss, Current", "terseLabel": "Contract assets", "totalLabel": "Contract assets", "documentation": "Amount, after allowance for credit loss, of right to consideration in exchange for good or service transferred to customer when right is conditioned on something other than passage of time, classified as current." } } }, "auth_ref": [ "r353", "r355", "r367" ] }, "prim_ContractWithCustomerAssetTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerAssetTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contract assets balances and changes in contract assets balances.", "label": "Contract with Customer, Asset [Table Text Block]", "terseLabel": "Schedule of contract assets" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerBasisOfPricingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Axis]", "documentation": "Information by basis of pricing for contract representing right to consideration in exchange for good or service transferred to customer." } } }, "auth_ref": [ "r712", "r923" ] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerBasisOfPricingDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Basis of Pricing [Domain]", "documentation": "Basis of pricing for contract with customer. Includes, but is not limited to, fixed-price and time-and-materials contracts." } } }, "auth_ref": [ "r712", "r923" ] }, "prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerLiabilityAccruedLossProvisionCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Accrued loss provision component of obligation to transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer Liability Accrued Loss Provision Current", "terseLabel": "Accrued loss provision" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Current", "terseLabel": "Contract liabilities", "totalLabel": "Contract liabilities", "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": [ "r353", "r354", "r367" ] }, "prim_ContractWithCustomerLiabilityDeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerLiabilityDeferredRevenueCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of obligation before accrued loss provision on transfer good or service to customer for which consideration has been received or is receivable, classified as current.", "label": "Contract with Customer, Liability, Deferred Revenue, Current", "terseLabel": "Deferred revenue" } } }, "auth_ref": [] }, "prim_ContractWithCustomerLiabilityModificationOfContract": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerLiabilityModificationOfContract", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of contract modifications included in the expected contract value.", "label": "Contract with Customer, Liability, Modification of Contract", "terseLabel": "Amount of contract modifications included in the expected contract value." } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerLiabilityRevenueRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerLiabilityRevenueRecognized", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Liability, Revenue Recognized", "terseLabel": "Revenue recognized included in contract liability at beginning of period", "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": [ "r368" ] }, "prim_ContractWithCustomerLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ContractWithCustomerLiabilityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of contract liabilities balances and changes in contract liabilities balances.", "label": "Contract with Customer, Liability [Table Text Block]", "terseLabel": "Schedule of contract liabilities" } } }, "auth_ref": [] }, "us-gaap_ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Performance Obligation Satisfied in Previous Period", "terseLabel": "Revenue recognized from performance obligations satisfied in previous periods", "documentation": "Amount of revenue recognized from performance obligation satisfied or partially satisfied in previous reporting periods. Includes, but is not limited to, change in transaction price." } } }, "auth_ref": [ "r362" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Goods and Services Sold", "terseLabel": "Cost of revenue", "documentation": "The aggregate costs related to goods produced and sold and services rendered by an entity during the reporting period. This excludes costs incurred during the reporting period related to financial services rendered and other revenue generating activities." } } }, "auth_ref": [ "r71", "r72", "r506" ] }, "prim_CostReimbursableContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "CostReimbursableContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for cost reimbursable contract.", "label": "Cost Reimbursable Contracts [Member]", "terseLabel": "Cost reimbursable" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "prim_CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the threshold restriction percentage of disposal of total assets.", "label": "Credit Agreement, Threshold Restriction Percentage Of Disposal Of Total Assets", "terseLabel": "Percentage of credit agreement, threshold restriction of total assets" } } }, "auth_ref": [] }, "prim_CreditFacilityWithCanadianBankMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "CreditFacilityWithCanadianBankMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to credit facility with a Canadian bank.", "label": "Credit Facility With Canadian Bank [Member]", "terseLabel": "Canadian Credit Facility" } } }, "auth_ref": [] }, "prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the credit agreement with Private Bank, Bank of the West and IBERIABANK Corporation.", "label": "Credit Facility With Private Bank Bank Of West And IBERIABANK Corporation [Member]", "terseLabel": "Credit Agreement" } } }, "auth_ref": [] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "CurrentFiscalYearEndDate", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Current Fiscal Year End Date", "documentation": "End date of current fiscal year in the format --MM-DD." } } }, "auth_ref": [] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Customer Concentration Risk [Member]", "terseLabel": "Customer concentration", "documentation": "Reflects the percentage that revenues in the period from one or more significant customers is to net revenues, as defined by the entity, such as total net revenues, product line revenues, segment revenues. The risk is the materially adverse effects of loss of a significant customer." } } }, "auth_ref": [ "r85", "r250" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer Relationships [Member]", "verboseLabel": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r38", "r898", "r899", "r900", "r901", "r903", "r905", "r908", "r909" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Credit Arrangements" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangements" ], "lang": { "en-us": { "role": { "label": "Debt Disclosure [Text Block]", "terseLabel": "Credit Arrangements", "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": [ "r88", "r184", "r284", "r285", "r286", "r287", "r288", "r298", "r299", "r311", "r317", "r318", "r319", "r320", "r321", "r322", "r327", "r334", "r335", "r337", "r486" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentBasisSpreadOnVariableRate1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Basis Spread on Variable Rate", "terseLabel": "Basis spread on variable rate (as a percent)", "documentation": "Percentage points added to the reference rate to compute the variable rate on the debt instrument." } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentCarryingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Gross", "terseLabel": "Total debt", "documentation": "Amount, before unamortized (discount) premium and debt issuance costs, of long-term debt. Includes, but is not limited to, notes payable, bonds payable, commercial loans, mortgage loans, convertible debt, subordinated debt and other types of debt." } } }, "auth_ref": [ "r11", "r101", "r338" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentFaceAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Face Amount", "terseLabel": "Principal amount", "documentation": "Face (par) amount of debt instrument at time of issuance." } } }, "auth_ref": [ "r312", "r486", "r487", "r703", "r704", "r729" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument [Line Items]", "terseLabel": "Credit Agreements", "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": [ "r188", "r312", "r313", "r314", "r315", "r316", "r318", "r323", "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r336", "r702", "r703", "r704", "r705", "r706", "r729", "r867", "r972", "r973" ] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtInstrumentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-Term Debt Instruments [Table]", "documentation": "Disclosure of information about long-term debt instrument or arrangement." } } }, "auth_ref": [ "r11", "r30", "r31", "r46", "r90", "r91", "r188", "r312", "r313", "r314", "r315", "r316", "r318", "r323", "r324", "r325", "r326", "r328", "r329", "r330", "r331", "r332", "r333", "r336", "r702", "r703", "r704", "r705", "r706", "r729", "r867", "r972", "r973" ] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DebtWeightedAverageInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt, Weighted Average Interest Rate", "terseLabel": "Weighted average interest rate (as a percent)", "documentation": "Weighted average interest rate of debt outstanding." } } }, "auth_ref": [] }, "prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents percentage of average market closing prices used in determining number of common stock that could be purchased by participants.", "label": "Deferred Compensation Arrangement Percentage of Average Market Closing Prices used in Determining Number of Common Stock that Could be Purchased by Participants", "terseLabel": "Percentage of average market closing prices used in determining number of common stock that could be purchased by participants" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Liabilities, Net", "verboseLabel": "Deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r411", "r412", "r546" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion and Amortization", "terseLabel": "Depreciation and amortization", "documentation": "The aggregate expense recognized in the current period that allocates the cost of tangible assets, intangible assets, or depleting assets to periods that benefit from use of the assets." } } }, "auth_ref": [ "r4", "r215", "r226", "r243", "r694", "r695" ] }, "us-gaap_DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetCurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset classified as current." } } }, "auth_ref": [ "r445" ] }, "us-gaap_DerivativeAssetNoncurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetNoncurrentStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Noncurrent, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset classified as noncurrent." } } }, "auth_ref": [ "r445" ] }, "us-gaap_DerivativeAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Current", "terseLabel": "Derivative assets, current", "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, expected to be settled within one year or normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r166" ] }, "us-gaap_DerivativeAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Noncurrent", "terseLabel": "Derivative assets, noncurrent", "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, expected to be settled after one year or the normal operating cycle, if longer. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r166" ] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeContractTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "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": [ "r593", "r595", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r617", "r618", "r619", "r620", "r629", "r630", "r631", "r632", "r635", "r636", "r637", "r638", "r654", "r656", "r660", "r662", "r745", "r747", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968" ] }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeFairValueOfDerivativeAsset", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Subject to Master Netting Arrangement, before Offset", "terseLabel": "Derivative asset", "documentation": "Fair value, before 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 elected not to be offset. Excludes assets not subject to a master netting arrangement." } } }, "auth_ref": [ "r9", "r67", "r94", "r95", "r165", "r686" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeFixedInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Fixed Interest Rate", "terseLabel": "Derivative fixed interest rate (as a percent)", "documentation": "Fixed interest rate related to the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativeGainLossOnDerivativeNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeGainLossOnDerivativeNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Gain (Loss) on Derivative, Net", "negatedLabel": "Amount of (gain) loss recognized on derivatives, net", "documentation": "Amount of increase (decrease) in the fair value of derivatives recognized in the income statement." } } }, "auth_ref": [ "r954" ] }, "us-gaap_DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration]", "documentation": "Indicates line item in statement of income or comprehensive income that includes gain (loss) from derivative." } } }, "auth_ref": [ "r954" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentRiskAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instrument [Axis]", "documentation": "Information by type of derivative contract." } } }, "auth_ref": [ "r40", "r42", "r43", "r96", "r593", "r595", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r617", "r618", "r619", "r620", "r629", "r630", "r631", "r632", "r635", "r636", "r637", "r638", "r654", "r656", "r660", "r662", "r686", "r745", "r747", "r961", "r962", "r963", "r964", "r965", "r966", "r967", "r968" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Derivative Instruments" } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosure [Text Block]", "terseLabel": "Derivative Instruments", "documentation": "The entire disclosure for derivative instruments and hedging activities including, but not limited to, risk management strategies, non-hedging derivative instruments, assets, liabilities, revenue and expenses, and methodologies and assumptions used in determining the amounts." } } }, "auth_ref": [ "r93", "r447", "r454" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosures [Line Items]", "terseLabel": "Derivative Instruments", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments and Hedging Activities Disclosures [Table]", "documentation": "Disclosure of information about derivatives and hedging activities." } } }, "auth_ref": [] }, "us-gaap_DerivativeLiabilityNotionalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DerivativeLiabilityNotionalAmount", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Liability, Notional Amount", "terseLabel": "Notional Amount", "documentation": "Nominal or face amount used to calculate payments on the derivative liability." } } }, "auth_ref": [ "r655", "r657", "r659", "r661", "r951", "r952", "r953" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Line Items]", "terseLabel": "Disaggregation of Revenue", "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": [ "r366", "r709", "r710", "r711", "r712", "r713", "r714", "r715" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "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": [ "r366", "r709", "r710", "r711", "r712", "r713", "r714", "r715" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DisaggregationOfRevenueTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueTables" ], "lang": { "en-us": { "role": { "label": "Disaggregation of Revenue [Table Text Block]", "terseLabel": "Schedule of revenue disaggregation by various categories", "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": [ "r923" ] }, "us-gaap_DividendPayableDateToBePaidDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendPayableDateToBePaidDayMonthAndYear", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date to be Paid", "terseLabel": "Date Paid", "documentation": "Date the declared dividend will be paid, in YYYY-MM-DD format." } } }, "auth_ref": [ "r20" ] }, "prim_DividendsAndEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "DividendsAndEarningsPerShareAbstract", "lang": { "en-us": { "role": { "documentation": "No definition available.", "label": "Dividends and Earnings Per Share" } } }, "auth_ref": [] }, "prim_DividendsAndEarningsPerShareDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "DividendsAndEarningsPerShareDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare" ], "lang": { "en-us": { "role": { "documentation": "The entire disclosure for dividends paid or declared and earnings per share.", "label": "Dividends and Earnings Per Share Disclosure [Text Block]", "terseLabel": "Dividends and Earnings Per Share" } } }, "auth_ref": [] }, "us-gaap_DividendsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Axis]", "documentation": "Information by distribution of earnings to shareholder. Includes, but is not limited to, distribution paid and declared." } } }, "auth_ref": [] }, "us-gaap_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Dividends, Common Stock, Cash", "negatedLabel": "Dividends declared", "documentation": "Amount of paid and unpaid common stock dividends declared with the form of settlement in cash." } } }, "auth_ref": [ "r92" ] }, "us-gaap_DividendsDeclaredTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsDeclaredTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Dividends Declared [Table Text Block]", "terseLabel": "Schedule of cash dividends paid or declared", "documentation": "Tabular disclosure of information related to dividends declared, including paid and unpaid dividends." } } }, "auth_ref": [] }, "us-gaap_DividendsDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Dividends [Domain]", "documentation": "Distributions of earnings to shareholders including but not limited to cash, property or capital stock." } } }, "auth_ref": [] }, "us-gaap_DividendsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsPayableCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Current", "terseLabel": "Dividends payable", "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r51" ] }, "us-gaap_DividendsPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsPayableCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Dividends Payable", "terseLabel": "Dividends declared and not yet paid", "documentation": "Carrying value as of the balance sheet date of dividends declared but unpaid on equity securities issued by the entity and outstanding." } } }, "auth_ref": [ "r51", "r55", "r100", "r755", "r985" ] }, "us-gaap_DividendsPayableDateDeclaredDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsPayableDateDeclaredDayMonthAndYear", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date Declared", "terseLabel": "Declaration Date", "documentation": "Date the dividend to be paid was declared, in YYYY-MM-DD format." } } }, "auth_ref": [ "r20" ] }, "us-gaap_DividendsPayableDateOfRecordDayMonthAndYear": { "xbrltype": "dateItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "DividendsPayableDateOfRecordDayMonthAndYear", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Dividends Payable, Date of Record", "terseLabel": "Record Date", "documentation": "Date the holder must own the stock to be entitled to the dividend, in YYYY-MM-DD format." } } }, "auth_ref": [] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentFiscalPeriodFocus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "DocumentFiscalYearFocus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "DocumentPeriodEndDate", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "DocumentQuarterlyReport", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Quarterly Report", "documentation": "Boolean flag that is true only for a form used as an quarterly report." } } }, "auth_ref": [ "r762" ] }, "dei_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentTransitionReport", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Transition Report", "documentation": "Boolean flag that is true only for a form used as a transition report." } } }, "auth_ref": [ "r794" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "DocumentType", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [] }, "ecd_DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "DvddsOrOthrErngsPdOnEqtyAwrdsNtOthrwsRflctdInTtlCompForCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year [Member]", "terseLabel": "Dividends or Other Earnings Paid on Equity Awards not Otherwise Reflected in Total Compensation for Covered Year" } } }, "auth_ref": [ "r805" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "verboseLabel": "Basic earnings per share (in dollars per share)", "documentation": "The amount of net income (loss) for the period per each share of common stock or unit outstanding during the reporting period." } } }, "auth_ref": [ "r175", "r194", "r195", "r196", "r197", "r198", "r199", "r204", "r206", "r211", "r212", "r213", "r214", "r433", "r437", "r457", "r458", "r542", "r559", "r687" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "verboseLabel": "Diluted earnings per share (in dollars per share)", "documentation": "The amount of net income (loss) for the period available to each share of common stock or common unit outstanding during the reporting period and to each share or unit that would have been outstanding assuming the issuance of common shares or units for all dilutive potential common shares or units outstanding during the reporting period." } } }, "auth_ref": [ "r175", "r194", "r195", "r196", "r197", "r198", "r199", "r206", "r211", "r212", "r213", "r214", "r433", "r437", "r457", "r458", "r542", "r559", "r687" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share Reconciliation [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash, and Restricted Cash Equivalents, Including Disposal Group and Discontinued Operations", "terseLabel": "Effect of exchange rate changes on cash, cash equivalents and restricted cash", "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": [ "r971" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateContinuingOperations", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Percent", "terseLabel": "Effective income tax rate reconciliation (in percent)", "documentation": "Percentage of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r414", "r720" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent", "terseLabel": "U.S. federal statutory income tax rate (as a percent)", "documentation": "Percentage of domestic federal statutory tax rate applicable to pretax income (loss)." } } }, "auth_ref": [ "r187", "r414", "r424", "r720" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Employee-related Liabilities, Current", "terseLabel": "Payroll and related employee benefits", "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": [ "r51" ] }, "us-gaap_EmployeeStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock [Member]", "terseLabel": "Employee Stock Purchase Plan", "documentation": "An Employee Stock Purchase Plan is a tax-efficient means by which employees of a corporation can purchase the corporation's stock." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOptionMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOptionMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Employee Stock Option [Member]", "terseLabel": "Employee Stock Option", "documentation": "Share-based payment arrangement granting right, subject to vesting and other restrictions, to purchase or sell certain number of shares at predetermined price for specified period of time." } } }, "auth_ref": [] }, "us-gaap_EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EmployeeStockOwnershipPlanESOPWeightedAveragePurchasePriceOfSharesPurchased", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Employee Stock Ownership Plan (ESOP), Weighted Average Purchase Price of Shares Purchased", "terseLabel": "Stock purchase price", "documentation": "Weighted average purchase price of capital shares purchased through an employee stock ownership plan." } } }, "auth_ref": [] }, "prim_EnergySegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "EnergySegmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Energy, a reportable segment of the entity.", "label": "Energy [Member]", "terseLabel": "Energy" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressAddressLine1", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Address, Address Line One", "documentation": "Address Line 1 such as Attn, Building Name, Street Name" } } }, "auth_ref": [] }, "dei_EntityAddressCityOrTown": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityAddressCityOrTown", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "EntityAddressPostalZipCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "EntityAddressStateOrProvince", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "EntityCentralIndexKey", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r760" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityCommonStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "EntityCurrentReportingStatus", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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_EntityEmergingGrowthCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityEmergingGrowthCompany", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Emerging Growth Company", "documentation": "Indicate if registrant meets the emerging growth company criteria." } } }, "auth_ref": [ "r760" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityFileNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Securities Act 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/2024", "localname": "EntityFilerCategory", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r760" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityIncorporationStateCountryCode", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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/2024", "localname": "EntityInteractiveDataCurrent", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r844" ] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityRegistrantName", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r760" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityShellCompany", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r760" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntitySmallBusiness", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Small Business", "documentation": "Indicates that the company is a Smaller Reporting Company (SRC)." } } }, "auth_ref": [ "r760" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "EntityTaxIdentificationNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "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": [ "r760" ] }, "ecd_EqtyAwrdsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Footnote [Text Block]", "terseLabel": "Equity Awards Adjustments, Footnote" } } }, "auth_ref": [ "r799" ] }, "ecd_EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsExclgValRprtdInSummryCompstnTblMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments, Excluding Value Reported in the Compensation Table [Member]", "terseLabel": "Equity Awards Adjustments, Excluding Value Reported in Compensation Table" } } }, "auth_ref": [ "r840" ] }, "ecd_EqtyAwrdsAdjsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsAdjsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Awards Adjustments [Member]", "terseLabel": "Equity Awards Adjustments" } } }, "auth_ref": [ "r840" ] }, "ecd_EqtyAwrdsInSummryCompstnTblForAplblYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EqtyAwrdsInSummryCompstnTblForAplblYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table [Member]", "terseLabel": "Aggregate Grant Date Fair Value of Equity Award Amounts Reported in Summary Compensation Table" } } }, "auth_ref": [ "r840" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "EquityComponentDomain", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "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": [ "r7", "r151", "r171", "r172", "r173", "r189", "r190", "r191", "r193", "r198", "r200", "r202", "r216", "r254", "r255", "r282", "r352", "r422", "r423", "r430", "r431", "r432", "r434", "r436", "r437", "r448", "r449", "r450", "r451", "r452", "r453", "r456", "r480", "r481", "r482", "r483", "r484", "r485", "r488", "r490", "r497", "r556", "r574", "r575", "r576", "r588", "r642" ] }, "prim_EquityIncentivePlan2013Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "EquityIncentivePlan2013Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the 2013 Equity Incentive Plan of the entity.", "label": "Equity Incentive Plan 2013 [Member]", "terseLabel": "Equity Plan" } } }, "auth_ref": [] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r809" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r767", "r777", "r787", "r819" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r764", "r774", "r784", "r816" ] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r815" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Assets and Liabilities Measured on Recurring and Nonrecurring Basis [Line Items]", "terseLabel": "Fair value measurements", "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": [ "r460", "r461", "r469", "r723" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r460", "r461", "r469", "r723" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "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": [ "r325", "r371", "r372", "r373", "r374", "r375", "r376", "r459", "r461", "r462", "r463", "r464", "r468", "r469", "r470", "r499", "r500", "r501", "r703", "r704", "r716", "r717", "r718", "r723", "r725" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r460", "r461", "r462", "r464", "r723", "r959", "r969" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueDisclosuresTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements" ], "lang": { "en-us": { "role": { "label": "Fair Value Disclosures [Text Block]", "terseLabel": "Fair Value Measurements", "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": [ "r465", "r466", "r467", "r468", "r470", "r471", "r472", "r473", "r474", "r539", "r723", "r726" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 1 [Member]", "terseLabel": "Quoted Prices in Active Markets for Identical Assets (Level 1)", "documentation": "Quoted prices in active markets for identical assets or liabilities that the reporting entity can access at the measurement date." } } }, "auth_ref": [ "r325", "r371", "r376", "r461", "r469", "r499", "r716", "r717", "r718", "r723" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Inputs, Level 2 [Member]", "terseLabel": "Significant Other Observable Inputs (Level 2)", "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": [ "r325", "r371", "r376", "r461", "r462", "r469", "r500", "r703", "r704", "r716", "r717", "r718", "r723" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [ "r460", "r461", "r462", "r464", "r723", "r959", "r969" ] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy and NAV [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r325", "r371", "r372", "r373", "r374", "r375", "r376", "r459", "r461", "r462", "r463", "r464", "r468", "r469", "r470", "r499", "r500", "r501", "r703", "r704", "r716", "r717", "r718", "r723", "r725" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Recurring [Member]", "terseLabel": "Recurring", "documentation": "Frequent fair value measurement. Includes, but is not limited to, fair value adjustment for impairment of asset, liability or equity, frequently measured at fair value." } } }, "auth_ref": [ "r723", "r956", "r957", "r958", "r959", "r960", "r969" ] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Accumulated Amortization", "negatedLabel": "Accumulated Amortization", "documentation": "Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r158", "r257", "r276", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year One", "terseLabel": "2025", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in next fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r278", "r682", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Remainder of Fiscal Year", "terseLabel": "2024 (remaining three months)", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in remainder of current fiscal year." } } }, "auth_ref": [ "r1022" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Four", "terseLabel": "2028", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fourth fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r278", "r682", "r701" ] }, "prim_FiniteLivedIntangibleAssetsAmortizationExpenseYearFourAndAfter": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFourAndAfter", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized year four and after following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach).", "label": "Finite Lived Intangible Assets Amortization Expense Year Four and After", "terseLabel": "Thereafter" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Three", "terseLabel": "2027", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in third fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r278", "r682", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Expected Amortization, Year Two", "terseLabel": "2026", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in second fiscal year following current fiscal year. Excludes interim and annual periods when interim periods are reported from current statement of financial position date (rolling approach)." } } }, "auth_ref": [ "r278", "r682", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets by Major Class [Axis]", "documentation": "Information by major type or class of finite-lived intangible assets." } } }, "auth_ref": [ "r270", "r272", "r273", "r274", "r275", "r276", "r279", "r280", "r507", "r508", "r682" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Net, Amortization Expense, Fiscal Year Maturity [Abstract]", "terseLabel": "Estimated future amortization expense for intangible assets" } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsGross", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Gross", "terseLabel": "Gross Carrying Amount", "documentation": "Amount before amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r257", "r276", "r508", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible assets", "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": [ "r270", "r276", "r279", "r280", "r281", "r507", "r682", "r701" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "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": [ "r270", "r272", "r273", "r274", "r275", "r276", "r279", "r280", "r682" ] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "FixedPriceContractMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Fixed-Price Contract [Member]", "terseLabel": "Fixed price", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r712" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Gain (Loss), Foreign Currency Transaction, before Tax", "terseLabel": "Foreign exchange gain (loss), net", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r476", "r477", "r478", "r479", "r639" ] }, "prim_ForeignLettersOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ForeignLettersOfCreditMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "A document typically issued by a financial institution outside the USA which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit).", "label": "Foreign letters of credit [Member]", "terseLabel": "Foreign letters of credit" } } }, "auth_ref": [] }, "ecd_ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r771", "r781", "r791", "r823" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r771", "r781", "r791", "r823" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r771", "r781", "r791", "r823" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r771", "r781", "r791", "r823" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r771", "r781", "r791", "r823" ] }, "ecd_FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "FrValAsOfPrrYrEndOfEqtyAwrdsGrntdInPrrYrsFldVstngCondsDrngCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year [Member]", "terseLabel": "Prior Year End Fair Value of Equity Awards Granted in Any Prior Year that Fail to Meet Applicable Vesting Conditions During Covered Year" } } }, "auth_ref": [ "r804" ] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Disposition of Property Plant Equipment", "negatedLabel": "Gain on sale of property and equipment", "documentation": "Amount of gain (loss) on sale or disposal of property, plant and equipment assets, including oil and gas property and timber property." } } }, "auth_ref": [ "r4" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Goodwill", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "terseLabel": "Goodwill", "documentation": "Amount, after accumulated impairment loss, of asset representing future economic benefit arising from other asset acquired in business combination or from joint venture formation or both, that is not individually identified and separately recognized." } } }, "auth_ref": [ "r157", "r258", "r540", "r695", "r700", "r724", "r731", "r887", "r894" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillAndIntangibleAssetsDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets Disclosure [Text Block]", "verboseLabel": "Goodwill and Intangible Assets", "documentation": "The entire disclosure for goodwill and intangible assets." } } }, "auth_ref": [ "r885", "r897" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GoodwillLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Line Items]", "terseLabel": "Goodwill", "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": [ "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r700" ] }, "us-gaap_GranteeStatusAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GranteeStatusAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Axis]", "documentation": "Information by status of recipient to whom award is granted." } } }, "auth_ref": [ "r379", "r381", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408" ] }, "us-gaap_GranteeStatusDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GranteeStatusDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Grantee Status [Domain]", "documentation": "Status of recipient to whom award is granted." } } }, "auth_ref": [ "r379", "r381", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "GrossProfit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Gross Profit", "terseLabel": "Gross Profit", "totalLabel": "Gross profit", "documentation": "Aggregate revenue less cost of goods and services sold or operating expenses directly attributable to the revenue generation activity." } } }, "auth_ref": [ "r69", "r73", "r108", "r186", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r475", "r689", "r694", "r876", "r878", "r879", "r880", "r881", "r917" ] }, "prim_GrossProfitAsPercentageOfSegmentRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "GrossProfitAsPercentageOfSegmentRevenue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the gross profit represented as a percentage of total segment revenue.", "label": "Gross Profit as Percentage of Segment Revenue", "terseLabel": "% of Segment Revenue" } } }, "auth_ref": [] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Noncontrolling Interest", "totalLabel": "Income before provision for income taxes", "documentation": "Amount of income (loss) from continuing operations, including income (loss) from equity method investments, before deduction of income tax expense (benefit), and income (loss) attributable to noncontrolling interest." } } }, "auth_ref": [ "r70", "r104", "r108", "r543", "r553", "r689", "r694", "r876", "r878", "r879", "r880", "r881" ] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF INCOME" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "documentation": "The entire disclosure for income tax." } } }, "auth_ref": [ "r187", "r410", "r414", "r415", "r416", "r417", "r418", "r419", "r425", "r427", "r428", "r429", "r586", "r720" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit)", "negatedLabel": "Provision for income taxes", "documentation": "Amount of current income tax expense (benefit) and deferred income tax expense (benefit) pertaining to continuing operations." } } }, "auth_ref": [ "r110", "r115", "r201", "r202", "r215", "r229", "r243", "r413", "r414", "r426", "r560", "r720" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid, Net", "terseLabel": "Cash paid for income taxes, net of refunds received", "documentation": "Amount, after refund, of cash paid to foreign, federal, state, and local jurisdictions as income tax." } } }, "auth_ref": [ "r19", "r182", "r420", "r421" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accounts Payable", "terseLabel": "Accounts payable", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of liabilities incurred (and for which invoices have typically been received) and payable to vendors for goods and services received that are used in an entity's business." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Accrued Liabilities", "verboseLabel": "Accrued liabilities", "documentation": "The increase (decrease) during the reporting period in the aggregate amount of expenses incurred but not yet paid." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Asset", "negatedLabel": "Contract assets", "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": [ "r865" ] }, "prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "IncreaseDecreaseInContractWithCustomerAssetNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in contract with customer asset net current.", "label": "Increase (Decrease) in Contract with Customer Asset Net Current", "terseLabel": "Increase (decrease) in contract assets" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInContractWithCustomerLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Contract with Customer, Liability", "terseLabel": "Contract liabilities", "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": [ "r505", "r865" ] }, "prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "IncreaseDecreaseInContractWithCustomerLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in contract with customers liability current.", "label": "Increase (Decrease) in Contract with Customer Liability Current", "terseLabel": "Increase in contract liabilities" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Operating Capital [Abstract]", "terseLabel": "Changes in assets and liabilities:" } } }, "auth_ref": [] }, "prim_IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of increase (decrease) in operating lease assets and liabilities.", "label": "Increase Decrease in Operating Lease Assets and Liabilities", "negatedLabel": "Operating lease assets and liabilities, net" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInOtherCurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Current Assets", "negatedLabel": "Other current assets", "documentation": "Amount of increase (decrease) in current assets classified as other." } } }, "auth_ref": [ "r865" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Assets", "negatedLabel": "Other long-term assets", "documentation": "Amount of increase (decrease) in noncurrent assets classified as other." } } }, "auth_ref": [ "r865" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Other Noncurrent Liabilities", "terseLabel": "Other long-term liabilities", "documentation": "Amount of increase (decrease) in noncurrent operating liabilities classified as other." } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInReceivables", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Receivables", "negatedLabel": "Accounts receivable", "documentation": "The increase (decrease) during the reporting period in the total amount due within one year (or one operating cycle) from all parties, associated with underlying transactions that are classified as operating activities." } } }, "auth_ref": [ "r3" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Stockholders' Equity [Roll Forward]", "terseLabel": "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_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Incremental Common Shares Attributable to Dilutive Effect of Share-Based Payment Arrangements", "terseLabel": "Dilutive effect of stock-based awards", "documentation": "Additional shares included in the calculation of diluted EPS as a result of the potentially dilutive effect of share based payment arrangements using the treasury stock method." } } }, "auth_ref": [ "r207", "r208", "r209", "r213", "r382" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r771", "r781", "r791", "r815", "r823", "r827", "r835" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r833" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r763", "r839" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r763", "r839" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r763", "r839" ] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Intangible Assets, Net (Excluding Goodwill)", "terseLabel": "Intangible assets, net", "totalLabel": "Intangible assets, net", "documentation": "Sum of the carrying amounts of all intangible assets, excluding goodwill, as of the balance sheet date, net of accumulated amortization and impairment charges." } } }, "auth_ref": [ "r270", "r905", "r907" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Nonoperating", "terseLabel": "Interest expense, net", "documentation": "Amount of interest income (expense) classified as nonoperating." } } }, "auth_ref": [ "r694", "r863", "r878" ] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid, Excluding Capitalized Interest, Operating Activities", "terseLabel": "Cash paid for interest", "documentation": "Amount of cash paid for interest, excluding capitalized interest, classified as operating activity. Includes, but is not limited to, payment to settle zero-coupon bond for accreted interest of debt discount and debt instrument with insignificant coupon interest rate in relation to effective interest rate of borrowing attributable to accreted interest of debt discount." } } }, "auth_ref": [ "r177", "r180", "r181" ] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InterestRateSwapMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Interest Rate Swap [Member]", "terseLabel": "Interest rate swaps", "documentation": "Forward based contracts in which two parties agree to swap periodic payments that are fixed at the outset of the swap contract with variable payments based on a market interest rate (index rate) over a specified period." } } }, "auth_ref": [ "r683", "r752", "r753" ] }, "us-gaap_IntersegmentEliminationMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "IntersegmentEliminationMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Intersegment Eliminations [Member]", "terseLabel": "Intersegment eliminations", "documentation": "Eliminating entries used in operating segment consolidation." } } }, "auth_ref": [ "r107", "r215", "r223", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r694" ] }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "InventoryForLongTermContractsOrPrograms", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Inventory for Long-Term Contracts or Programs, Gross", "terseLabel": "Contract materials (not yet installed)", "documentation": "Amount before valuation and LIFO reserves, and progress payments, of inventory associated with long-term contracts, expected to be sold, or consumed within one year or operating cycle, if longer." } } }, "auth_ref": [ "r858" ] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Abstract]" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeaseCostTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lease, Cost [Table Text Block]", "terseLabel": "Summary of components of lease expense", "documentation": "Tabular disclosure of lessee's lease cost. Includes, but is not limited to, interest expense for finance lease, amortization of right-of-use asset for finance lease, operating lease cost, short-term lease cost, variable lease cost and sublease income." } } }, "auth_ref": [ "r975" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "prim_LesseeOperatingLeaseLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "LesseeOperatingLeaseLiabilityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of operating lease liabilities.", "label": "Lessee Operating Lease Liability [Table Text Block]", "terseLabel": "Summary of operating lease liabilities" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeaseRenewalTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Renewal Term", "terseLabel": "Renewal term", "documentation": "Term of lessee's operating lease renewal, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r974" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LesseeOperatingLeasesTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeases" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Leases [Text Block]", "terseLabel": "Leases", "documentation": "The entire disclosure for operating leases of lessee. Includes, but is not limited to, description of operating lease and maturity analysis of operating lease liability." } } }, "auth_ref": [ "r489" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LetterOfCreditMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Letter of Credit [Member]", "terseLabel": "Commercial letters of credit", "documentation": "A document typically issued by a financial institution which acts as a guarantee of payment to a beneficiary, or as the source of payment for a specific transaction (for example, wiring funds to a foreign exporter if and when specified merchandise is accepted pursuant to the terms of the letter of credit)." } } }, "auth_ref": [] }, "us-gaap_LettersOfCreditOutstandingAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LettersOfCreditOutstandingAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Letters of Credit Outstanding, Amount", "terseLabel": "Letters of credit outstanding", "documentation": "The total amount of the contingent obligation under letters of credit outstanding as of the reporting date." } } }, "auth_ref": [] }, "us-gaap_Liabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "Liabilities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Amount of liability recognized for present obligation requiring transfer or otherwise providing economic benefit to others." } } }, "auth_ref": [ "r11", "r50", "r51", "r52", "r54", "r55", "r56", "r57", "r186", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r440", "r443", "r444", "r475", "r602", "r688", "r758", "r917", "r976", "r977" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity", "totalLabel": "Total liabilities and stockholders' equity", "documentation": "Amount of liabilities and equity items, including the portion of equity attributable to noncontrolling interests, if any." } } }, "auth_ref": [ "r65", "r103", "r551", "r731", "r868", "r884", "r970" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities and Equity [Abstract]", "terseLabel": "LIABILITIES AND STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current", "totalLabel": "Total current liabilities", "documentation": "Total obligations incurred as part of normal operations that are expected to be paid during the following twelve months or within one business cycle, if longer." } } }, "auth_ref": [ "r52", "r155", "r186", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r440", "r443", "r444", "r475", "r731", "r917", "r976", "r977" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Line of Credit", "terseLabel": "Borrowings outstanding", "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": [ "r11", "r101", "r986" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityMaximumBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Maximum Borrowing Capacity", "terseLabel": "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": [ "r49", "r53" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LineOfCreditFacilityRemainingBorrowingCapacity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Remaining Borrowing Capacity", "terseLabel": "Available borrowing capacity", "documentation": "Amount of borrowing capacity currently available under the credit facility (current borrowing capacity less the amount of borrowings outstanding)." } } }, "auth_ref": [ "r49", "r53", "r299" ] }, "us-gaap_LoansPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LoansPayableMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Loans Payable [Member]", "terseLabel": "Term loan", "documentation": "Borrowing supported by a written promise to pay an obligation." } } }, "auth_ref": [] }, "dei_LocalPhoneNumber": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "LocalPhoneNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Local Phone Number", "documentation": "Local phone number for entity." } } }, "auth_ref": [] }, "us-gaap_LongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebt", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt", "totalLabel": "Total debt, net", "verboseLabel": "Aggregate principal amount", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt. Excludes lease obligation." } } }, "auth_ref": [ "r11", "r101", "r324", "r339", "r703", "r704", "r729", "r986" ] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Current Maturities", "negatedLabel": "Less: current portion", "terseLabel": "Current portion of long-term debt", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as current. Excludes lease obligation." } } }, "auth_ref": [ "r161" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Excluding Current Maturities", "terseLabel": "Long-term debt, net of current portion", "documentation": "Amount, after deduction of unamortized premium (discount) and debt issuance cost, of long-term debt classified as noncurrent. Excludes lease obligation." } } }, "auth_ref": [ "r162" ] }, "prim_LongTermRetentionPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "LongTermRetentionPlanMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the Long-Term Retention Plan of the entity.", "label": "Long Term Retention Plan [Member]", "terseLabel": "LTR Plan" } } }, "auth_ref": [] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermDebtTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Type [Axis]", "documentation": "Information by type of long-term debt." } } }, "auth_ref": [ "r11", "r911", "r912", "r913" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "LongtermDebtTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Long-Term Debt, Type [Domain]", "documentation": "Type of long-term debt arrangement, such as notes, line of credit, commercial paper, asset-based financing, project financing, letter of credit financing. These are debt arrangements that originally required repayment more than twelve months after issuance or greater than the normal operating cycle of the company, if longer." } } }, "auth_ref": [ "r11", "r29", "r911", "r912", "r913" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MajorCustomersAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]", "documentation": "Information by name or description of a single external customer or a group of external customers." } } }, "auth_ref": [ "r250", "r711", "r740", "r744", "r923", "r988", "r991", "r992", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "prim_MasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "MasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for MSA customers.", "label": "Master Service Agreement Customers [Member]", "terseLabel": "MSA" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MaximumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Maximum [Member]", "terseLabel": "Maximum", "documentation": "Upper limit of the provided range." } } }, "auth_ref": [ "r119", "r121", "r123", "r124", "r126", "r149", "r150", "r294", "r295", "r296", "r297", "r377", "r409", "r464", "r504", "r572", "r573", "r580", "r594", "r595", "r647", "r649", "r651", "r652", "r663", "r680", "r681", "r699", "r707", "r719", "r725", "r726", "r727", "r728", "r741", "r921", "r978", "r979", "r980", "r981", "r982", "r983" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r807" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r807" ] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "MinimumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Minimum [Member]", "terseLabel": "Minimum", "documentation": "Lower limit of the provided range." } } }, "auth_ref": [ "r119", "r121", "r123", "r124", "r126", "r149", "r150", "r294", "r295", "r296", "r297", "r377", "r409", "r464", "r504", "r572", "r573", "r580", "r594", "r595", "r647", "r649", "r651", "r652", "r663", "r680", "r681", "r699", "r707", "r719", "r725", "r726", "r727", "r741", "r921", "r978", "r979", "r980", "r981", "r982", "r983" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r826" ] }, "us-gaap_MortgagesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "MortgagesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails" ], "lang": { "en-us": { "role": { "label": "Mortgages [Member]", "terseLabel": "Mortgage notes", "documentation": "A loan to finance the purchase of real estate where the lender has a lien on the property as collateral for the loan." } } }, "auth_ref": [] }, "ecd_MtrlTermsOfTrdArrTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r834" ] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]", "documentation": "Single external customer or group of external customers." } } }, "auth_ref": [ "r250", "r711", "r740", "r744", "r923", "r988", "r991", "r992", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r808" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NatureOfOperations", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness" ], "lang": { "en-us": { "role": { "label": "Nature of Operations [Text Block]", "terseLabel": "Nature of Business", "documentation": "The entire disclosure for the nature of an entity's business, major products or services, principal markets including location, and the relative importance of its operations in each business and the basis for the determination, including but not limited to, assets, revenues, or earnings. For an entity that has not commenced principal operations, disclosures about the risks and uncertainties related to the activities in which the entity is currently engaged and an understanding of what those activities are being directed toward." } } }, "auth_ref": [ "r111", "r116" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities", "totalLabel": "Net cash 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": [ "r179" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from financing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities", "totalLabel": "Net cash (used in) investing activities", "documentation": "Amount of cash inflow (outflow) from investing activities, including discontinued operations. Investing activity cash flows include making and collecting loans and acquiring and disposing of debt or equity instruments and property, plant, and equipment and other productive assets." } } }, "auth_ref": [ "r179" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from investing activities:" } } }, "auth_ref": [] }, "us-gaap_NetCashProvidedByUsedInOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivities", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities", "totalLabel": "Net cash provided by (used in) operating activities", "documentation": "Amount of cash inflow (outflow) from operating activities, including discontinued operations. Operating activity cash flows include transactions, adjustments, and changes in value not defined as investing or financing activities." } } }, "auth_ref": [ "r81", "r82", "r83" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations [Abstract]", "terseLabel": "Cash flows from operating activities:" } } }, "auth_ref": [] }, "us-gaap_NetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "label": "Net Income (Loss)", "terseLabel": "Net Income (Loss)", "documentation": "The portion of profit or loss for the period, net of income taxes, which is attributable to the parent." } } }, "auth_ref": [ "r74", "r83", "r105", "r153", "r167", "r169", "r173", "r186", "r192", "r194", "r195", "r196", "r197", "r198", "r201", "r202", "r210", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r433", "r437", "r458", "r475", "r555", "r624", "r640", "r641", "r756", "r917" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NetIncomeLossAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss) Attributable to Parent [Abstract]", "terseLabel": "Numerator:" } } }, "auth_ref": [] }, "us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "New Accounting Pronouncements, Policy [Policy Text Block]", "terseLabel": "Recently Issued Accounting Pronouncements", "documentation": "Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact." } } }, "auth_ref": [] }, "ecd_NonGaapMeasureDescriptionTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r807" ] }, "prim_NonMasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "NonMasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Non-MSA customers.", "label": "Non Master Service Agreement Customers [Member]", "terseLabel": "Non-MSA" } } }, "auth_ref": [] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r771", "r781", "r791", "r815", "r823" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r798" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r797" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r815" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r834" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r834" ] }, "prim_NonUnitedStatesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "NonUnitedStatesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents regions excluding the United States.", "label": "Non-United States [Member]", "terseLabel": "Non-United States" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Noncash Investing and Financing Items [Abstract]", "verboseLabel": "SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES" } } }, "auth_ref": [] }, "us-gaap_NonoperatingIncomeExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "auth_ref": [] }, "prim_NumberOfInstrumentsUsedForTrading": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "NumberOfInstrumentsUsedForTrading", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of instruments used for trading.", "label": "Number Of Instruments Used For Trading", "terseLabel": "Number of instruments used for trading" } } }, "auth_ref": [] }, "us-gaap_NumberOfReportableSegments": { "xbrltype": "integerItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "NumberOfReportableSegments", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Number of Reportable Segments", "terseLabel": "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": [ "r690", "r698", "r877" ] }, "prim_O2023Q1DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2023Q1DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q1 2023 period.", "label": "O 2023 Q1 Dividends [Member]", "terseLabel": "Q1 2023 Dividends" } } }, "auth_ref": [] }, "prim_O2023Q2DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2023Q2DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q2 2023 period.", "label": "O 2023 Q2 Dividends [Member]", "terseLabel": "Q2 2023 Dividends" } } }, "auth_ref": [] }, "prim_O2023Q3DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2023Q3DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q3 2023 period.", "label": "O 2023 Q3 Dividends [Member]", "terseLabel": "Q3 2023 Dividends" } } }, "auth_ref": [] }, "prim_O2023Q4DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2023Q4DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q4 2023 period.", "label": "O 2023 Q4 Dividends [Member]", "terseLabel": "Q4 2023 Dividends" } } }, "auth_ref": [] }, "prim_O2024Q1DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2024Q1DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q1 2024 period.", "label": "O 2024 Q1 Dividends [Member]", "terseLabel": "Q1 2024 Dividends" } } }, "auth_ref": [] }, "prim_O2024Q2DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2024Q2DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q2 2024 period.", "label": "O 2024 Q2 Dividends [Member]", "terseLabel": "Q2 2024 Dividends" } } }, "auth_ref": [] }, "prim_O2024Q3DividendsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "O2024Q3DividendsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents ordinary dividends on common stock for the Q3 2024 period.", "label": "O 2024 Q3 Dividends [Member]", "terseLabel": "Q3 2024 Dividends" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingIncomeLoss", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Operating Income (Loss)", "totalLabel": "Operating income", "documentation": "The net result for the period of deducting operating expenses from operating revenues." } } }, "auth_ref": [ "r108", "r689", "r876", "r878", "r879", "r880", "r881" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseCost", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Cost", "terseLabel": "Operating lease expense", "documentation": "Amount of single lease cost, calculated by allocation of remaining cost of lease over remaining lease term. Includes, but is not limited to, single lease cost, after impairment of right-of-use asset, calculated by amortization of remaining right-of-use asset and accretion of lease liability." } } }, "auth_ref": [ "r494", "r730" ] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiability", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Operating lease liabilities", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r492" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current", "terseLabel": "Accrued liabilities", "verboseLabel": "Current operating lease liability", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as current." } } }, "auth_ref": [ "r492" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r493" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Noncurrent", "terseLabel": "Noncurrent operating lease liabilities, net of current portion", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease, classified as noncurrent." } } }, "auth_ref": [ "r492" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Right-of-Use Asset", "verboseLabel": "Operating lease assets", "documentation": "Amount of lessee's right to use underlying asset under operating lease." } } }, "auth_ref": [ "r491" ] }, "us-gaap_OperatingSegmentsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OperatingSegmentsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Operating Segments [Member]", "terseLabel": "Operating Segment", "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": [ "r237", "r238", "r239", "r240", "r241", "r244", "r694", "r695" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Nature of Business" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Other Accrued Liabilities, Current", "terseLabel": "Other", "documentation": "Amount of expenses incurred but not yet paid classified as other, due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r51" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r159" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Other Comprehensive Income (Loss), Foreign Currency Transaction and Translation Adjustment, Net of Tax", "terseLabel": "Foreign currency translation adjustments", "verboseLabel": "Foreign currency translation adjustments, 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": [ "r2", "r556" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Liabilities, Noncurrent", "terseLabel": "Other long-term liabilities", "documentation": "Amount of liabilities classified as other, due after one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r55" ] }, "us-gaap_OtherNoncashExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNoncashExpense", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Other Noncash Expense", "terseLabel": "Other non-cash items", "documentation": "Amount of expense or loss included in net income that result in no cash flow, classified as other." } } }, "auth_ref": [ "r83" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Other Nonoperating Income (Expense)", "terseLabel": "Other income, net", "documentation": "Amount of income (expense) related to nonoperating activities, classified as other." } } }, "auth_ref": [ "r76" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r807" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r769", "r779", "r789", "r821" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r772", "r782", "r792", "r824" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r772", "r782", "r792", "r824" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r796" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities" } } }, "auth_ref": [] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Ordinary Dividends, Common Stock", "negatedLabel": "Dividends paid", "documentation": "Amount of cash outflow in the form of ordinary dividends to common shareholders of the parent entity." } } }, "auth_ref": [ "r79" ] }, "us-gaap_PaymentsRelatedToTaxWithholdingForShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsRelatedToTaxWithholdingForShareBasedCompensation", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payment, Tax Withholding, Share-Based Payment Arrangement", "negatedLabel": "Payments related to tax withholding for stock-based compensation", "documentation": "Amount of cash outflow to satisfy grantee's tax withholding obligation for award under share-based payment arrangement." } } }, "auth_ref": [ "r176" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Net of Cash Acquired", "negatedLabel": "Cash paid for acquisitions, net of cash and restricted cash acquired", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r15" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Property, Plant, and Equipment", "negatedLabel": "Purchase of property 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": [ "r78" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r806" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r806" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r798" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r815" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r808" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r797" ] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Axis]", "documentation": "Information by plan name for share-based payment arrangement." } } }, "auth_ref": [ "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r924", "r925", "r926", "r927", "r928", "r929", "r930", "r931", "r932", "r933", "r934", "r935", "r936", "r937", "r938", "r939", "r940", "r941", "r942", "r943", "r944", "r945", "r946", "r947", "r948", "r949" ] }, "ecd_PnsnAdjsPrrSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsPrrSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Prior Service Cost [Member]", "terseLabel": "Pension Adjustments Prior Service Cost" } } }, "auth_ref": [ "r799" ] }, "ecd_PnsnAdjsSvcCstMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnAdjsSvcCstMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Adjustments Service Cost [Member]", "terseLabel": "Pension Adjustments Service Cost" } } }, "auth_ref": [ "r843" ] }, "ecd_PnsnBnftsAdjFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PnsnBnftsAdjFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pension Benefits Adjustments, Footnote [Text Block]", "terseLabel": "Pension Benefits Adjustments, Footnote" } } }, "auth_ref": [ "r798" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Prepaid Expense and Other Assets, Current", "terseLabel": "Prepaid expenses and other current assets", "documentation": "Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer." } } }, "auth_ref": [ "r859" ] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationPolicies" ], "lang": { "en-us": { "role": { "label": "Reclassification, Comparability Adjustment [Policy Text Block]", "terseLabel": "Reclassification", "documentation": "Disclosure of accounting policy for reclassification affecting comparability of financial statement. Excludes amendment to accounting standards, other change in accounting principle, and correction of error." } } }, "auth_ref": [ "r855" ] }, "prim_ProceedsFromAccountsReceivableSecuritizationOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ProceedsFromAccountsReceivableSecuritizationOperatingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Proceeds from securitizations of receivables treated as collateralized borrowings, which are classified as operating activities.", "label": "Proceeds From Accounts Receivable Securitization, Operating Activities", "terseLabel": "Cash proceeds from facility" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Lines of Credit", "terseLabel": "Borrowings under revolving lines of credit", "documentation": "Amount of cash inflow from contractual arrangement with the lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r16", "r867" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from (Payments for) Other Financing Activities", "terseLabel": "Other", "documentation": "Amount of cash inflow (outflow) from financing activities classified as other." } } }, "auth_ref": [ "r847", "r864" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Sale of Property, Plant, and Equipment", "terseLabel": "Proceeds from sale of assets", "verboseLabel": "Aggregate sales price, net of closing costs", "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": [ "r77" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ProfitLoss", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "verboseLabel": "Net income", "documentation": "The consolidated profit or loss for the period, net of income taxes, including the portion attributable to the noncontrolling interest." } } }, "auth_ref": [ "r153", "r167", "r169", "r178", "r186", "r192", "r198", "r201", "r202", "r253", "r300", "r301", "r303", "r304", "r305", "r306", "r307", "r309", "r310", "r433", "r437", "r438", "r441", "r442", "r458", "r475", "r543", "r554", "r587", "r624", "r640", "r641", "r721", "r722", "r757", "r862", "r917" ] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "documentation": "Amount after accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business to produce goods and services and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r5", "r496", "r544", "r552", "r731" ] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r796" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r796" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Axis]", "documentation": "Information by statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r119", "r121", "r123", "r124", "r126", "r149", "r150", "r294", "r295", "r296", "r297", "r370", "r377", "r405", "r406", "r407", "r409", "r464", "r502", "r503", "r504", "r572", "r573", "r580", "r594", "r595", "r647", "r649", "r651", "r652", "r663", "r680", "r681", "r699", "r707", "r719", "r725", "r726", "r727", "r728", "r741", "r747", "r914", "r921", "r959", "r979", "r980", "r981", "r982", "r983" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "RangeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Statistical Measurement [Domain]", "documentation": "Statistical measurement. Includes, but is not limited to, minimum, maximum, weighted average, arithmetic average, and median." } } }, "auth_ref": [ "r119", "r121", "r123", "r124", "r126", "r149", "r150", "r294", "r295", "r296", "r297", "r370", "r377", "r405", "r406", "r407", "r409", "r464", "r502", "r503", "r504", "r572", "r573", "r580", "r594", "r595", "r647", "r649", "r651", "r652", "r663", "r680", "r681", "r699", "r707", "r719", "r725", "r726", "r727", "r728", "r741", "r747", "r914", "r921", "r959", "r979", "r980", "r981", "r982", "r983" ] }, "us-gaap_ReceivablesLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReceivablesLongTermContractsOrPrograms", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Receivables, Long-Term Contracts or Programs", "terseLabel": "Retention receivable", "documentation": "Amount to be collected within one year of the balance sheet date (or one operating cycle, if longer) from customers in accordance with the contractual provisions of long-term contracts or programs including amounts billed and unbilled as of the balance sheet date." } } }, "auth_ref": [ "r857" ] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ReceivablesNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Receivables, Net, Current", "terseLabel": "Accounts receivable, net", "documentation": "The total amount due to the entity within one year of the balance sheet date (or one operating cycle, if longer) from outside sources, including trade accounts receivable, notes and loans receivable, as well as any other types of receivables, net of allowances established for the purpose of reducing such receivables to an amount that approximates their net realizable value." } } }, "auth_ref": [ "r731" ] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r764", "r774", "r784", "r816" ] }, "prim_RemainingPerformanceObligationOnBondedProjects": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "RemainingPerformanceObligationOnBondedProjects", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the remaining performance obligation on the bonded projects.", "label": "Remaining Performance Obligation on Bonded Projects", "terseLabel": "Remaining performance obligation on the bonded projects." } } }, "auth_ref": [] }, "prim_RepaymentOfAccountsReceivableSecuritizationOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "RepaymentOfAccountsReceivableSecuritizationOperatingActivities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Repayments of securitizations of receivables treated as collateralized borrowings, which are classified as operating activities.", "label": "Repayment Of Accounts Receivable Securitization, Operating Activities", "terseLabel": "Repayments to the facility" } } }, "auth_ref": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Lines of Credit", "negatedLabel": "Payments on revolving lines of credit", "documentation": "Amount of cash outflow for payment of an obligation from a lender, including but not limited to, letter of credit, standby letter of credit and revolving credit arrangements." } } }, "auth_ref": [ "r80", "r867" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Repayments of Long-Term Debt", "negatedLabel": "Payments on long-term debt", "documentation": "The cash outflow for debt initially having maturity due after one year or beyond the normal operating cycle, if longer." } } }, "auth_ref": [ "r80", "r584" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r765", "r775", "r785", "r817" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r766", "r776", "r786", "r818" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r773", "r783", "r793", "r825" ] }, "prim_RestrictedAndPerformanceStockUnitsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "RestrictedAndPerformanceStockUnitsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met.", "label": "Restricted and Performance Stock Units [Member]", "terseLabel": "Restricted and Performance Stock Units" } } }, "auth_ref": [] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCash", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash", "verboseLabel": "Restricted cash included in prepaid expense and other current assets", "documentation": "Amount of cash restricted as to withdrawal or usage. 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." } } }, "auth_ref": [ "r856", "r866", "r984", "r987" ] }, "us-gaap_RestrictedCashAssetStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RestrictedCashAssetStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes cash restricted to withdrawal or usage." } } }, "auth_ref": [ "r866" ] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r62", "r92", "r550", "r577", "r579", "r585", "r605", "r731" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RetainedEarningsMember", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings [Member]", "terseLabel": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r151", "r189", "r190", "r191", "r193", "r198", "r200", "r202", "r254", "r255", "r282", "r422", "r423", "r430", "r431", "r432", "r434", "r436", "r437", "r448", "r450", "r451", "r453", "r456", "r488", "r490", "r574", "r576", "r588", "r1020" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Abstract]" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "documentation": "Amount, excluding tax collected from customer, of revenue from satisfaction of performance obligation by transferring promised good or service to customer. Tax collected from customer is tax assessed by governmental authority that is both imposed on and concurrent with specific revenue-producing transaction, including, but not limited to, sales, use, value added and excise." } } }, "auth_ref": [ "r106", "r107", "r215", "r222", "r223", "r237", "r243", "r246", "r248", "r250", "r365", "r366", "r506" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueFromContractWithCustomerTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenue" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer [Text Block]", "verboseLabel": "Revenue", "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": [ "r117", "r356", "r357", "r358", "r359", "r360", "r361", "r363", "r364", "r369" ] }, "prim_RevenuePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "RevenuePercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of revenue to total revenue.", "label": "Revenue, Percentage", "terseLabel": "% of Total Revenue", "verboseLabel": "% of Revenue" } } }, "auth_ref": [] }, "us-gaap_RevenueRemainingPerformanceObligation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Amount", "terseLabel": "Remaining performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r113" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Line Items]", "terseLabel": "Revenue expected timing", "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/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period", "terseLabel": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction", "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": [ "r114" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "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": [ "r114" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction [Table]", "documentation": "Disclosure of information about expected timing for satisfying remaining performance obligation." } } }, "auth_ref": [] }, "prim_RevenueRemainingPerformanceObligationExpectedTimingPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "RevenueRemainingPerformanceObligationExpectedTimingPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of revenue to be recognized on performance obligations for the period.", "label": "Revenue Remaining Performance Obligation Expected Timing Percentage", "terseLabel": "Percentage of remaining performance obligation expected to be recognized in period" } } }, "auth_ref": [] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevenuesFromExternalCustomersAndLongLivedAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Revenues from External Customers and Long-Lived Assets [Line Items]", "terseLabel": "Revenues and total assets by geographic area", "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_RevolvingCreditFacilityMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Revolving Credit Facility [Member]", "terseLabel": "Revolving line of credit", "documentation": "Arrangement in which loan proceeds can continuously be obtained following repayments, but the total amount borrowed cannot exceed a specified maximum amount." } } }, "auth_ref": [] }, "us-gaap_RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Right-of-Use Asset Obtained in Exchange for Operating Lease Liability", "verboseLabel": "Leased assets obtained in exchange for new operating leases", "documentation": "Amount of increase in right-of-use asset obtained in exchange for operating lease liability." } } }, "auth_ref": [ "r495", "r730" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r834" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r834" ] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Revenue Benchmark [Member]", "terseLabel": "Revenues", "documentation": "Revenue from sale of product and rendering of service and other sources of income, when it serves as benchmark in concentration of risk calculation." } } }, "auth_ref": [ "r250", "r848" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Domain]", "documentation": "Scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts." } } }, "auth_ref": [ "r148", "r203", "r378", "r845", "r873" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts and Financing Receivables [Table]", "documentation": "Disclosure of information about accounts and financing receivables. Includes, but is not limited to, amount of receivable and allowance for credit loss." } } }, "auth_ref": [ "r60", "r66", "r252", "r883" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfAccruedLiabilitiesTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Accrued Liabilities [Table Text Block]", "terseLabel": "Summary of accrued liabilities", "documentation": "Tabular disclosure of the components of accrued liabilities." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfBusinessAcquisitionsByAcquisitionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Business Acquisitions, by Acquisition [Table]", "documentation": "Disclosure of information about business combination. Includes, but is not limited to, recognized asset and liability." } } }, "auth_ref": [ "r35", "r36", "r435" ] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfDebtInstrumentsTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Long-Term Debt Instruments [Table Text Block]", "terseLabel": "Schedule of long-term debt and credit facilities", "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": [ "r11", "r30", "r31", "r46", "r90", "r91", "r703", "r705", "r869", "r972" ] }, "us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Derivative Assets at Fair Value [Table Text Block]", "terseLabel": "Schedule of fair values of our derivative contracts included in the Condensed Consolidated Balance Sheets", "documentation": "Tabular disclosure of derivative assets at fair value." } } }, "auth_ref": [] }, "us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables" ], "lang": { "en-us": { "role": { "label": "Derivative Instruments, Gain (Loss) [Table Text Block]", "terseLabel": "Schedule of derivative instruments within the Condensed Consolidated Statements of Income", "documentation": "Tabular disclosure of the location and amount of derivative instruments and nonderivative instruments designated as hedging instruments reported before netting adjustments, and the amount of gain (loss) on derivative instruments and nonderivative instruments designated and qualified as hedging instruments." } } }, "auth_ref": [ "r40", "r42", "r446" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]", "terseLabel": "Schedule of computation of basic and diluted earnings per share", "documentation": "Tabular disclosure of an entity's basic and diluted earnings per share calculations, including a reconciliation of numerators and denominators of the basic and diluted per-share computations for income from continuing operations." } } }, "auth_ref": [ "r875" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Fair Value, Assets and Liabilities Measured on Recurring Basis [Table Text Block]", "terseLabel": "Schedule of financial assets and liabilities which are required to be measured at fair value", "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": [ "r956", "r957" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Intangible Asset, Finite-Lived [Table]", "documentation": "Disclosure of information about finite-lived intangible asset. Excludes indefinite-lived intangible asset." } } }, "auth_ref": [ "r270", "r276", "r279", "r280", "r281", "r507", "r682", "r701" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table Text Block]", "terseLabel": "Summary of intangible asset categories, amounts and the average amortization periods", "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": [ "r701", "r904" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill [Table]", "documentation": "Disclosure of information about goodwill, including, but not limited to, change from acquisition, sale, impairment, and other reason." } } }, "auth_ref": [ "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r268", "r269", "r700" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table Text Block]", "terseLabel": "Schedule of goodwill by reporting unit", "documentation": "Tabular disclosure of goodwill by reportable segment and in total which includes a rollforward schedule." } } }, "auth_ref": [ "r700", "r886", "r887", "r888", "r889", "r890", "r891", "r892", "r893", "r894", "r895", "r896" ] }, "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationTables" ], "lang": { "en-us": { "role": { "label": "Restrictions on Cash and Cash Equivalents [Table Text Block]", "terseLabel": "Schedule of reconciliation of cash, cash equivalents and restricted cash", "documentation": "Tabular disclosure of cash and cash equivalents restricted as to withdrawal or usage." } } }, "auth_ref": [ "r10", "r98", "r987" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Revenues from External Customers and Long-Lived Assets [Table]", "documentation": "Disclosure of information about revenue from external customer and long-lived asset by geographical area. Long-lived asset excludes financial instrument, customer relationship with financial institution, mortgage and other servicing right, deferred policy acquisition cost, and deferred tax asset." } } }, "auth_ref": [ "r28", "r69" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "Disclosure of information about profit (loss) and total assets by reportable segment." } } }, "auth_ref": [ "r25", "r26", "r27" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleOfSegmentReportingInformationBySegmentTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table Text Block]", "terseLabel": "Schedule of revenue and gross profit by segment", "documentation": "Tabular disclosure of the profit or loss and total assets for each reportable segment. 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": [ "r25", "r26", "r27" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets, Future Amortization Expense [Table Text Block]", "terseLabel": "Schedule of estimated future amortization expense for intangible assets", "documentation": "Tabular disclosure of the amount of amortization expense expected to be recorded in succeeding fiscal years for finite-lived intangible assets." } } }, "auth_ref": [ "r701", "r906" ] }, "prim_SecondAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "SecondAgreementMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the second agreement.", "label": "Second Agreement [Member]", "terseLabel": "Second agreement" } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "Security12bTitle", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Title of 12(b) Security", "documentation": "Title of a 12(b) registered security." } } }, "auth_ref": [ "r759" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "SecurityExchangeName", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Security Exchange Name", "documentation": "Name of the Exchange on which a security is registered." } } }, "auth_ref": [ "r761" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "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": [ "r106", "r107", "r108", "r109", "r215", "r218", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r250", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r281", "r290", "r291", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r691", "r694", "r695", "r700", "r743", "r988", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]", "documentation": "Geographical area." } } }, "auth_ref": [ "r120", "r122", "r125", "r127", "r128", "r129", "r130", "r131", "r133", "r134", "r135", "r136", "r137", "r138", "r248", "r249", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r538", "r590", "r591", "r592", "r648", "r650", "r653", "r664", "r667", "r670", "r671", "r672", "r673", "r675", "r676", "r677", "r678", "r679", "r684", "r710", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r742", "r747", "r923", "r988", "r991", "r992", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Reportable Segments" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegments" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Disclosure [Text Block]", "terseLabel": "Reportable Segments", "documentation": "The entire disclosure for reporting segments including data and tables. Reportable segments include those that meet any of the following quantitative thresholds a) it's reported revenue, including sales to external customers and intersegment sales or transfers is 10 percent or more of the combined revenue, internal and external, of all operating segments b) the absolute amount of its reported profit or loss is 10 percent or more of the greater, in absolute amount of 1) the combined reported profit of all operating segments that did not report a loss or 2) the combined reported loss of all operating segments that did report a loss c) its assets are 10 percent or more of the combined assets of all operating segments." } } }, "auth_ref": [ "r109", "r215", "r217", "r218", "r219", "r220", "r221", "r233", "r235", "r236", "r241", "r242", "r243", "r244", "r245", "r246", "r247", "r250", "r690", "r692", "r693", "r694", "r696", "r697", "r698" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SegmentReportingInformationLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Segment Reporting Information [Line Items]", "terseLabel": "Segment reporting information", "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/2024", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Selling, General and Administrative Expense", "terseLabel": "Selling, general and administrative expenses", "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": [ "r75" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensation", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Noncash Expense", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r3" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Additional General Disclosures [Abstract]", "terseLabel": "Employee Stock Purchase Plan" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Non-Option Equity Instruments, Exercised", "verboseLabel": "Conversion of restricted and performance stock units, net of shares withheld for taxes (in shares)", "documentation": "Number of non-option equity instruments exercised by participants." } } }, "auth_ref": [ "r8" ] }, "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterAnnualReport": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterAnnualReport", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The period following filing of annual report for purchase of shares under the equity-based payment award.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Share Purchase Period after Annual Report", "terseLabel": "Purchase in annual report period" } } }, "auth_ref": [] }, "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterQuarterlyReport": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterQuarterlyReport", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The period following filing of quarterly report for purchase of shares under the equity-based payment award.", "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Share Purchase Period after Quarterly Report", "terseLabel": "Purchase of quarterly report period" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "All Award Types", "terseLabel": "All Award Types", "documentation": "Award under share-based payment arrangement." } } }, "auth_ref": [ "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408" ] }, "us-gaap_ShareBasedPaymentArrangementNonemployeeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "ShareBasedPaymentArrangementNonemployeeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Nonemployee [Member]", "documentation": "Recipient, of award granted under share-based payment arrangement, over whom grantor does not exercise nor has right to exercise sufficient control to establish employer-employee relationship based on law of pertinent jurisdiction. Excludes nonemployee director treated as employee when acting as member of board of directors, if elected by grantor's shareholders or appointed to board position to be filled by shareholder election when existing term expires." } } }, "auth_ref": [ "r379", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r392", "r393", "r394", "r395", "r396", "r397", "r398", "r399", "r400", "r401", "r402", "r403", "r404", "r405", "r406", "r407", "r408" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Purchase Price of Common Stock, Percent", "terseLabel": "Purchase price of stock", "documentation": "Purchase price of common stock expressed as a percentage of its fair value." } } }, "auth_ref": [] }, "us-gaap_SharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SharesIssued", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Shares, Issued", "periodEndLabel": "Balance (in shares)", "periodStartLabel": "Balance (in shares)", "documentation": "Number of shares of stock issued as of the balance sheet date, including shares that had been issued and were previously outstanding but which are now held in the treasury." } } }, "auth_ref": [ "r7" ] }, "prim_SpecialPurposeEntityMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "SpecialPurposeEntityMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Special Purpose Entity.", "label": "Special Purpose Entity [Member]", "terseLabel": "Special Purpose Entity" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementBusinessSegmentsAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Segments [Axis]", "documentation": "Information by business segments." } } }, "auth_ref": [ "r106", "r107", "r108", "r109", "r152", "r215", "r218", "r221", "r222", "r223", "r224", "r225", "r226", "r227", "r228", "r229", "r230", "r231", "r232", "r234", "r235", "r236", "r237", "r238", "r239", "r240", "r241", "r243", "r244", "r245", "r250", "r259", "r260", "r261", "r262", "r263", "r264", "r265", "r266", "r267", "r281", "r283", "r290", "r291", "r561", "r562", "r563", "r564", "r565", "r566", "r567", "r568", "r569", "r570", "r571", "r691", "r694", "r695", "r700", "r743", "r988", "r991", "r992", "r993", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r7", "r59", "r63", "r64", "r151", "r171", "r172", "r173", "r189", "r190", "r191", "r193", "r198", "r200", "r202", "r216", "r254", "r255", "r282", "r352", "r422", "r423", "r430", "r431", "r432", "r434", "r436", "r437", "r448", "r449", "r450", "r451", "r452", "r453", "r456", "r480", "r481", "r482", "r483", "r484", "r485", "r488", "r490", "r497", "r556", "r574", "r575", "r576", "r588", "r642" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]", "documentation": "Information by geographical components." } } }, "auth_ref": [ "r120", "r122", "r125", "r127", "r128", "r129", "r130", "r131", "r133", "r134", "r135", "r136", "r137", "r138", "r248", "r249", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r525", "r526", "r527", "r528", "r529", "r530", "r531", "r532", "r533", "r534", "r535", "r536", "r537", "r538", "r590", "r591", "r592", "r648", "r650", "r653", "r664", "r667", "r670", "r671", "r672", "r673", "r675", "r676", "r677", "r678", "r679", "r684", "r710", "r732", "r733", "r734", "r735", "r736", "r737", "r738", "r739", "r742", "r747", "r923", "r988", "r991", "r992", "r994", "r995", "r996", "r997", "r998", "r999", "r1000", "r1001", "r1002", "r1003", "r1004", "r1005", "r1006", "r1007", "r1008", "r1009", "r1010", "r1011", "r1012", "r1013", "r1014", "r1015", "r1016", "r1017", "r1018" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Line Items]", "terseLabel": "Statement", "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": [ "r189", "r190", "r191", "r216", "r490", "r506", "r582", "r589", "r596", "r597", "r598", "r599", "r600", "r601", "r604", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r617", "r618", "r619", "r620", "r621", "r623", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r642", "r748" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONDENSED CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StatementScenarioAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]", "documentation": "Information by scenario reported, distinguishing information from actual fact. Includes, but is not limited to, pro forma and forecast. Excludes actual facts." } } }, "auth_ref": [ "r148", "r203", "r378", "r845", "r846", "r873" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StatementTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Disclosure of information about statement of comprehensive income, income, other comprehensive income, financial position, cash flows, and shareholders' equity." } } }, "auth_ref": [ "r189", "r190", "r191", "r216", "r251", "r490", "r506", "r582", "r589", "r596", "r597", "r598", "r599", "r600", "r601", "r604", "r607", "r608", "r609", "r610", "r611", "r612", "r613", "r614", "r615", "r617", "r618", "r619", "r620", "r621", "r623", "r625", "r626", "r627", "r628", "r629", "r630", "r631", "r632", "r633", "r634", "r635", "r636", "r637", "r638", "r642", "r748" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r768", "r778", "r788", "r820" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Conversion of stock based awards, net of shares withheld for taxes (in shares)", "documentation": "Number of shares issued during the period as a result of the conversion of convertible securities." } } }, "auth_ref": [ "r7", "r30", "r59", "r63", "r92", "r328" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Employee Stock Purchase Plans", "terseLabel": "Shares of common stock issued under the long-term incentive plan", "documentation": "Number of shares issued during the period as a result of an employee stock purchase plan." } } }, "auth_ref": [ "r7", "r58", "r59", "r92" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, New Issues", "verboseLabel": "Issuance of shares, net of issuance costs (in shares)", "documentation": "Number of new stock issued during the period." } } }, "auth_ref": [ "r7", "r58", "r59", "r92", "r583", "r642", "r665" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Shares Issued, Shares, Share-Based Payment Arrangement, after Forfeiture", "terseLabel": "Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors", "documentation": "Number, after forfeiture, of shares or units issued under share-based payment arrangement. Excludes shares or units issued under employee stock ownership plan (ESOP)." } } }, "auth_ref": [ "r7", "r58", "r59", "r92" ] }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "verboseLabel": "Conversion of stock based awards, net of shares withheld for taxes", "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities." } } }, "auth_ref": [ "r7", "r59", "r63", "r64", "r92" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueEmployeeStockPurchasePlan", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Employee Stock Purchase Plan", "terseLabel": "Amount received in exchange for shares of common stock under a long term incentive plan", "documentation": "Aggregate change in value for stock issued during the period as a result of employee stock purchase plan." } } }, "auth_ref": [ "r7", "r58", "r59", "r92" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, New Issues", "verboseLabel": "Issuance of shares, net of issuance costs", "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": [ "r7", "r58", "r59", "r92", "r588", "r642", "r665", "r757" ] }, "srt_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/srt/2024", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share Repurchase Program, Authorized, Amount", "terseLabel": "Aggregate purchase price up to which shares can be acquired under share purchase program", "documentation": "Amount authorized for purchase of share under share repurchase plan. Includes, but is not limited to, repurchase of stock and unit of ownership." } } }, "auth_ref": [ "r922" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquity", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity, Attributable to Parent", "periodEndLabel": "Balance", "periodStartLabel": "Balance", "totalLabel": "Total stockholders' equity", "documentation": "Amount of equity (deficit) attributable to parent. Excludes temporary equity and equity attributable to noncontrolling interest." } } }, "auth_ref": [ "r59", "r63", "r64", "r86", "r606", "r622", "r643", "r644", "r731", "r758", "r868", "r884", "r970", "r1020" ] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "prim_StockholdersEquityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "StockholdersEquityLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stockholders Equity [Line Items]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity [Text Block]", "terseLabel": "Stockholders' Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r89", "r185", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r349", "r350", "r351", "r352", "r455", "r645", "r646", "r666" ] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Supplemental Cash Flow Information [Abstract]", "terseLabel": "SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION" } } }, "auth_ref": [] }, "ecd_TabularListTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r814" ] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TaxesPayableCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Taxes Payable, Current", "terseLabel": "Corporate income taxes and other taxes", "documentation": "Carrying value as of the balance sheet date of obligations incurred and payable for statutory income, sales, use, payroll, excise, real, property and other taxes. Used to reflect the current portion of the liabilities (due within one year or within the normal operating cycle if longer)." } } }, "auth_ref": [ "r50", "r51" ] }, "us-gaap_TimeAndMaterialsContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TimeAndMaterialsContractMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Time-and-Materials Contract [Member]", "terseLabel": "Revenue recognized over time", "documentation": "Contract with customer in which amount of consideration is based on time and materials consumed." } } }, "auth_ref": [ "r712" ] }, "prim_TopTenCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "TopTenCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBasisOfPresentationCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the top ten customers of the entity.", "label": "Top ten customers [Member]" } } }, "auth_ref": [] }, "prim_TotalAssetsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "TotalAssetsPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "The percentage of assets to total assets.", "label": "% of total assets" } } }, "auth_ref": [] }, "ecd_TotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r806" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r813" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TradeNamesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Trade Names [Member]", "terseLabel": "Tradenames", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r37", "r898", "r899", "r900", "r901", "r902", "r903", "r905", "r907", "r908", "r909" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r833" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r835" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2024", "localname": "TradingSymbol", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Trading Symbol", "documentation": "Trading symbol of an instrument as listed on an exchange." } } }, "auth_ref": [] }, "ecd_TrdArrAdoptionDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r836" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r837" ] }, "ecd_TrdArrExpirationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrExpirationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Expiration Date", "terseLabel": "Expiration Date" } } }, "auth_ref": [ "r837" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r835" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r835" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r838" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r836" ] }, "us-gaap_TreasuryStockValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "TreasuryStockValueAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock, Value [Abstract]" } } }, "auth_ref": [] }, "prim_UAndDSegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "UAndDSegmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "Pertaining to the Utilities segment.", "label": "U And D Segment [Member]", "terseLabel": "Utilities" } } }, "auth_ref": [] }, "us-gaap_UnamortizedDebtIssuanceExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnamortizedDebtIssuanceExpense", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Unamortized Debt Issuance Expense", "negatedLabel": "Unamortized debt issuance costs", "documentation": "The remaining balance of debt issuance expenses that were capitalized and are being amortized against income over the lives of the respective bond issues. This does not include the amounts capitalized as part of the cost of the utility plant or asset." } } }, "auth_ref": [] }, "us-gaap_UnbilledReceivablesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Unbilled Receivables, Current", "terseLabel": "Unbilled revenue", "documentation": "Amount received for services rendered and products shipped, but not yet billed, for non-contractual agreements due within one year or the normal operating cycle, if longer." } } }, "auth_ref": [] }, "ecd_UndrlygSecurityMktPriceChngPct": { "xbrltype": "pureItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r832" ] }, "prim_UnitPriceContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20240930", "localname": "UnitPriceContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Unit-price contract.", "label": "Unit Price Contracts [Member]", "terseLabel": "Unit price" } } }, "auth_ref": [] }, "us-gaap_UnrealizedGainLossOnDerivatives": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "UnrealizedGainLossOnDerivatives", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Unrealized Gain (Loss) on Derivatives", "negatedLabel": "Unrealized loss (gain) on interest rate swap", "documentation": "The net change in the difference between the fair value and the carrying value, or in the comparative fair values, of derivative instruments, including options, swaps, futures, and forward contracts, held at each balance sheet date, that was included in earnings for the period." } } }, "auth_ref": [ "r4", "r635", "r636", "r637", "r638", "r658" ] }, "ecd_VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "VstngDtFrValOfEqtyAwrdsGrntdAndVstdInCvrdYrMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year [Member]", "terseLabel": "Vesting Date Fair Value of Equity Awards Granted and Vested in Covered Year" } } }, "auth_ref": [ "r802" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted", "terseLabel": "Diluted (in shares)", "totalLabel": "Weighted average shares for computation of diluted earnings per share", "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": [ "r205", "r213" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Diluted [Abstract]", "terseLabel": "Weighted average common shares outstanding:", "verboseLabel": "Denominator:" } } }, "auth_ref": [] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2024", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementCondensedConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Weighted Average Number of Shares Outstanding, Basic", "terseLabel": "Basic (in shares)", "verboseLabel": "Weighted average shares for computation of basic earnings per share", "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": [ "r204", "r213" ] }, "ecd_YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2024", "localname": "YrEndFrValOfEqtyAwrdsGrntdInCvrdYrOutsdngAndUnvstdMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested [Member]", "terseLabel": "Year-end Fair Value of Equity Awards Granted in Covered Year that are Outstanding and Unvested" } } }, "auth_ref": [ "r800" ] } } } }, "std_ref": { "r0": { "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/2147477401/830-230-45-1" }, "r1": { "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" }, "r2": { "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" }, "r3": { "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" }, "r4": { "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" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "360", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482099/360-10-50-1" }, "r6": { "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" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)(iv)(02)", "SubTopic": "10", "Topic": "718", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480429/718-10-50-2" }, "r9": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(c)(2)", "SubTopic": "20", "Topic": "860", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481326/860-20-50-4D" }, "r10": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-8" }, "r11": { "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" }, "r12": { "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" }, "r13": { "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" }, "r14": { "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" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-13" }, "r16": { "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" }, "r17": { "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" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-1" }, "r19": { "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" }, "r20": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-3" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "16", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-16" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r23": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-20" }, "r24": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-21" }, "r25": { "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" }, "r26": { "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" }, "r27": { "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" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "280", "SubTopic": "10", "Section": "50", "Paragraph": "41", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "10", "Section": "50", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-5" }, "r30": { "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" }, "r31": { "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" }, "r32": { "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" }, "r33": { "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" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "25", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479405/805-10-25-23" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-2" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479328/805-10-50-3" }, "r37": { "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" }, "r38": { "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" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r40": { "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" }, "r41": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r42": { "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" }, "r43": { "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" }, "r44": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-20" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "825", "SubTopic": "10", "Section": "50", "Paragraph": "21", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r46": { "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/2147477734/942-470-50-3" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "825", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478898/942-825-50-1" }, "r48": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(19)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r49": { "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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r50": { "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" }, "r51": { "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" }, "r52": { "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(21))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r53": { "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(22)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r54": { "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(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r55": { "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(24))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r56": { "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(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r57": { "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(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r58": { "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" }, "r59": { "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" }, "r60": { "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(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "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" }, "r65": { "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" }, "r66": { "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(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483444/210-20-55-7" }, "r68": { "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" }, "r69": { "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))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r70": { "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" }, "r71": { "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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r72": { "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)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r73": { "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" }, "r74": { "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" }, "r75": { "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" }, "r76": { "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" }, "r77": { "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" }, "r78": { "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" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r81": { "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" }, "r82": { "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" }, "r83": { "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" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/235/tableOfContent" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "275", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r86": { "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" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/440/tableOfContent" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/470/tableOfContent" }, "r89": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/505/tableOfContent" }, "r90": { "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" }, "r91": { "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" }, "r92": { "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" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/815/tableOfContent" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r96": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4B" }, "r97": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482907/825-10-50-21" }, "r98": { "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(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r99": { "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/2147478546/942-210-S99-1" }, "r100": { "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(15)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r101": { "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/2147478546/942-210-S99-1" }, "r102": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r103": { "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/2147478546/942-210-S99-1" }, "r104": { "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/2147478524/942-220-S99-1" }, "r105": { "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/2147478524/942-220-S99-1" }, "r106": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r109": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "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" }, "r110": { "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" }, "r111": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r112": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-1" }, "r113": { "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" }, "r114": { "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" }, "r115": { "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" }, "r116": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/275/tableOfContent" }, "r117": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org/606/tableOfContent" }, "r118": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "04", "Paragraph": "a", "Publisher": "SEC" }, "r119": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r120": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12", "Paragraph": "Column C", "Footnote": "5", "Publisher": "SEC" }, "r121": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r122": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12A", "Paragraph": "Column C", "Footnote": "4", "Publisher": "SEC" }, "r123": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(a)", "Footnote": "4", "Publisher": "SEC" }, "r124": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column A", "Subparagraph": "(b)", "Footnote": "4", "Publisher": "SEC" }, "r125": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "12B", "Paragraph": "Column C", "Footnote": "2", "Publisher": "SEC" }, "r126": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r127": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "14", "Paragraph": "Column F", "Footnote": "7", "Publisher": "SEC" }, "r128": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column A", "Footnote": "2", "Publisher": "SEC" }, "r129": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column B", "Publisher": "SEC" }, "r130": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column C", "Publisher": "SEC" }, "r131": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column D", "Publisher": "SEC" }, "r132": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Footnote": "4", "Publisher": "SEC" }, "r133": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column E", "Publisher": "SEC" }, "r134": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column F", "Publisher": "SEC" }, "r135": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column G", "Publisher": "SEC" }, "r136": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column H", "Publisher": "SEC" }, "r137": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "28", "Paragraph": "Column I", "Publisher": "SEC" }, "r138": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "12", "Subsection": "29", "Paragraph": "Column A", "Footnote": "4", "Publisher": "SEC" }, "r139": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r140": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r141": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r142": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r143": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r144": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(A)", "Publisher": "SEC" }, "r145": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(B)", "Publisher": "SEC" }, "r146": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iii)(C)", "Publisher": "SEC" }, "r147": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r148": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 11", "Section": "M", "Paragraph": "Question 2", "Publisher": "SEC" }, "r149": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 2", "Publisher": "SEC" }, "r150": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Staff Accounting Bulletin (SAB)", "Number": "Topic 5", "Section": "Y", "Paragraph": "Question 4", "Publisher": "SEC" }, "r151": { "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" }, "r152": { "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" }, "r153": { "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" }, "r154": { "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" }, "r155": { "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" }, "r156": { "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" }, "r157": { "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" }, "r158": { "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" }, "r159": { "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" }, "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(18))", "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(20))", "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(22))", "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(30)(a)(4))", "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(9))", "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": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483466/210-20-50-3" }, "r166": { "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" }, "r167": { "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" }, "r168": { "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" }, "r169": { "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" }, "r170": { "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" }, "r171": { "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" }, "r172": { "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" }, "r173": { "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" }, "r174": { "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" }, "r175": { "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" }, "r176": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r177": { "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" }, "r178": { "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" }, "r179": { "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" }, "r180": { "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" }, "r181": { "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" }, "r182": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482913/230-10-50-2A" }, "r183": { "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" }, "r184": { "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" }, "r185": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(e)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480678/235-10-S99-1" }, "r186": { "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" }, "r187": { "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" }, "r188": { "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" }, "r189": { "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" }, "r190": { "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" }, "r191": { "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" }, "r192": { "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" }, "r193": { "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" }, "r194": { "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" }, "r195": { "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" }, "r196": { "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" }, "r197": { "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" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r199": { "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" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SAB Topic 11.M.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480530/250-10-S99-5" }, "r204": { "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" }, "r205": { "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" }, "r206": { "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" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-22" }, "r208": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-23" }, "r209": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "260", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482689/260-10-45-28A" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r216": { "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" }, "r217": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/280/tableOfContent" }, "r218": { "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" }, "r219": { "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" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "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" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26A" }, "r235": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26B" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "26C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-26C" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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" }, "r241": { "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" }, "r242": { "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" }, "r243": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "41", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-41" }, "r250": { "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" }, "r251": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479319/326-20-50-11" }, "r257": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480265/350-10-S45-1" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "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" }, "r270": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-2" }, "r272": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r273": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r274": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r278": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r279": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r280": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r281": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-3" }, "r282": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476166/350-60-65-1" }, "r283": { "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" }, "r284": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r285": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r286": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r287": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r288": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r289": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-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.Q2)", "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.Q4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480102/450-20-S99-1" }, "r298": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "r299": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481544/470-10-50-6" }, "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)(i))", "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)(A))", "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)(iii)(B))", "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)(4)(iv))", "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": "1A", "Subparagraph": "(SX 210.13-01(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "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)(i))", "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)(C))", "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)(iv))", "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)(5))", "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": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-1B" }, "r312": { "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" }, "r313": { "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" }, "r314": { "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" }, "r315": { "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" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "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" }, "r328": { "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" }, "r329": { "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" }, "r330": { "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" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1I", "Subparagraph": "(c)", "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": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r339": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "470", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481139/470-20-50-4" }, "r340": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r341": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r342": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r343": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r344": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-13" }, "r345": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r346": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r347": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "14", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-14" }, "r348": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "16", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-16" }, "r349": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r350": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r351": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481112/505-10-50-18" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "606", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12A", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479806/606-10-50-12A" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480576/715-80-50-5" }, "r379": { "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" }, "r380": { "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" }, "r381": { "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" }, "r382": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480454/718-10-45-1" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "720", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483359/720-20-50-1" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/740/tableOfContent" }, "r411": { "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" }, "r412": { "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" }, "r413": { "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" }, "r414": { "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" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12B" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-12C" }, "r417": { "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" }, "r418": { "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" }, "r419": { "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" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "22", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-22" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482685/740-10-50-23" }, "r422": { "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" }, "r423": { "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" }, "r424": { "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.1.Q1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479360/740-10-S99-1" }, "r425": { "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" }, "r426": { "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" }, "r427": { "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" }, "r428": { "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/2147477891/740-270-50-1" }, "r429": { "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" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "2", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478666/740-323-65-2" }, "r435": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479907/805-20-50-5" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147476176/805-60-65-1" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "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" }, "r445": { "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" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4E" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-5C" }, "r448": { "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" }, "r449": { "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" }, "r450": { "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" }, "r451": { "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" }, "r452": { "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" }, "r453": { "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" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-5" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "815", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480237/815-40-50-6" }, "r456": { "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" }, "r457": { "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" }, "r458": { "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" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "54B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482134/820-10-35-54B" }, "r460": { "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" }, "r461": { "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" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2E", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2E" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r475": { "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" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481839/830-10-45-17" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482014/830-20-35-1" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481956/830-20-45-1" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481926/830-20-50-1" }, "r480": { "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" }, "r481": { "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" }, "r482": { "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" }, "r483": { "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" }, "r484": { "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" }, "r485": { "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" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r487": { "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" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479832/842-10-65-8" }, "r489": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/842-20/tableOfContent" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "12A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479165/842-20-35-12A" }, "r491": { "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" }, "r492": { "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" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479041/842-20-45-2" }, "r494": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-7A" }, "r497": { "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" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "852", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481435/852-10-45-14" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "860", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481420/860-30-50-7" }, "r504": { "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" }, "r505": { "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/2147478345/912-310-45-11" }, "r506": { "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" }, "r507": { "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" }, "r508": { "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/2147478859/928-340-50-1" }, "r509": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478934/932-220-50-1" }, "r510": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r511": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r512": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-18" }, "r513": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-19" }, "r514": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r515": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r516": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r517": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r518": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r519": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "23", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-23" }, "r520": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r521": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r522": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r523": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r524": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "31", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-31" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r527": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r528": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r529": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r530": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r531": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-5" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-6" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-7" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-8" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "280", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478657/932-280-50-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "932", "SubTopic": "323", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478988/932-323-50-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "940", "SubTopic": "820", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478119/940-820-50-1" }, "r540": { "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/2147478546/942-210-S99-1" }, "r541": { "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/2147478524/942-220-S99-1" }, "r542": { "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/2147478524/942-220-S99-1" }, "r543": { "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/2147477314/942-235-S99-1" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478451/942-360-50-1" }, "r545": { "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/2147478777/944-210-S99-1" }, "r546": { "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/2147478777/944-210-S99-1" }, "r547": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r548": { "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/2147478777/944-210-S99-1" }, "r549": { "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/2147478777/944-210-S99-1" }, "r550": { "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/2147478777/944-210-S99-1" }, "r551": { "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/2147478777/944-210-S99-1" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r553": { "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/2147477250/944-220-S99-1" }, "r554": { "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/2147477250/944-220-S99-1" }, "r555": { "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/2147477250/944-220-S99-1" }, "r556": { "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(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477250/944-220-S99-1" }, "r557": { "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/2147477250/944-220-S99-1" }, "r558": { "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/2147477250/944-220-S99-1" }, "r559": { "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/2147477250/944-220-S99-1" }, "r560": { "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/2147477250/944-220-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 A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/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 B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477965/944-235-S99-1" }, "r563": { "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/2147477965/944-235-S99-1" }, "r564": { "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/2147477965/944-235-S99-1" }, "r565": { "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/2147477965/944-235-S99-1" }, "r566": { "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/2147477965/944-235-S99-1" }, "r567": { "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/2147477965/944-235-S99-1" }, "r568": { "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/2147477965/944-235-S99-1" }, "r569": { "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/2147477965/944-235-S99-1" }, "r570": { "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/2147477965/944-235-S99-1" }, "r571": { "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/2147477965/944-235-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r573": { "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" }, "r574": { "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" }, "r575": { "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" }, "r576": { "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" }, "r577": { "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" }, "r578": { "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" }, "r579": { "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" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 5.W.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479583/944-40-S99-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r582": { "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" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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/2147478009/946-205-45-3" }, "r588": { "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/2147478009/946-205-45-4" }, "r589": { "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/2147477796/946-210-45-4" }, "r590": { "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/2147478795/946-210-50-1" }, "r591": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-2" }, "r592": { "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/2147478795/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)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/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": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/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": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478795/946-210-50-6" }, "r596": { "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/2147479170/946-210-S99-1" }, "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(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/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)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-1" }, "r620": { "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/2147479170/946-210-S99-1" }, "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(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479170/946-210-S99-2" }, "r622": { "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/2147479170/946-210-S99-2" }, "r623": { "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/2147479105/946-220-45-3" }, "r624": { "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/2147479105/946-220-45-7" }, "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(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479134/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/2147479134/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/2147479134/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/2147479134/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/2147479134/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/2147479134/946-220-S99-3" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r646": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477968/946-235-50-2" }, "r647": { "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/2147477271/946-320-S99-1" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-1" }, "r649": { "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/2147477271/946-320-S99-2" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-2" }, "r651": { "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/2147477271/946-320-S99-3" }, "r652": { "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/2147477271/946-320-S99-3" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-3" }, "r654": { "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/2147477271/946-320-S99-5" }, "r655": { "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 D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5" }, "r656": { "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/2147477271/946-320-S99-5" }, "r657": { "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 D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r658": { "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 F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5A" }, "r659": { "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 A))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5B" }, "r660": { "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/2147477271/946-320-S99-5B" }, "r661": { "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 E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r662": { "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/2147477271/946-320-S99-5C" }, "r663": { "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/2147477271/946-320-S99-6" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-6" }, "r665": { "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/2147478448/946-505-50-2" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478448/946-505-50-6" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "948", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-29(Column A)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479628/948-310-S99-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478785/954-310-50-2" }, "r669": { "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/2147478522/954-440-50-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "970", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-28(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478979/970-360-S99-1" }, "r680": { "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/2147477332/976-310-50-1" }, "r681": { "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/2147479230/978-310-50-1" }, "r682": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" }, "r683": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)(1)", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4D" }, "r684": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(b)", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-13H" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "30", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-30" }, "r689": { "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" }, "r690": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r691": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(bb)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r692": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r693": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "47", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-47" }, "r694": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "48", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-48" }, "r695": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "49", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-49" }, "r696": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r697": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r698": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "54", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482785/280-10-55-54" }, "r699": { "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" }, "r700": { "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" }, "r701": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "40", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482640/350-30-55-40" }, "r702": { "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" }, "r703": { "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" }, "r704": { "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" }, "r705": { "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" }, "r706": { "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" }, "r707": { "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" }, "r708": { "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" }, "r709": { "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" }, "r710": { "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" }, "r711": { "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" }, "r712": { "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" }, "r713": { "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" }, "r714": { "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" }, "r715": { "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" }, "r716": { "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" }, "r717": { "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" }, "r718": { "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" }, "r719": { "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" }, "r720": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "231", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482663/740-10-55-231" }, "r721": { "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" }, "r722": { "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" }, "r723": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r724": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "100", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-100" }, "r725": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "103", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-103" }, "r726": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r727": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r728": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "107", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482078/820-10-55-107" }, "r729": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482949/835-30-55-8" }, "r730": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "53", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147479589/842-20-55-53" }, "r731": { "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" }, "r732": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "17", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-17" }, "r733": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "21", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-21" }, "r734": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "29", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-29" }, "r735": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477215/932-235-50-3" }, "r736": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-2" }, "r737": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-4" }, "r738": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "5", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-5" }, "r739": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "932", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477916/932-235-55-6" }, "r740": { "role": "http://www.xbrl.org/2003/role/exampleRef", "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" }, "r741": { "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" }, "r742": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r743": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r744": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "9C", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480046/944-40-55-9C" }, "r745": { "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/2147478795/946-210-50-1" }, "r746": { "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/2147478795/946-210-50-6" }, "r747": { "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/2147477439/946-210-55-1" }, "r748": { "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/2147477802/946-310-45-1" }, "r749": { "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/2147477271/946-320-S99-1" }, "r750": { "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/2147477271/946-320-S99-2" }, "r751": { "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/2147477271/946-320-S99-3" }, "r752": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column A)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r753": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column B)(Footnote 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477271/946-320-S99-5C" }, "r754": { "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/2147477271/946-320-S99-6" }, "r755": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "405", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478790/946-405-45-2" }, "r756": { "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/2147479168/946-830-55-10" }, "r757": { "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/2147479168/946-830-55-11" }, "r758": { "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/2147479168/946-830-55-12" }, "r759": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r760": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r761": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r762": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-Q", "Number": "240", "Section": "308", "Subsection": "a" }, "r763": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r764": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r765": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r766": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r767": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r768": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r769": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r770": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r771": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r772": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r773": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r774": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r775": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r776": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r777": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r778": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r779": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r780": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r781": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r782": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r783": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r784": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r785": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r786": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r787": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r788": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r789": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r790": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r791": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r792": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r793": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r794": { "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" }, "r795": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r796": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r797": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r798": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r799": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "ii" }, "r800": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "i" }, "r801": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "ii" }, "r802": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iii" }, "r803": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "iv" }, "r804": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "v" }, "r805": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1", "Subclause": "vi" }, "r806": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r807": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r808": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r809": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r810": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r811": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r812": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r813": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r814": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r815": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r816": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r817": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r818": { "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" }, "r819": { "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" }, "r820": { "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" }, "r821": { "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" }, "r822": { "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" }, "r823": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r824": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r825": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r826": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r827": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r828": { "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" }, "r829": { "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" }, "r830": { "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" }, "r831": { "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" }, "r832": { "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" }, "r833": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r834": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r835": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r836": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r837": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r838": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r839": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r840": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Number": "229", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "C", "Clause": "1" }, "r841": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "A", "Number": "229" }, "r842": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Number": "229" }, "r843": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii", "Sentence": "B", "Clause": "1", "Subclause": "i", "Number": "229" }, "r844": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r845": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "450", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483076/450-20-50-10" }, "r846": { "role": "http://www.xbrl.org/2003/role/recommendedDisclosureRef", "Topic": "855", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483399/855-10-50-3" }, "r847": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "15", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-15" }, "r848": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "18", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482861/275-10-50-18" }, "r849": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477351/944-825-50-1B" }, "r850": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(i)", "Publisher": "SEC" }, "r851": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(ii)", "Publisher": "SEC" }, "r852": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iii)", "Publisher": "SEC" }, "r853": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "01", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r854": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Regulation S-X (SX)", "Number": "210", "Section": "13", "Subsection": "02", "Paragraph": "a", "Subparagraph": "(4)(iv)", "Publisher": "SEC" }, "r855": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "205", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483504/205-10-50-1" }, "r856": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r857": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r858": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(6)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r859": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480566/210-10-S99-1" }, "r860": { "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" }, "r861": { "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" }, "r862": { "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" }, "r863": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483621/220-10-S99-2" }, "r864": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "230", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482740/230-10-45-14" }, "r865": { "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" }, "r866": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r867": { "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" }, "r868": { "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" }, "r869": { "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" }, "r870": { "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" }, "r871": { "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" }, "r872": { "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" }, "r873": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r874": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "250", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483443/250-10-50-6" }, "r875": { "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" }, "r876": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482964/270-10-50-1" }, "r877": { "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" }, "r878": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r879": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r880": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(ee)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482810/280-10-50-32" }, "r881": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r882": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r883": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "40", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481628/310-20-40-7" }, "r884": { "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" }, "r885": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-20/tableOfContent" }, "r886": { "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" }, "r887": { "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" }, "r888": { "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" }, "r889": { "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" }, "r890": { "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" }, "r891": { "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" }, "r892": { "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" }, "r893": { "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" }, "r894": { "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" }, "r895": { "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" }, "r896": { "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" }, "r897": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/350-30/tableOfContent" }, "r898": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482686/350-30-45-1" }, "r899": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r900": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r901": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r902": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-1" }, "r903": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r904": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r905": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r906": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r907": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r908": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r909": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482665/350-30-50-2" }, "r910": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "30", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/405-30/tableOfContent" }, "r911": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r912": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r913": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "405", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477092/405-40-50-1" }, "r914": { "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" }, "r915": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org/450/tableOfContent" }, "r916": { "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)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r917": { "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" }, "r918": { "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" }, "r919": { "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)(iv))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480097/470-10-S99-1A" }, "r920": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r921": { "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" }, "r922": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "505", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481520/505-30-50-4" }, "r923": { "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" }, "r924": { "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" }, "r925": { "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" }, "r926": { "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" }, "r927": { "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" }, "r928": { "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" }, "r929": { "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" }, "r930": { "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" }, "r931": { "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" }, "r932": { "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" }, "r933": { "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" }, "r934": { "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" }, "r935": { "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" }, "r936": { "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" }, "r937": { "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" }, "r938": { "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" }, "r939": { "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" }, "r940": { "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" }, "r941": { "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" }, "r942": { "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" }, "r943": { "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" }, "r944": { "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" }, "r945": { "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" }, "r946": { "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" }, "r947": { "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" }, "r948": { "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" }, "r949": { "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" }, "r950": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "720", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147483384/720-30-45-1" }, "r951": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1A", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-1A" }, "r952": { "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" }, "r953": { "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" }, "r954": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "815", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480434/815-10-50-4A" }, "r955": { "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" }, "r956": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r957": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r958": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r959": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(bbb)(2)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r961": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r962": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r963": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(1a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r964": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r965": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r966": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-2" }, "r967": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-3" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482106/820-10-50-6A" }, "r970": { "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" }, "r971": { "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/2147477401/830-230-45-1" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "835", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147482925/835-30-45-2" }, "r973": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r974": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-3" }, "r975": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478964/842-20-50-4" }, "r976": { "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" }, "r977": { "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" }, "r978": { "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" }, "r979": { "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" }, "r980": { "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" }, "r981": { "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" }, "r982": { "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" }, "r983": { "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" }, "r984": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478546/942-210-S99-1" }, "r985": { "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)(15)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r986": { "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/2147478777/944-210-S99-1" }, "r987": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147478777/944-210-S99-1" }, "r988": { "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" }, "r989": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147477363/944-310-50-3" }, "r991": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4B" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4C", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4C" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4D", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4D" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4G", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-4G" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-5" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-6" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7A" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7B", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480081/944-40-50-7B" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147480109/944-80-50-2" }, "r1019": { "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/2147478009/946-205-45-4" }, "r1020": { "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/2147479134/946-220-S99-3" }, "r1021": { "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/2147479134/946-220-S99-3" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "985", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org/1943274/2147481283/985-20-50-2" } } } ZIP 82 0001558370-24-014294-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-014294-xbrl.zip M4$L#!!0 ( !6.9%D=RQ=^1Q$ .&Y 1 <')I;2TR,#(T,#DS,"YX MK)B0?7=ZV+;>EZN-I B(A&5,4 MJ09(ES6_?A/@(1X 5*N+DX,'[I+)C(32'Q (I&X?OC;R]I#SX1Q&OCO#T:' M1P>(^$[@4G_U_B *EX.W!W_[\!]_^>&O@\%OD\=;Y 9.M"9^B!Q&<$A<](6& M3V@>;#;81W>$,>IY:,*HNR((C8X.WQX>';X[0X/!!REC@CGP!#Z2PHX/1VG" M12(N\,_1:#0<#8^/CD_1V_.3T?GQ6_1PE]+=0=&6U$3XPMUS[CR1-48X#!E= M1"&Y#MCZDBQQY(6@F?]'A#TI"13VB%"I0)!+#C%;D? >KPG?8(>\/W@*P\WY ME-66@/@^Q[V1E>/%J MB'^[A1+O*,O:?3F1I*-W[]X-96I&RET5(<@<#7^[NYU)5'?$U$P\*)?;"2(_ M9-MBG7#B'*Z"YV&2*(%,&2(^6&&\R1B6F"]D1DE"@=@G*]&2M57S;L@"CPP3 MLI2+LW 0;C>$5S/)D@K9N"$K,10R@N2A2!8\QX.CD\')*.44;;99(R9^M#Y6 M-:'CHR%Y"8G/Z<(C T%&& [!E/#!\6'&[D2,@5'157B26JYQ44N*VDA3"N2< M.FKAD%"6JZGE-*4H%ZI>4XXLJ<@0;IBF))!2+$K(:MH(I&:U_^(\J66*E&+; MP]3A:EJ95%9.J5:QF9$-(XY-@]Y1[GI":.X%X2XGJBXY))1;?HU8=U=QTKI1 MI>E[$YL^6NKA [+0]W*16"@(<5P-+HY;)ASP:*$E%HDQPX>_("1'+^S[02B[ MDOB4?MQLJ+\,XB_P3=C-+@+?!3M,7/C! X^ZHB-.L"?&O=D3(2F.31AJ M43P3@ZQ$,A,)OR^F]Y=7][.K2_%K-KV]N1S/X8_)^'9\?W&%9A^OKN:S'L5& M*&:I?+J\ =]\36R@5' 9\3RVQ7,VAW_NKN[G,S2]1C?W%].[JQ[5UJA>!&NH MD"?A1SV3=A"K1!CQ/FF'-Z#]\'CU$>AN?KGJT=\;?:8$X!C8>U"F8 M[5'9H9*R4;!$>>GP?9G1: MA2TG!?YZN/W8 V0!T"-Y)GY$P$R&##OAF'/P7C4XU=*:.MKIT4D9L42>,*B) M2(2ES!ZYYLC=4KR@'A2&6,*G8#!C>&J!H;<3W -I >2/0>!^H9X'\_<;4-I? MB8!@W+FNHU#81V /Z3^E6AIL6\DPP7U6[;)I/@C[+MKEA.*L@"#.#>6SZQN! MU4 I@^?\ 6^Q@,YWX0N+B&ONUTU839"_48VKL7B4R)?0)SF@V[ZO-X+Y@A&7 MAF/&H./$4Q$-J'I"$X3?5R&,A:&\M!ZM?="ZP-ZQ-6*2N-:;?=<0,I$.0GOD MM,A=TF?J$M_E8 VO,/.IO^(/A,V>,*2I>YP-BZ'OC8ZJ0&9BI=U,!2.0C*3H MOB-:P'E+,"=.JOY'?SF+F_0%-34 06XDRE MJYSF*\(,\C-*LI:M),L\2>M'V5=>SWF CN>'3R2DH%_CQ9TBM\5*SUF;E1[T M72&?'N_V4>)9&#B?GP+/)8Q?_1'1<-LT7*R08,3]M%W<>#:?7OST<7I[>?4X M^R]T]?.GF_GO/?;:H>$>BPGG=#F)./4)KUCZ2KH!MQ'TUXKECH4(8YV*Z1'1 M(G*-*?L%>Q&Y@\$+_I9=J R+FLB(S4D5&R$)25$H+ZL'J$W J4%\:$V@2$SBGN$A'H\&X06S/$$,U9VL9\>%BTL\>Z/.7ZI]J9\DA$( M140GYD=20(] J\A-DY"-$:,VP9H>MYK=L.HY5BV%$2.%+YX7 _,C*:C'13_0 M!.LU#:7=%[N. U_$E8CO*/R%.E(C4@K//"=/]J>"Q!ZRFI7]3M58!"#9V9P01@\[TN/8ZO$K10 ]J MTX3LFRJR]EM:>HR;!S+4B&KI3/A]7\5/N3FBAVJ?J;4:- L. WPPRZ[ 9]X2 MT6/9?(Z@1E!+9\)-N5^[,EWHH6J^0JG9DJ(C,VPTL5NN[+>-M)O@I9["(W$( M?8Z[D1,QFNYMOL:.\!6V]L>4FDHTP6\]7MY=V[24^?T_8 M1> [1)R'$!_M&TMN @@;A6EH3G/9;'7K<[(]+ M@9.Y#-A:;.:;+CRZBF_5$HV GNT?TE1#= UA[?"L# ML!E?8(C%]TB_&M+RFIN] "](J,%];]"3K'KP[<&'#WBU8B2NS.DR^3S9IKZ, MR"!9MA3'4,6?]8UA'XEFHW"F;Q_%C(5[QI*TQ18YJ6LF;E23 1(G/5@KO_1- M9J_U@S2I^3G:,J>I"33>_9@GZ%'>"^7RW\W1UDDPHUX9&(RH*]:6>OA;+#S< M8R8FLL_:4U\V+": OZ\"K%J.$$&X5'0/9RLX+["/78K]."6)3.F/]#478(;: M9N5)G,6-\TE3=SGUR-LL2Q%&GV5/N?%YR**ZB$HMK0G/MXH-GYD\E!/8P]8> MMO1C=DN0&%M;PFHGRPQ[Q6)K8"\D9&ZW&+9IWSC:[J/70*Z@, %IV%3? ]-J MF[8&'SVA 2;;/=L]7*W@NEIOO&!+XI2'B#E/F),'#_LS A;+Q6P[72[!BODK MN9JP'R>VQ;;1K21DAUA";\[$X9]&BU0BL) M(4,'FPJ#-F!%M#VDB:&7?%@D@5]UT87/1DF6\:\UIL MT2YK)/+N6XF^E21/2:7_BOV98!7#[8TOEYY$89(68$-9BZZXRP1\;P%O^H!5 M[J?J?^Q'Y'<7\*Q';4T)W2R2>:8*EY2J$'HMU(HCG^5D-J NFMXMR; M9K&QQ\QN=%$@SH#)26+3D5MY_#Q3$_\13R(]DB>33P>>8.8*T_H'AX88% M&\+$EH9A*N(@$? DGU,6" [2MV__#O5R^++V4I)*!L7GCB78Y:I,2IF*$'L? MWQ]PNMYXD//PFV@%H#75JH1S!Y6"%M54J6(C[*!.'EXTU0E8B&>KS@_#THNR MR8?"N[/RU5G@"UB(_.(#Z+ST$O1)OIT,1H>C Q2_P'X;./+;CJU4_"KK(62; M%+2F!/I7=W49*\GE [SB1[M<=Z\36^6:DHL?S7(U/^]M5=\*3ODW;U<0Q8/F MJF*4V3S&"EP#(6ILR2!;Q5_9 O"C%B2C%2<,FF(@[BU^5 M#JWS3QE$QF?66>K>0J]M@,HWZX?$"WDFIEE[5 KUV9=@]6VZ7?TH? MYRW>+>P/<"KS)UX<; :+[C)YS$5!ADSD,:1J*P/[(@VKP_$"6EYS0DZP,4#QU@,P;2 M1IR[\CWN&T@3?AD,,)(6QC4:N/.8-F))I+>!)H7=K=M?:?B4[D>=8/]S43%+ MVF[HN<0>SRM:^T!+YM'/R4LX\0+G+2)_KX(5D1MBNW0?/74NL.O,EUM 90Q'>\(ME9+/XC M\<53*,2=;&<;XM E)6ZC6G@=VI(V M#3W^(E["]5>OW\*)0.!L?\3UK;XW>G3I!&FVJ@2OFE;RXH,DCA_8,&2AF.>[SW)5HYL M$2Q6Q)Z\&^IIK:6]7>V64;TD2\*8V :P%N](28;<*94\).-G,'LK MP/ 'O>>!48?P3YRX-V(+)V%K*@;*3-=@#5U$&I/Y$PXO@LAS)]F^3S"@#QAF MYP[=8+DJEPR\G2I2-TUXU2%[D#%B(OPQ\=]T^2OA\N##Y.KQ9CP9W_]T$3!P MK65>)N^NG;!NN'^EFHI'KQO9&>FSW&M\?#0Z*=: B:B3FMT'_B>?IMMV2E,1 M76(G-;D-_-4<.NHC=%=?< L BOK4DWQ+K78M#=S"U389N$KM2YED,"WE8AFT M*M=N2RUR>SJK?H_1_LL30!< MLJ#U3KZV^')AL1*6L"B>A4PA-5 MW1HDWFMU8%R>TW5,HI[:M1;2#5-<"V!Z)7<\]7NFG(H;# N]? _^K]O1LVF[ M9J*_M]G+M&QE]Q38P/9L1]@PSMO&*D7AGNCJV;DO27TN AX^$KI>1(R+TFG4,I-U5+L:0W(7N'1) MXY4U$3WQ"VYT.];.FNA:==*X5#)"-QFQM*S_4C51>ESC,B+S8!8MT@LO@D+P MLQUW=^LCOB4HMZ,B(1"XP>4GY)N#8$RM"V92Y&&_;6U8W M/+TTKIK;F2IBK]3".5F#.Q3:VLN?37D"7?*)8&[!) MA*[\6Q*""\[!=9$UF!8XJ[5ZLCWU*%=+G1YEG75ZR>CF!'/MVMIDNR.!<5J> M^_Z"F5N\KD668;P$I<>^'V$O/K"?WV#P=?/)]YNT$KYRO2;[#?ZTBOTYP@S^ M\;9?OVXK676P>N5E/9G#5.F(FO0.]D#;5USD$YW)_W/>0Z;QGG+V]SJ^"LXF MK<0"8(-*B,F[UYS!(W ([D@>U6.[3I) M8@'$1COL@?F"J1"YDO>&5,U #5$';<&U. P#,X5G4KE%>KP&2YS@)F+]/B>_ M$\RN@XB))RV%V<[[(7L*^LJ-(/-+]VP#Z?18[N#+N=QR+X^(*/)*B[!GZ6#[ M,-IX0IJ,"&3?&<>?V-VGXH32SZ-LD;X"K(Z@@S#&13TVZ5(EZ*PN)R9=J@2= MU>74I$N5H*.ZG)KZBXJ@L[H8^HN*H(.ZP)0JGH%-E_LY>OL*ZHSAUP>C\N@; M+(R*X-NB'Q_DC<^A??A_4$L#!!0 ( !6.9%FJBEY>K1 +/F 5 M<')I;2TR,#(T,#DS,%]C86PN>&UL[5U;<^(X%GZ?JOT/7N9E]X%PS854=T\1 M0KI310)%TM.S3U..+1+M&(N5[23,K]\CV08;+%LV%PO255/3 :0C?><[DHZ. MI>-/O[U/+>T540<3^W.E<5*O:,@VB(GMY\\5SYU4+RJ_??G'+Y_^6:W^<34> M:"8QO"FR71J;UA]T5[)+.9;FMWB%)L6=H5Q>8STK1&_>3BI'[2.=6J MU2]7K<9E\T(;W87E[J!K M$YQ5T,+V7Y?L?T_0G@80;8=__%QY<=W99:WV]O9V\OY$K1-"GT%"O54+2U>" MXNQ7G%(>VXZKV\:R_)K\MQ8OW>AT.C7^ZZ*H@Y,*@MA&[8^[P8/Q@J9Z-=* M@R\=_N6 &+K+FGA!R'4J&FOF^_@V!H:))!0[!J&S$X-,:ZQ0+9=8KF0IIFL[ M1;OXU1E.;F%,3='V("?)5A%WCTQG%+U &?R*=JF$Q(:4U(CNO-Q8Y&V+]B\0 MOS_TU]!?BS@>13"_8^C%B"('^L/GJC%R7(H-Z"?KVS5R=6SE E]$>AG8N\;_ M/.Q@UJN1M1E0@:@R4(W1*[(]!/;F4MUPNXX#D^Q&X-(E*H!Q@/4G;('VT5:! M)HDM ^U70LPW<-.ZMGD+H\A^QD\6\EFX\5QF?8#*Q7_S\;61 HJU5,[8-8@' M$^A(G^NLC[8)WU /F=NRA5P-E*$!<,!-['8I!9K\Q60CO"GBE$+7TZWFEA'Z M(LM >8U?,;@'I@/FU=>I#9LX9X3HPXL.OVW"II3@,A /$ ATF/-';-\!XM_T MWV?,2X+>#F>(PO1B/_/OMS6:M]!L7FUQA>C4"+46_+GHN0-2(A*:K5I0HN9X MTRF?8:L8W,1*IKY#:2M] HF&;AF>Y1DH.0'(@GW5GZ[N] M"!KT[H*1(G/Q+799@YW.*=M;U^M:55O(AK][P_OK_OU#_YK]]3 _UM8=O_?[C0PZF&'+&%#%BO;+8IIW09"5S41/=>>+R/*?ZK.LS'M.H M(OB[*Q^ MT;FX:'7J[7:K7E_V.6)"71KO/EAV*#XP\F)C8$+)=%UI04LD3Z<)-1']7&E4 M-,^!SI 9:TNW*MH;PL\O+O]EOV2P[1!,1.R?/FPF7G6+351=MZ=3.H>)Z7?= M\I" )*FZ*I*71M$ZK<5AJD?W&!D($(!KZ=PC-WT,)I8]?#KE807T-=6A+]PC M_L#N2\]S7#)%E.L@DTR)FH=/;5&0 =&M-*+!!P$7Q)US>]@OZR.*9CHV(VZC M^Q( RUA&)6H>/NM%00:LM]49WO'MP)CU8CCY[OBQ$ '%J754)#>)POP@9.;F M4HIR^BUDOJ"Q=B1U+)2L-D7J MG)(TKCQ4SF0RN?SQD)D#GWIQP<6#5ZEQ*2A])%SF02>S_2P_PANJ8IX_Q+M: M]4@X+@Q59D-:8KQA0.SG1T2GU^@I(YZ?4/)(N)5%IM[N-MKSS.UMQ%'Z MC%J'SG01>.H%>7GT+=ISJ5AC8H5#)S0G,O465>GXXWI!9;F3#NI)8E)O*>V1 MZ938O/NI)\A6BJG%F*3VD[8G$K 4C J9)O8[,=(Q+ $]?89=W8J@$86',BL> M";$%@:HW/L?L?+F-%J?TNX;A31D'R 07 !M8?"@PJV)< Q>'2G5!H.I%E"(= MY\Y PA78 7&8=S><@,,GC@#GD7(D1K -U-+N\:?:RG6(75^12+P='B$C]9Y$ M4_:>Q,,C_'/7OW]\T(8WVNU];WC7KRAZ6P*(7+(J& DK9?9]("EL^08LG(5! ML>W!]!3LT('<*S0A%"WV;\CIO[M4!R/$MD[GM\ 6WP.P "JQH&O/M[:+*')$ M$_X.6U1KDDCD/GX*:K^:4,]!7,2!,@=)0LDXQ@Y@/"V1[7V3F1)4RU"1>F;P ME4)?1Y1,A%YBI(1:M,LJ?9VN+$CJT13D%0CM>_5YV>($)SNF!O^98N>O@"2U M:,\B+\G]WPYD]P+$8P(:(,R,[^S>"&W!0\;/MGY(PYH]4 MMQU8J*!?7W5L,]7X3JQX9<\A02TS*-]_WU1UZ@6%>8@+=$+B0RQ]$4FO%$/> MJ /RYH_0;G;W_N*/T=(4%#& M\[74&B6X 8(G76*G!S94_%,P]LS_>HX;W/Q.P[V;QM2:(B2L8![L,W[68P_*%LRCVFC)5D8?'TTS!4 MXU]$2HX0Q80=OZ7LJ/4U\O^%SWZXN?]NO+!$HF/06G\R08;P,M">.['W68)U M>40)N^ME7LV_.^S,\B(VU(4I\37MZK>\@/BH;+2;G3)3KY1C6RM3UB::4V_% MN48P8QN8:Q[^ME"PFD:33@LO V175@[0^6Z$E1;_-MBR*17TCI0\$1-)6+?(5B6!R6%M>) V_")KY]3.SGQYZ9WTP%TOV0 MFW\O,C5CODS5#V<"DBH(+.%<:4M82>LD;08K]3Z<#4Q@I>I'M (9%02&T%'9$!8.;_%58;7VAS,'>2V$T:"Z9!R@A$S0J^"$+QN0 M-A*AA ]G*/DT$1J+.'984SWBHIL-<0BCIS_C5416HA"&:X$2KJU7Y&SR6&&! %J68>RAQED M-:?>%8Z1/N='LAX)O]I$47CI"?E)2KA6_5]$USWSB%#+GC9D,V&UV505F8<< M2M[5K@$4OL!)UEB$ N+Z:9=\?6SWII)/$0K>, 4 !D(FO_:2\*A/QCCD)1R[ M=6RH"?7N@ E4=(-MW38V<%H2!*AE&\HZ+;*:4\^6HJ-CP-976%EA117>"Q.6 M5\M2-N0I?1;)QJW>2=LQF@6KY' BP[.P_)'SG ]WSA.4>_0(3U2 M/([]]*@YSX*M8"J*T/\-TF@\DD?]G07F6=9-T,<-H;E.TA85=^16LE6U9![5 M+,^*AI/%6YRRLT^G5_H@%I$#O(+',*.>38@(C)G'=N6W%#FE'+ME;$$;,B^G M+=&U\/=(PTETWS2T-]JA+?9BU]B9$4>WOE+BS:#&-;L=RY-_('.9^T-@B>5W M3"WC+G_3K"@CQ:Y+[."N-^NS11R/.P_880$JY !*+BZN@FN6&=^2O>K=:=>; M]896U98MP ?>B$8F6K09^'[9DL::TOX5-/;ORC%>]A;,'AO*W',Z4;\_*[WH MPF)&Z1P&1^KK7V3JQL<->WE]ZW@K?L1RDA76@8H G"ERXP8\6.G)V)<"6 MF>%C.2=',F&.K%Q3?+O>7I_?(^+@TVCP3?V9/"$]Z!@9Y-EF%YIO86?EX@EF M=QN"UQOD.M;\^ M!Z2J0'H2W^GH#[*=AR=J?=2Y_;QVO;4Z#P2"67*?0+:F<^'JSP?",^ELIY[[ M1=QK-?>],B]N:8;1Y;"7SI".*'FF^E3DC\I5CIOW>;O9.2LU$9_'UNC!4 MQ1.:L,,+-HB=WQ":WP0D:Q^%#6R"5<:9*S6K#2Q:%C(C9IX^E8DK' 75.>$5 M>Z/U/E?NB%M28/EN2RS?UK*%PUS#%U>$\B_BZU6W<3\HM:7P1JW_:I-7V%,1 M.[GC&\E2?S2+:%MSC@"]I LIACIS\'ZF(K^$[G^,BV M\]9V=?L9+W:F-Y[+@C>19'NYI_W3]5U;V*"FVZ:V;%+SVX0"?K-:M%WU%X-5 MW8%KL'B-5T840Z8J6-/Y6:?>.#N#A;3=:9V>G>[;O;O!-HRJ 7Y%:X82I2I\ MA0!8Q>,;LE[1'8R=%Y'KOYG0^!B[@#%V7NK+' KRN.XZ[D M^18=Q:UKC*8Z MACF'#BSBPR1RBXNR$-(+.>6D,^DY_8J=Q" MV-0[^!9//"7YA"&]T@&S6@"8>IE4 L2W-LR@NFT( NX9I0^8Q#R(U+M2SM_# M&JQUZ_BGE[I@'DL $QF^[-[A]:_J-ZEE%VRX7?. M+[+? 1=M.WV4)92,66"S#A989N*O)$U'1Y,L M ,6/\$5A+#,>2I"V+'RXO&5@4/"QO7 J[.E64_)J12?G7,A^]Z7_G!*+O KR MR06'UZ4>?^MM< .K.V6A$T%WTZHSG MM--NM2].SQJ=\W:K?GZV[Q$NZ/%:5]EEU( M2VI&UL[7UK]NS03WLT:TL:B1Y>O=31ZD*)&M<+'!059+8O_X U(/UP*N>2'4S8J8MD@D@ MWP R$\#/__FR"69/B$0^#C^].7U[\F:&0A=[?KCZ]":)ET<_OOG//_^O?_KY M?Q\=_??9W?7,PVZR06$\ST MY.V/;T_>?OQA=G3T9]['F1/1-CB<\<[>O3W-?SC/NL/A3[/3T^/3XWE/[WZW+X\D>(O)BO9P\OXXAWZ3@;-?O;AH4 ;^X3C]L0SJ*[KVPRAV0G??=0.5 MY_<<^O3CQX_'_-<"-/)%@+3;T^/__GI][Z[1QCDJ#1#Y/T7\RVOL.C$7JI;D MF12"?3K*P8[85T>G[X[>G[Y]B;PW?_ZGV>QG@@-TAY8SCO5/\6Z+/KV)_,TV M8,CP[]8$+3^]V1)_<\1$=?+Q_0EK_L_W,14X4Z5S''HHI'I!_XAPX'M,$8I? MH\7R/L;N]S4./*JFE_](_'CW9L;&_79W5:&.C8&)'[F8;-^Z>'/,@([[CNBQ.*Y!URD?_D/ ;H'KD)\6/_ M-_[[9\?U XKP!8H=/XC:\&?8<8'PZSR)8KQ!A(K:I=\1_N70S%$/8H,3GQV? M_,T)$O05.>PS5^Q>9*M[M$'C'7I"88)N$5EBLF%N;_$8^"O._'ZTFO4,E>;1 M27\%'%@Z21!/P(CJ.!;Y0;]P5BN"4@07R^SKLUWNFQYH[_.037G4/[DQ^S@$ M?WJ-:X-?7S#VGNG:E.)T1=UWN/+I7#:/(A1'^4^]^-*F?V#TUS^/Q0?I.#;X M0?<;GA_/":$H#3!-*KJ#0=V-0]CZY D-3:>@8Q@4GSNAX_E.F/Z2+53]P>G7 M#F.#&Q>(T-4ZD\H5W1J2I+^"JWL$1&/^93[S<$+Z(X M73HD],-51)@Y9+=8+JF*ABLNFS+$P(P9 A,;/+VF&UL4G>/-%H=I'(A_<_FR9<$B MJM^++6(S7+CBWU_[SN,0,\D P]K9=VPQB=- T*J_2U5T!X.Z;&-#Y?& 8R=( M5ZYGNR\(KXBS7?ONG"!G8!:T&[,MGS@K'.+F_,K^K*.-HHWS%B4$;]D_/!)\ MC"*T/,[@CY_I!$".0KK\P\^(O-'R781@0$C1'QOP*/M Y7/ZX]'IZ=$['FK^ MY_I8)4IR,KHY,8/VOAFX\ZJ3&JGOHR\*$]( M+)WHD3,RB8Y6CK/ER9!C1(=BW[ N(XXN1Q4A;]-4T487J3 H[/'E2TQ]$=NP M789T,9/&-Z_]*!Y'ZXH._# ^]OQ-H1E.$.A5J92788F*'SC)I98BGO=!BO[- MF(/#(X_+N".&LFX&1Y?W?K1!F\>]L;;%5=3'T(BN:7_$31[14<&:CN@J>AI1 M&5)3[Z\-U7Y$"%,0/_13FPR_9X ,G=ZV71H2,3@/><6W?LP&V#>?E=K/4G V1>_EM92YPDA=,J=/T9\ZY8/ M%#B/*/CT1M_@U],:8\R:'$]*[]QU28*\)DH2"9$<:8T&7/IS?T M+[KPH N9>/?IS F/&QRZ M2BN1-Y :A[K),'-'@]/8='Q;^@:(1Z@I4#RC6A )Q."8HA(/'DY/9T6S?,_V0=SZCO<_2[F>L_WSG68R0*SG7M.Z:'I&XI.7T MTU[#Z8=?B^K1>Q>%#F4UPZ6FX%*XAJ]30AY/1%$V[+5ZH>"6&$WN MQZ4DE+VX$>J3;Z,7SR$BT=K?2O;.E=^%.\H&Q-282[?&-0@U]L-L@F7LPM+1 M)MWNUM#+][@"M*ROU+.:4\WZO 2E7)77X.S2I%YZU^%,Z!IV82UF*M:,;&7U M7$&ULF86H0@C6I-/!/<&*JYJHX_6R%K9H#Y%0:WZ91@Y=76HP:(R&B9C!0[V MHC%BI"NF4$?60JP^"6-$M@Z)=VP'*XW3-\$D06PQX$3DW*%M=DAHOJ*KM_0. MERI&TC6)<5LAX:U:]POF*T6!.Z S<5Q?A'^^WFF%M]5)HW*%RYT??3_;G:'0 M76\7YR(0$ M:$;'KPUI96]YBS:F5FX#@6Y^.THK ]NW,*>[VF8$LQ*(0F5157P@&-.> *4= M51&W:D+7.(K8O0-^N*+&[:/HC,ZJ<4+08KG_6I0\:-^!_*A+JRZL,RE#3FEO MBA:&;&BTZ6MOG02%C=&;W/S:T%.V1@T=D^^YOCI_QR2_]4I6&=4$$FX[Q& 3 M$9*F/"LH2'=74E@A64KH/KLG)5NQP>"3[I5$V.8[)2665F>8J]"EV!1AD/Q: M6<64HF@A=9Z:-G#H5DX;RC9M:1]NZC 3"&Z!T>2SA9*$\O2@17WR">*.714F MF1>*W\11J/*O4V+[M7(LH8YO^JL[4H7]GXFZ!^)9B-@T%+JP0S;VN2'""^E+S=HJ>>'NFU?O]Y.9+@U?I-[ M>2."RM[>D!"K)BFZ-9!%$12VJ&HB53I=(ZND5^X!5IF=JHD!Z>)&?0W-4![8 M'*/)34M-0MFF=*@#G-_XW?RMY[:B5':&Q?H%7_LSTH*EW = M>I#RIF4?X\QU(A'BSC@"F>]*1%7NPVA'#!0S+?[\BX\(Y=5Z=XV>4&!FK8K& M)D:K:0YD/1HUT6R],I7VT6J-JNQE0 LV$ZMFP:I$UJ8I*ZG3K5Z55-FU:48R MNJ;K@L;-_M1]\-> M.$]O[VV(K!A]>^(F#UD^,+(7RZO08]>\)XYHMI;""0.#4DA;%/WBQ^L[%*3O M^JS][0-6'%GKT(,9%_1]] FAZL2#.V,U:?NV OMVC=$[ GI6Z7R-D MDDV3@G--+ )OB,OV1.2GRE3-S2J1M%PGR(!2S MZCPU7KS%Z+M^N%+7"QHT5I70&38'R1A=2:%1\Q[,&;38L)T<<3<\;10A&A%6 MJTY-F@[OT-7&DSOM+A0:WN_+%1+2NX&$FKZOV%.&&,^"HP4>WD&G!2+1!"VJ9,J>("2#/JAE-R%7NQ M=O3)U5R ;EG/)6A:5?3YLT,\S=*] B-5@0:4C1MFV.N]9TZ$/';Q+!5?&E,N M/8E^MMO#W#H[]AU'?(]]Z+%G?[61@3&&DO)VK,'ZVJ=,,_#XJ$]NW#5:*[?K MC$2C5<^0HZ-P#&40>3%F#<@B*4J#-C3%X8U(PD6L&G-R[:\B6:G]G$!M-144 MUQ37%;>Y]):#1&R>:&& M"DF[H:4UFT.NPKGKLMNI_'!U&<7^ANZ4]!?2ûV<,&X-BB?ZN&H.F'5@R M\.TU[>2&VV,X?8C+B*1*T,N0E,GGFEN"O<2-%^0>D2??E?&0+R9X:DL"K"Q-!])AT-:['!\)/..V)\\YE'B:?=PZ'EI"0O_?67OK8F M4-/*+#,N;@>+!^9U Z)V7?@PX*%18R')DO@RS*8_/*HC19IGEY$P^912U!I\ M07A%G.V:HB0K:Y?""GVP$GHJZM*KA\L82&<8*:R8.A7T(*\V*IB,#7"P\W)C M$^GB]485LO9O^V=7(\273_0_FIV-!%H>/I7#PZ!5'6F6P;>A=[BY0\_\^BL! M,DSLO!8@0KWQ:H ,9;NY&N_O212G)S$QN4'/^\T1746&]$\7Z5X3:-6'/-?3 MMA<+W&*"6RSG7JI@RCL'1*!2VF7 O7,I'26#]:A-GRMI1TO9_&0T0+DSX-IW M'GDACO9$L:J-_$RLKI5-ZG.,?!1EQ\*]17B'W(00*EE>Y_\MQ-1]DB=6SW$5 M;I.8_HQ#5KK$5]EUJLPN$QAK7+T4QAQYP$L+E HFNJM@3+ILWF\@8H3P6H,Q M&6 W;4OP%I%XQ])RK&"=O<.[Y87LNGR!04MY5M2L+21^:-?=!BW;\V/8M7@[ MD>'6^$V?9C8AJ))]-B/$;@[/V?JQ$_B_L?J0*(X6RV_AEN GY&784R=T^<+. M?"#O,Y7O?,.N4_HM\S(YA0M"__H[3IL''&LN,B& ;J:\G*,"JS MKT+US@6.*E"LP'SZ'.$8I-9<195$NP7T*(K5!\1+$/+:\BJ,/3K4Q?)E&!TM M Y;("QF(%2-.7QA?1K%2$U]'S6[DB6[=/3](V,V;]VR1[->MD14^)C$WQL7R MTB$A13ZZ120M>]R).U#%J<8;41[5&G=,,'+3ED+JFK7DX, UQY-H!FY'U/01 MMC&Y4'9$)M1;]4UW*/;3^PD-*I;%P%)]EH.#(%1IQ#+P%L0.9[1:OF,S/":W M,QGB91-1(0S(-.ZW.(PP,;C72]O.4(.HK[=Z<%J%F>)0**D'?+GKU^($X8.2Z_9^9L5_Y%.5V8=J#PE&VZL,PD MS7Q1!S0B>LC9H(,TL XK"[. .1G5Z4"$OMW+!"@2PN=$51<+J-I(-4K;RCKU M)B_<*EH84C[X"[>FXL#&&$U_.8&:A,I%!6K4 5S<^."\S)-XC8GZOB4QL%2) MY. @"%4:C0R\!;%#WS6HX'OC04\Q'I8N_VLBWGS&4XRP5=.@**5W19T[A.R6 MF/ ;!N36(867USZJ6D"A6!L9T[1J1_VP<3(3D>!6&$UN0@H2*G6>>M0GW[*? ML]A!X'L\='!%-VFR-]/%@,+-KQS4&E'2[;P,U)"P83;W6MYB_?B3;O5E".<[ M?A6BE@]X/OD>"CU5'K8"HSBT6(.R28WF8&8%2D_1D('Y^?KLE_H8NJ2(7D^U;NLPZYE041]NH M*='Q^3U+N4TAK_@U6BSO8^Q^7^. (A6Q4L!X]Z8B'/024_R15V/#QX\_O#LY M^7!R,CN:%=W1O\\7-Q>7-_>7%^RO^\7UU<7\@7ZX?Z#_?+V\>;B?+3[33XOS M__K+XOKB\N[^7V>7?_UV]? _M/]-$$85V@HAT:'> M6%6SQ$;J0,=V4$SEQ]+8.-2<:M*TR0DP,EICVUK3EL1-'M%1865E>Q"Y #'[ M*P?FU)34O,&TDJFAI/2S$MAQ)%'RPI#18-= 7#?9)#P)LXC7B# Z"%HS!\T> M>&>Q,[6QF+>?4E8?^AJ..5E6Q5?,C729COAN5;?F*@&.(Q G"(QG] ;6PL55 MMORJ[ZTH E[\$WMRA>X3+@,.^NE-E-Z:L?\]P'0'\NE-3)+)%\=440BBNX8+ ME/Y[%39W/'_Y2^A;R_,.0&Q8OE@_,B M$>I8@P%82@Z@(&-Q!XZR<9:DSN@B85:GT]*_8Y]NRO9' MS#H8L4&?4RK OULQ;@,F@->05*<'5A'C3H$["6.V&#N/5Z4RI;OE'K D',W) M>JP_R'.'J&U%?HRRB[93%K!;G5:IF#E[I3'\L8>=4NW^-)IK&I]/<%2QJ(N&1D_SHWO\MML;RE?HXJ9;K%26^C MC*AN(9_?[Y:[NO0ZF>*M599?"?;^5%U"\O'#"=60V=%L/S;]P(>?X>6LC #] M/L=AMD=B5L5BEJ,Q^S\9(O\&MJS$72,O"=C%G1E9-SA&T36FNTJZN_SLAT[H MTDEG3ZNR_J1K;P-8O^Y0)'N51':<<_\;G(*3?H(ISE/N21O>X9JP7)@Q;/QJ MM[I$J!\5#HZ7X-/P\*OSXF^2C92+M=\M+H E$L_96$-T

R;7^^W MR/7I>CXA6QPA/N!.Z%>TT):]C%Y5&(>U5%C=@)PY ;50=+]&*#:XUT4./KU+ MDF3)!G!)>FK!R4Q92JMJ *.>5J>&.JF J*=M;@IU96H2< #A0[V.U4K3)*2 M$ AW -3VN0_8XWBMJ4\S;VZM:JTMA96 ;E='.7G1FV0AH0O"/""R$2TIS-H! MJ+WI(MT6%,()@S;Q9?=/5G$V]J*BI@"J=_J8JAF1D.5Y[TB#=3)@ 4UP\HL M)0NRE&Y0G%;WQ,:R*CY@N =0Z=)X#>Q,_ML#OT-;9L272?@'64]Y]>P20/^XL[KZTCRUM M;<80U>='\V8 DK^C+54Y@<"RO^=)%.,-JY.E6^0P)NGNN'VJ][UIJC,ANJ;P8B)FFJB6F)UVNP6:](=$/7T3RADE/HLM0#KT>H*IY1.F2*[TA$M M !F&ZGM4=*T@^K:FWE5$I"/)0J'2WS')T9)5UHB P"2P]>Y+1L+DS&:W;2Z6 M%52DM3(*6/NE,G*MR?FM0'^$:,$#WCZ@8I\IOH=&!6BY,D:K%\7V7X*_G1I1 MB&6YDLR$F9,X5-V^\JI;R@YEU6WU=\!5MU5$#^7+TMR_[?+E/GN41I17MT6Y M!E!"HZ="O2>!51/3P.\F89JR6-*)MIAE10L)PX8 JF+,!-:&J+%S/\W=4>H. M;^FLSZ+\*[I8RF)#T1<4LNP4\LYVO&AXZ2.OLPP'&0= [4P?D0_" SA%&PWZ M]H2=FKK=2A, 938]77"%G,EM.5>8;M[5DIU)JF>&<*UMK&;$M.UGQR?\N/=7 MY+#/_#QYZQSM^Y/3>HZ6=3SC/<_*7<-/QA8V?E@'T49*=XB MO&/I=W:_ P6XP2')/_+BH*P4DO*E15F7[XL^_^(A0CJQWU^@)!6;+3&5C,"GLJ5::2F[ D'=Y3FZBVWK9J>@# MA@-MI^C:98R<7!CBO0JW21QQND[-%J&B%@"\;">%%8I/1" X8;UK+:QW )*# MHPKK'2QA]9@Z='G(@<>PEKHD_C[^^EW)2F@L6[(/ \\>(+T,EVF70 M#I(+&4MW#-@ **OF1&M*(?N'753ZY 05C[I'7I9B,V\/8*XWUNQ*VLV<1#AR MW>\="T07R_V7G!'::(6J*0!+[B1-,^IL)O"R)/TM(DM,-NPRHL5CX*]XOK%] M(N]#,Y&7#4#_*HTQP_M!X*?T,A+N$%.7]$KV)K,N7[;(C9'WX&\HR&)Y3[^- MENG#+:I\WE"=3UX?P97^%S]>YZGHX@BOS^XS4I]O,FH,)J4WK +4JBR,6&&[ M&$:#I.[(E&%S&+&5=KK=3IH@PBI40Q%=8WQU8CH3.4&4HZW'T[](QR=L./R,(N7]P@\9A7 MI*M9^C]/_BA@IYX K/TGT:QV7(&S^3-B3A^_ Z(V&H!S@21TD:(*D4Y9X"/O M*KPEZ,G'292^%]1BL=BV8P"UUN.JRQ!,FJ""NX%C'OOO_33^X[Y4V:B M2&_W;@#4>(^C -U9 MMU\$#8>;))@K0"Q8G=];?M_HFR!YSQTTAQ1AT)P&6- MTSN7WER#'N+L$.ELO""FCW32!NDXAYCG*XQY]L;Z/G9(?.'$JKN?AA[D#Q!# M'9IEAULQQMX.'V[1.-RB<;A%XW"+QFN:O \A]$,(W9[VI5$;V=4#PW7_1PFV M#\"J\1\N:(WI_HH&42BM9X>_VR#\$,R!']]8.DD0MPES](YQ9&,>8AU08AV' M;>AA&WK8AAZVH8=MZ&$;>MB&'K:AAVWH81MZV(8>MJ&#;D/I%\YJ1= JJP'( MOC[;Y;4$_"V2T*O<,M(^^_Z#?&=:Q8"]\T:RWQYW,S=_XXT-,G-"CSWVQA%) MOP&_697P5[4%53>9^&VJV(GYS'B61-0*HN@^G1]%;X@8M@&3XC813>6U*C5= M=M\02U%1'NRIP< XO6.D8!4I5*D880K]1MW=13:,_(T1$12 0S5"12CF*Q'2 M(W#P,D1DM=.R4 @&8"VIYJ$0Z\FW^W0^CG#@>]QW\<6))!0H P03%S1UPRIB M +!?^L23'-1^4%"M17*N@S@76;Q8G4\9R@.14FC+(46=)I7G/BD-]J]4S.(F MEP';Y'!:]#_/L]/_CWU8FH<=TC\N2[ M:$Y5@N\4#!X -&SX:AX$-*1G[.#B#?5K745BWM:R\S>7BCE)L(]S_0YN@I&< MZVP;XCG<[W*XWV7ZRSW]%^0QA(JKO-77L$K! 82?^MSI(B=LC" ?95!E+,74 M)8<%$*SJPG$-5>.?-8_B.^1O'A,2,4]L( )M$P!YQLZ2T!('9_D@F5"O-64N M^F;6BE=,*:K<$ZE<5KS:0I,_\)5!7;1@G(N 1DSY?\'8>_:#8!YZ5V'LA"N? MZFMZ46K^4^O4_@_-*T3SOGBZ?C_0+!VI# ^>W_OKI&7!'0_F..L2MQ+H0\Y M^Z%R]AJ!'-+U(V_&#NGZ0[K^D*[O9_RYY](MF@5PUE;)4IPKMBYSSJ]O19P3 MH!$-"/TWDLT>8Z KT/KG#BO1QO%'[4JT^=TK6I)^9@*A6Y0GU&"FV2I5W\'4 M@5 I/F>[-"$3.)%J&=NJ!X"+6E.15L.F+6BV'.B68KK'DZ7?U \ MNT%QLJY M@W(;2EE,M=TKZXGC(8:-NB:K"09@2=Y12RNWTS?HLILPS")2=RA(3_VO_:U: M,,H6 )8\ \A(22)4-ZG;,I@UM?G&Z/8_TUUO7Z7C@#D/4>0L91<.%*OHWR#XB+C MHXD>F#4%<"U^5\F:$0A'EF4=6RSKV$NDJ&L$X%;[KO+3D68SA'1.D.?'B,R?\SOZ_6/Z"HIC%OL\N[Z[F9_.;_SJG7@X3^7FI(3L&$%M1 M*^"^(&X8@BW;FA-&M\Z.N0=EK$4$:%%4PZMRU1R;Q(Y28;K94+?N.P%[E7O+ M_#1="SDA+\),T/]+0O3NY/3'!SQ/5DD4TP[>J6I/.W<&8 =N:G+=B82SCO]* MEZTK9Z6).C>@ .RA]5*28F_Y*?GR6D@7GI1"VZO^5>-??1Q>L.Q[?='&*AGG M#B$[5J.ZP4DH>YA+W02 C^LLQ3HM<%S9M]!)-^'(XRA'4<)N%6-WB861;)NG M:P3 T;40E8X:.,)BWOLA\]Z*W=0>!$!LKX4@JKC#9/MY0@B2>C A)( 74@J:'H.DA:-KM("H.GNB&K$J,,IRC:0-@>VH>W-'0<@AH3Q)B&SI( MW9_U**:8+Y:I5JB9+P0%L-]LP7XA"9;#G-R5TA7N?@USYT??%>LQ=1,XMZ^: MK6.>M4J3=T$QEK-1.7$$A+19+M4#A&Z]+BCBY'[9V>KOQE4 Q@ M(6:B:8VK006D'#(VAXQ-2XG]@OS5FE7#/B'BK%!9LQ224[8"L#!N*4LE.7!" MH56JZ!H>M&"<'/;.OE;.DO\4ZV MP&[5!8"%=YN(=BO:1K\F+HUEYY>J/E#@:(T#[X[://'S9[6RQY06RPL_VN+( M"1;+!QP[@;!V>\!^7T?V:$""X5CQ?AUV[3N/7$MO<(J*QM-JV[VN#)0!01"E MQB_Z-%K"*%I,*:D_#2@I 2F09%2FB%]>>;\ER/$6X=\?,I MI??CP$L;%5UP1'F'MLZ.)V@72X/Z%#GXE*+ZV%M4>A0XS==C5_N7%A96IL2/E$[ (GA MSA5Z(GI&$,!G3)"_"FO[+3GCU?#P#B?+U:G@O9HD0$&WQIKED)$'EY$7;;A^ M-VG$_1T*W8<*3O04 MZ:$<_E .?RB'?Q7E\!&)2X*@G_9"8"^\%X^8W;LH=.B\*_!N"CA 9W<&<&D* M0J<73#;\MS#:(M=?^L@3.BX-K%V/I=6P@NMR"D:( =XC%X=>400J#_Y) "TZ M'"/5*")]$OR!3,KFEJH/!/;JTV*X< !>Z!9CAFYP\M"CQ#AO$J:D[*KM@H!O M=(C/F+"G9"@1(D,U: 0B;CB0N$UIAA._^)W4J4NCAJ/9K+7Z70OZ?=D998B-LBCF*&81$RXX\\LH<'G. 61UPLEVS!'+$7J"Y# MRB*B>D1OL-Y!N7VAGBODWIULL'H2::\55C7X?6^8F_2"%>,>R9$LOM< (V^ MJ?8*'>A%/$2=^4(9=XVC:!'NO[M!>@\@;0>B7<1R E&[)L2ZIZ%;IX@Q;D M'&^V!*V9EC(NL2^[N81!Q@#E%306H=:+7FRP&GVE)N&AT&-V_'^0(\NCM^H!P*+.3+*MJ (4;1.@O5C>(9?RI+LXI3T 6%-V M%Z>4*GCB+&']@,_0K>.WE*9)!P 6M.V$:4(4'%F>X\T&A_ M12)%LZ8 %M!F\C,C!X[D;E"9F4Y[TEZ?=-EEZ&Y/T69] M +#*KCK=1>H9U7!$3MT,X4KM!-F$S%&>QS'Q'Y.8K:P>,/^.HH[88HL!EV\- ME>C!$!T#V"<.H1Q#L *.QD@X"X!-YHB.0DXW','7*S#8 MOCEDMX'Q2A'-C&_:&, ;(6;SO"E!<.6GFL4EL !FZW9:J)(8N+FX4>*4.@5# M$170 &;-X8144&6S#HT'*=CC:8A$E_](*!:MJ\].F]5GY5[_=9;V^PHJSMPU M\I( +99G240=)-W(NA3UM,8X.MN5/BEKTEIW,ZTMW@9.>.-L5!>S5T'@U*QU M%%#9"JND676*.2K*FK8Z$(R2-I$.B;@\8D%;_A;)':*NB77,QI1GO97@ "9_ ML3(4F6\E^B-P-_79='O'1GM";+1W)Z?OY?S5- P8/SO$J[]^ M4',4-1@PM[H-X;1KM-DM]RBB&>RD >5!NO KA33.=LV(!R-@3T7H&?G^<8:" M,8,(5;I2>C(*\2.XROS98>2Q\1!98K)A+R_Q1? WRF%%+99Y6P!3U)B:7[AA MM MFE)087EK__;ZREM+I4;5I,VM0_[F! F;<1?Q&I'2V6M-/J-?EQ8W>EUTI!^Q M< +LG +VYB?R+A+BARNZ=/)QEG6[S)P+![I-B+NF?HBMP^25ZAU[ ^"/A["( M:@E\1UZ 5P[.#2D%[51#UQ> ^,]$BJ'CQ&!J(9GF+] 2$2+=HU$D683+6=%I M,_Z6Z=9/P,//0"5%T-I)3SF@O=_*9_%48TN$Z.L)P#G#B:=%&5\ *00 MNDB6+)!%=VH+CG.>+2CN.[I\H<;E1]*:AG&'!' T8G 5&Y5A@'1194HWZ)G_ MU&FA7FH,X'C&I"ZH1#JLZAKIPC!]YL4AN\62SN&4'$Y(&:)#84[C[GUA8<[1 M+,A#E0^0*I]7D3(>L<[GD#(^ MI(SMIXS[%\Z6YPMEYD0("2 >-W;66$G_(8UR2*.,NB&<>YZ?TOD%A8@X@7F> M9>0Q7UDB9F1N -KO,2H>]80^U@DM]@(L2E>)QF5Q/96>C33@:YA?AC#=AJ:. MQ,^QDP.=F57=C?*=]GP9(S(/P\0)[M 6D[K^33$@@+329/HW!3]?G?[]-7$( M_2?83:B"C3$!I)%>N18V6 IHOO[C55;(+J^:?*9]_:47%2P7SY3Z:.UO&9J7 M]XO;VI'YV@(A"X_G^563?7_?$0#DD2;7LD$9"$?S_M"5@>_[;TC_$)6!KS&_ M"*'NKTU^T8;%4YH7A-_VD=:CY7<.Z U;WA+ 7FMH&1O1#4? #P0YE*8=1SBE M5^VP50TL+BB[N&,5*2-+*")Q23KTTUXR]$-*"-VW%"L#O"+.9I[$:XK4;W3E ML,%)&)_61-2J)0#WJM<])JU65-FLS+BFU*"(K3!QR')0BR7_YO*%K3BY&]GR M=\+"%?_^VG<>_2!]Q*YM&<:[YOTHZ>CTCST",[Q,OYYE./"'NPHLLM]*>+R" M2@M++WAI[/6.;20$51&UW^!40TA?ZJIA/+GGXV,+D]*-7^U6$ C%7N'@>(>* M-3S\ZKSXFV0CY6+M=XLS@43B.1MKB!Z>Y#@\R2&1SC6*(H2J$^P="M&S$[ K M;B2BTK8"L#\QDZ"6$C@[#KIX"E=NF\W M\NQSJQX@)%*,1-B**CCBY*IVCJ-8LV\4P$'(/QA:5P-W. *H&CW#4B(!$2" M7:!4@O,3[D=@/W!H/9>I@V\ -N)#<1.8%!AV8UVIU55+%YPG\8! MVD>Q/S2CV/M>9WFWKR H79QFR'!.J: "NPKY78.,UV>[[$>S$X M>K(4!\M/ M;N1R4AP*U+2!$Q;O+DAA.$U,KMTP9HJ*^L!?%0;&23TCO:M(H4K%")7'WZ@C MO\B&D=_'*H("L#84*D)1C2M">NQ"[LL0D=5.RT\A&("%F)JA0JSM%AF]QK\9W]9(,I@P0X'W@G?RVBD8 4A'Z:C6H_=2H6KGD7 =Q0KI8<.=SC/*4 MM!3:XLYZ/4EVO,:V>;V7R)N50,XJ[;6XE:1!2=R=H>> M4)@@EE*FGH<'F'[QX_5Y$L5X@\CEBQLD_ W.*&)1*._!>9&(L5-/ ")N7>7; MB=ZQ=T@94OL[-T7[(P$0A$1[2SG(2(%C6U\(CJ);@I>^+(%0@8"0QNUH"Q4Z MQM;QTF#SJ'R[;($]UPF1YALW!7!U82=[,"805F(@0VL>>@\X=H(T"7*V^X)8 M%?]V[;MS@IP.V8/&582B[ '[E@_/B]\Y K,4@]GC;K;'8<:0>$VYAHPL7B_& MDJ^$2C>?GGB*"8>K:_\)>2FU9FF';IU.<2 FB_[N!48521RN4L "S#3T$>/^ M>(R4XNF/+J6&5\9$&L!2P-J/8&E5KN"^G(H1YL<;'+(GRY#'\5.\ RPGS(U5ETHI'MWUL(C?3D@#IET\;9,$OX80IRC;]4D M;"\M)M6LEP "B$X,QGX)B1WV 3\?I_S+5K=__O]02P,$% @ %8YD6L4^24ZW76'=KU(JDL4^NZU:*(M'=C-EDAV1+ZGSZ M@P7PW00)DB"Q.+LJ\4AJ8+UZK1]>"PM_^E]O.X^\T#!R __/7[W_YKNO"/7M MP'']S9^_.L3KLS]^];_^\C_^[4__U]G9_SY_N"5.8!]VU(^)'5(KI@YY=>,M M>0KV>\LGGV@8NIY'SD/7V5!"WG_WS1^_^>Z;'_Y SL[^PFF<6Q'K$_B$$_OP MS?OT@XN$7.#_2-Z___;]MQ^^^_![\L/]C]]^^_KZ^LW;<^A]$X0;1N&[[[]-6W^5-'\[ M:?_Z/6_]_HQY=O (')_C/@? M;P/;BKGE6^4BTA;PVUG:[ S^=/;^P]GW[[]YBYQ,1-;&B3,V10)_^%9\^-5? M_HV0/X6!1Q_HFG %?XR/>_KGKR)WM_= ;OZW;4C7]?)Z8?@M]/_6IQOX,D&6 M'T"6]_\!LOS?R9]OK6?J?46@Y>>'&ZGJ/Y1H)9VX-DK?XK=<'>$(T/>6_91H M '0;:'"VR?=;L )]BZGO4(?;"4@'=NES#[[+(#PU4Y0:/*+V-YO@Y5N'NMQK MX8+R.8I#RXY32ES\/W]5]WDW:X#00&L9EB6W0COEQ7YL ML4[2XEL[8+Z\C\^\Y(OAW==AL*N75+ +:C[\N_?<_8M-52GI$=(H.(1VYJE* MWW-1?)FE,Q%9"\!%ZI]]?NP@\U\N4]2T?(=<^;$;'\F-OP["'0__/PDQ1G2L M5( G1K%&V\K'>-VJ3H_4JXJ?X72J6@D'^Q10F\Z#_GJPPIB&WO&![H.P#J3D M+?'[E42[JHM5FN'V-IFP@QTO(TP$Y>F<\)Z&;N!<^NQZ].^R>:5BC=TT3O*XGTR=UN>KG.%U-*F5?%WND]B%D MGD4CLK1C I2)(#V5BSW0C0L+(#^^LW9UPZRD&797J]>K[&[E-IA=3B)I7[=+ M5JV]<+ND$I:E_VSL0MF M=U43?*#WEI@L"&=#@I DK CPFLJEGZRW&X=-%=RU*S9[6T9M>7OL;MRB:=F! M)8TQNVZ;R .=EI$G9?H3C_=+QV%&BY)_;EV?OI?:HKXM=@]MT+#LG34-,7MF MD[@#O3*AN4A_($"=K/S)\#/A>\%^7(5/P:O?9H52RYEXY*EVM?Z8-YN!-]8( MJ\L7@32,YT!\8C_D!\&+ZYOR^>DTN8S\4B)GK5N66D[ ]^42:S+0;,9 M9\IA8B^]#Z+8\OX_=]^X;I(TGHF'UNI8ZY^EEC/PSGIY=?FFH$X8^8G608#6 MRY!:$E^L?(S7^^KTR%(:"I_A]+!:"?OZ%!^ @=I$+@2)4M[]-O#E>]XU3?"Z MDDR?U)VJG^-T*:F4?=V*$R2["V3F$K.Y"3-\'I5DUY5S"JVP>ECC9(./ H^ MDI3JI&=R%X.#B,J%. M,O)$T)_NW#BFD*GMOM!+*[82<1H.(27-L?MHLY[5(^*ZMIA]M$7BP8?"&75( M&K12IYTR8RN\L&*Z"<*CU ;55M@]LE:KT]2MK EF_ZL7=*#;<:(DI3J5LSWN M+,\[/T2N3R/Y6%UMA=W9:K4J.UNI"69GJQ=TH+-QHB2E.I6S7>UHN&&#_L

(VW%\%N;_ERA).UQNY\C5J6G;"V*69G;!9XH%.FQ(F@3A+RDT'AEGI>FU-6 M&F'WQ3J=*CA8:('9\VKE'(J"0'-J-V/L=I#1&-B_/6XM9JC5(88;W[!))%^5 M-7?"[H8J.E<6S@T],+NIDMQ#%]&LTJ+EINA-HK):(.=41!EG"ZA!&>($= K,6OWYY%1^2DI_9"<>-9S0_+;>?BB34:UOMBH>$U7RA[_S?&F08+6^=GW+MUT6-X&X6"^IA]6Q*TY?[*,_ MN&F7?O@\N)?TO:>2J[O+J[O'JTO"?GIE_6:@8>>"JK!B\$HH13K;JB%L5B&D;TUI!V)F)K&44TCEKF M*B>-<,=4O4[%>"JWP!M+$CE[3Y@Y.?)K2M!,".E6ZO'1T$Q(*)+L^2F%T&G; M.4221,/3@*HTQ!Y7,G&'A=ZE4R5LSCU'TW$W845;9>^ _]<_?/@ MOE@>$RA:QA=6&!Y=?_.SY1UD"Q/5OKCCLI,%BG&JU!%OW'83O[>+,_*\Y#7_ MH!ZH(PN@M)6OPT 3F.CDO;AL)O$0DS\@OB4R/KQ(O Y_.' M7]QX>W&(XF!'0S[!:(U&M9ZX8[.#]J71MKT;WKCM(GSO(2;A(9[C2;DL".?# M1MLUBSRR]+S@%9Z@(6NHA1A2QXW);1!%9F-^4ON(V?8H>@:QY>'6K>)LH&C4#G%I/W #70?LBP"ETPPMP783OZ]@)#Y(PX=-I MSH94-@N,0-B4%J""2<1-$' 3V*6M!.,[>"K;*.@#N35D9Q*<>IUPBF!K&T?U M:O0$[!!$T'T8[&D8'^^9'C%#$-B/V,-A%IL=2%&GL0ON^%+1MSQ"RMOCC3XE MJ?N/"(+X@G#RXG&YE %?S!L:#"?0F2M+973!@+ZEW<4B;>@[O9QJOU M9S8% !R1V*>M#^ZX5=*X&+B-'?!&KIK8?=TXHTXX^07A#,Z"]1EC(::T8\3N M"PV?@^;HG4IO#\@;'&]O_)BIX#Y[0C/8;KQZL[T#7+3[& 3.J^O)3*38%7<< M=]&_&,XJ_?!&=2?I^SIYSB1;G#(^Y%W&B:2LOC8R0$]M!"LQPND8/ MUQ!O$#6+VWL26MHWS@D;B; Q5?0"?W/&)-@9WQENW,I#'UYE'4XW@?$&4$6^ M8=N^!G=[-6WSF@N#6]=Z=CW^G.O2=WB)EVW@.0P=8'LL/K9D/7?HCCN4NMJA M&&RJ??&&8V<->C^DD#/*MH7CH^E$ZNG4OUF>W]S>/-U?J;8110N^W0V&$VD:YP[T'>>A;1K/MR0($TFFL0(ZJ; M:NCE+(Q^M(R2)MN0SR!KCCLMF'4N3V]J6>..Q1=[!V<,)7;.I1F,K MN1=TL:1&IZ!S;(Y%Q:ZX([.+_FW9T=5^>*.VD_2Z\Z,S1OA2H,>S06&419,( M;4+;J:84X8$ZIY,G.;Y+V^.&KU9-*W.+^L9X@:I=Y &#+U F=;-^4Y.,D54U MC4'C:9CL-+;J.0GZ7+HOKD-]1VU%(V^-&WE:M"SBCJ0I7M1I$[AW)T\/3F.!* &J M^;;>)RN&UQUUCX0_""U]NK%B-M!-K2R-HA^S:Q7\4<# -[-M.8)V%V6]X%GA M_*S=88QP'"XH;^3BQQBE1<6<5A,CS#PG6SZT3:Y'FU6G>&)X5EV$E-:,,FEC MY!'7J*-L8)]#4EF+O+J&]SS;>^2!OL] J%OO;.#C6<\P'C8/_08N9V4[C.TY MH K]< >OLN;RBUHUG?"&M+KHVBYL%4X.3&>0CJY\3HH$E0M<7G'.@2?T+^F: M,B&<&]\.=O3)>BM,2>07JMM[X0Y[1:U+^V'-7?"&O*K@O3>.$OI$,"",0WE_ M?J3KU0I7-"=3/68Z&YYJ\T3VHGY*%SAD'7"';[NN)U"A' M*(*;'6,JFV\YF5X/Y^S;=P30AV&--I)-)KR!5B>DAFTET[M)FK:1#(<+O//K MQCM>:MAW(%&%S:>I;\O#I[D'[G!2T+:M7:1.WCU2RH;UF)+WWU=K)TST@E+US@J;A(MMOGNQVEW&<>@^'V(X:WX* M8,R'1+3 8U)L;GQF6QJU7?K0S@0W0(QCT_*K3SHYX(6AD?3L&\M"A 7)A"") M%*0H!HD#4A:$I)*8OO&"S)Y%<7['BY_%@U]F[SM_"7PN3>,+(:?-< .13*_J M]*38!B\82"4=,C2SV.44%^+1#A;;472@CK%IR!@*1D#Q[/_Y[IOOOOON/=E; M(7D!\O^3_/#=@OT)_D^BK17"U=I#O U"]U_4^9_D#]\O_O/]A\5_?O\]G[BP M7[__C_]8?/_A/XG+;23J]1[B*&8_ ,I9$6R6/S*GI+MGMIS__KL%@5A;\):7 MU$[^_)[_^?L%81SWU([=%^H9B?NEX_"G62WOWG*=&__"VKML.57X'B3?E%)' MW-B@KGLIR[VU%U[\Z"![[V3PC 4!'L3U2<)E08IH8R8'?E+]H;3W&=/?%ES, MO P46ZY/G2LK]!D^14O;/NP.'F0/7M*U:[OR9X(4.N(.;W7=RP\(M?7"&]X= M9._KWBD+DO(@[PI<2,+&3 W$*=6G"0]#U\]2O?BA 8.O?4BWU(_8-$(<(,(+ M,'UJE?L[8/JU MJ)S*ILF,LZF;<,:LDSSN4;*.RUGBV/I4WC5!CP=RW9JW$?%&=8.L0[?SJIMW M]]981^Q[&KJ!<^4WWEX90=-SRX-GTL93Z3&VPOC+4:KU"'<$=<1);H1D2[2M MLEG[T;:L&V[@5-6[2QD_O*"J++G>LGVFLR[&T?4D%8-KC"6@'^TM=0X>7:U_ MMD(7AKKT..?*C[FX3_!'&=XI]\8=WAVM4)HLJ77%&^Q=%>@;!RGU_-23TS^2 M7SG]ZLGG)-Y?J_'QUO7I34QWLBRE]EZXO5U1ZZ*7MW3!Z]VJ@NOW:N!!.!,S MA_JC:WYS92RK,#F88"NR50X7]8- M;PQW$5[/H3]C0X*0"$8B!8 P5H3S,IT$,+8-(F&#+"& O'-]X@2>9X418>MZ MD11@)"VQ8 6NF):D"I.Z@"%B11Z5JG*SUS *UK&5CD(JF,PK0BL Z@Q-+FMT8BI:CTJW3TTQ$ MKO)4/57+E+O,+#9K]&T,T$+[&45IG=1Z0[7 4>\CJ!R.6@#J<83O>0+1^)\ MXK]K?U%%WAIWO+9H67ZBM[8IWBAM$[BWMZ[N+J_N'J\N"?OI<75[<[E\NH+7 M@-@_GZ[NGA[)ZIKE9 "IY 8_]SY/E9_2CA M=O@!UBGG:'8F@S=0ABC3/XV1\R3P[1#9.PIYL;.4M;&,+8,V,C-OC>+5&I[7 MY>>T-'QQ;1H]!IY\,=G0 3G"BWP!U\-=J47F3//\8;7G5"]G4P3HL(8F;> M9I^3,FWI1OJ5V=QO'K;4S^2I@ZI M=L:-%MUL4$H<4NJ)%V,ZRM^[&(!@LR )(SZBEUF1A)>9V@D3FV%3,(-5-@,5 MO(QD99P?(M=GZXR+8/?L^A:O&6'_\^!&_.+G ^4W/6"N(DNJZD0 -R9TMT41 M%]1[X\6&'CKT3O=/6)$"KP4I<",).\+Y&2IE.J%!GD++CRR;JPX@$2;JVS7J M3UN>/+]&)K%2?4OLJ]K$POG^T7!_ ZYRN61OYL5DW"K@CO8 MZ.^C1.]-)D8Q*U*0,"8I9U)@O2#/G*FQ [$IK9(:@K[96T:!D@TWDR?,Y)\\ MF3#=&P)2:)3-A=HZX88#-9U/WA.0]L ;](IR#QOP&D=]-!6YZ M1:ND6E%G^5,^BEUQ!W$7_0INRX_H$IF6P.Z+1U1M;S 2AX_I6>.2W-NLK+TOM.R9' M[) RNK5/4U%'88<9P,97NG_8%S89\YP^(2#))4P7+?GK9^F+2C5UVHUL5L[ MRHD-]V'PXD9P[L!^3?=.8A#('-XR>R0#RSGUJ3Q#2=YZ#C@GU?(4HTZ:8L<7 MN< #O19>.DPHDW<);;UKG!^$CC[=P E<>Y#K5_4>54BR^5SK&6"U#>[PJ]6H M=,90;& VU%I'FGI9>Q\@T-C@45CA=MBE^^(ZU'>BM%#");4]]H_"+>2FKK@= MLXO^DNN/TGYX1XQ.TNNY#IGQ6>050A8D96;Z9N1X5L@H\Y(@=G)?$EBHU0N9 M*O-F&I>PHBUQ$O+$2<@B*IR2EG]/-6])"&AHCAOVVO0L0IVL+5YX:Y6X=\GC M].&"#,)&/N%7"-SQE<3QB6Q=47 M@PO"*1N90XRC(Z>":WXPIJ+T!&D03PDN7>\02Q=%\M;SPJ"*EDTHE#2=#PY5 M!=:)1 EM%%BD2\^$#FX\TJTL:DSZA;J;+9-RR0QE;>C= 5Z&7*U/ZONT+%]Z MD,&-8GWM4H2WKC3PXEYO3?K&3LJ0)!R)8,F?-16EH0I<,ZPTG21MSDQ68J;B MKE"I?%9UP345N$YNDDOJ!SNX\!6$1A:9J@HW+3Z[TO@RH%2Z6.U$8/X@JF<] MU!%!S:U[IS5+OAX6&&EJTFG(&=)Q(AD@X(@:7@$\Q#RO!9SC6;*.1H2ER6BO M6DRU.Y59XFF;5100549B=IC:JLBT\U),N#J::8IK^Q&QM36GPIA+M&.K(]T1 M,//L:E(5=;4622A+WZEYA+9EY=^="FYT[6F5\FNNG4C@1=>^BHQ:5?=B]>G^ MX>HGUN[FYRN#-79K#)&^U=P2,FH]<8=)!^TKR4YMW?"&0Q?A!Z0ZJ;Q8+GLK MV?0.V!0F6DD?+R]>!P9#Q=:;D3V@IO?F&;CRWSQ1K,CYQR&* 7Q3 TI, M/AHSW TKHU/KB]KYX07YD;6=UC8-^)C4[$$7IFK("')12P"J[D;U_@LGIK3 M3LT9%\QG9?Q,57B;N=6*HQ2R^6OWP1W]<*&@K>(\%2]PJPAM:%YJ9"=H.GN8 MNW536*(_%AZXO^+/VZMOW33VQ1W9G2P@V::1=\0;[=W$'W5+YO%I=?%?/ZUN M+Z\>'G]'KO[Z^>;I;T:#01@!8C3P8:Q=OKFRVX]M?6;B_$T:USI]78<9.'NC MV+W3+SE1DE,EOP+=ZA;*-$G"904O@YWE^A*KR-KB]MEOIP74-\?IHL[BZ M?)/\*@@;<<["U;Y/%,[5Y#.ODW:XG5*JF>2JKFB$UQGEHNJXA$M^%42-;3*/ MJ)N)N%HZ#B]+;WGWENO<^!?6WF6+F\88:^N#.]Z4-"[&7F,'O'&H)G9?O\VI M$R!_YOHD86 V0DUI;>:MU9@-Q]1)KY$T!JVT,>YH;=:Q_"AJ74N\\=DB;U\7 M31SMT!]WE':V1&E\5>V,-Y:[J]![ M!%I=W$@S,(P.O-.9(.=$Y$>SALH0AI3)>$G%OS?^Z?[H0^!YUT'X:H6RZ]?= MJ> &AYY6J90S[$("+U#T561 ^4/.A[Q+.7Y-W&2YF3#]'4DV>GX%QB3A; 9$ M,)NG:!TC1PP\N?LFB@[2P@V5)KAAH4Z?TGE!X7.\ 5TK95]W%,061) ;(P+W M-'0#Y\IO+%"J5:=SBW6TZ=B7,X1BC[$5QHA4FP08Q O3#6562PUP@\*I+D5( MR#_%"P@U,@ZIJEK)=V&_>@>X/$3N@U D$U;6 A.6,U?(E--L#9/9+FQ*('#C M\A RR]YSP/G9\@[TCK[R3^0'_6I]<8=F)PN4#_X5.N(-Z&[B]Q[Z^>&68$,$ M'R(8+0AG!;ENKZ*!J;37:2P!9/BP&JR3437+5W73CXR];RPQ@9A6],2!T\ZS M! *)#120H-)S=E @DW\,+$B7"%C!0+">G7, N;>.("]9AB$C2<7M^.Q\%O#C@BWS2$$20Q",WK9\C#@3L&P7V)N MV^P9ID+F/#R@)+%M0W/<\-:F9Q&69&WQPDFKQ/TK]V4/JI5?6@/JAI[G'%_9 M[-$PP]>V0:MK+WB-U&]KUW7!'9DJ^DKN9I^TQQNA2E*/6QQO^?@3N;Y=_?)H MZ+59T)L_@>M0Y_SXF8U^-W[R;K:_6=HQBSY8 ]4]JMWB_]J(XXX4O3:L/(RK M@3+>Z-.LWY ,"?XZ92H(>3Z2=R +7AFQV)1"07R70Q/R0&Y<9< M Y82"!429!:T,@&,E/DKK4%@ >';KD=+;SH_!8H6; &_D5CAAL(Q[2O=H=#$ M!R],CJIM_RN=F5"0/I>)14ZR[^#CCO!J&D?G8/$PL[B?9?C!W^$W&\R]+YK[ MD)J[#HO)NV3[F:[7U.8_6;;8/)K4 ESO(X/P7 M_[ML*:K6%3>6=M&_M$VBT \OUG62OO^+4SD3>(<^8<,+CA89&<&>R2W U;;D M:D]W2^>\NO,K6[7+&N..Z&8=3^[PG+3$&[4M\@ZZU]-TS@%)^S#47;T!TVJ" M^S3Q.I;NDM,(0FMUG21(/UJN#W.?E?]H>72U9K,?-IN(C_=,1U[G;0]?B\1. MRIUQ!W$W&Q2#6JTGWB#O*']?QP6G*E'"N)&-KZ-!C M2IO *Z&,"5AAGUH!AFXJL<$DD/#9#ZGEN?^B3FZ*2QJZ+PRL7J19;>V]<(. MHM;%Z&_I@C?L507OZ]LY?5(-_9R+H?">4'=X!X6\VUA\C>ZSI;JX?TC88IV2 MZ-7:&WL6)9ED)7,LB:7J6^*.X@;M3EX3*3?#&ZU-P@Y[QP/#7'L\[?S /^/J MN3'=&4D?/ZWAD6TF)ME1+2<.G0C@CLSNMFBN>B/KC3>.>^B@N9A+OB^?%:@T MNRD_H4DNMK#'$($9K"BB<<0GVIYK/;N>N=/+4P,\4)NRR84^PW2ZY[1BZ*O@I4(=3PC M_PAF2)X=3O1%%^FPC]$_V&MZSS+>9590"/EJU]E%O52!40(_YX8R]K4;0VCM M!?[F+*;A#A4 I&N3>^L(ZQ)E2YWVFUO02S1O#O=*ISD%NDQTS2&>+783/DAV MZ'1KGZFYKU43T8+^-MDL/ Y:[12IS"W2E:S2?7&?D9@3"J@I,M$B/V.,!"3& M-4YFA<+V?0_8V(?NCF/!=S]\_QW' _A+TZ'$+?PNYC)+W[G-N5<,,X0.3DP8 M;!E A=Y$S.*"$]@'2,:JRU\>KE+O<7,'PR:O_IAAA5/$BOQ:B,<_K3_V^F8, MQ*A#4G.6RK TY5H^"^6,D_43M\ZM%%7&7D^9L]%*R5EX42L<$S0V;0P/M &# M.W;%";M]]&]==U7ZS6G2U2"]_M47/ M!B\\]-!APKHRHX!#$%M>$SA,;)*.Q0D00<:-_T*CL780U5>_D> K$V>V9;&F-FBU+):;6=!P6:SD;CW4Y86R+R$M76-=^D[;W>Y. M!'##5G=;E%Y:5.Z-%WYZZ- W(E)64+4K&]((*9E;$7 M+T]&C/,#$XBR;R=BTU%1;CKY1/8L?4<2R"&SAST:9U8-_1 A\M=,ZN5RI6NLSA YK < (U.!BPQ%"%B_^MWD[( M=J4&KX/1PTEW6_3;0<(+)3UTF' G"--&]E@FX8"0;U[7;><@@HEKU[=\>Z3- MZ^[$9PDO/6VH #T=*<\.EOKJ-Q)D9>+,=O-Z:H-6-Z_7F05-;UX7UIRW,&=D MLT4V07-5]J&J[7JNFLCVF4F.\T-$NLIZM$DZ;KWPX=>,;17IU/0_",'AE M@1F1@^_0D"UA7@+OA6?KIHK;=8I/$JT/=)\L]59KE6AM:H\[6ELU+4:KM#'> M:&T7N:\'YY3!5\>,5O4-BO&TS79I A]QJ ;^YHF&NTOZK!2IY>8S"M0:/:5Q M6F@[DS"MDUA3E$*V)] F0!Q#D.K4M1BC>5ZK3DN591#'[_34[#DJ;&^H44$> MXOVL(MN04R"!& 1Z*J)G\^Y=!A)LZ/LZN6E7MYUO?%MO"MMPPK@/&0N@PX<$>IER$L4S"K:_>;/Z@P@.; M7:U\, O\'U)!7RQ/+*W2+"N>Z.4[Y3\46M[XMG> E8]X%\[R/H;!8<]ZL-]M MN[\-0.[KUQAUC!]OM"<3K,%22:!N\PC/CW&P7@>_ 8\H._!0% MGNOP? /F*S'-3F1Y9%_##0 3X^SC8;_WN#"6!Y* (#?^.@AW?*G: MW*X>/S]@0(+F"5G:RWDV? W7]16)J+1HOIZFRV M%^'5:P>.35D= S>A;J@2=["C3]8;C=K"L*8A]DB4Z5:IG5UIA3D>I;(.J(/- M2!).,PG+.\T/"7^L0DM7W>49]X4RA#II)NW%R3OHF3U P&2V:S*>OU4>? MS%0K89'*X#6OT>([68[434QWK05).O3'#4B=+5'*(E3MC!=LNJO0^WQ)<"H4 M+H(=LCQUD',;>9&O@"+3&:1IH7^WNN-K_9N[GZ\>GV[N/I+EW26YOKE;WEWP MWRZ>;GZ^>;JY>C0!']F%B>2%V?0%>=_)WS:1F%>Q*V[0Z*)_$2]4^N&%BD[2 M#[^+8_)-Y8E5=:CM62','Q@B^D%,CFS>9>HNTBK<6+[[+[ZIF1],P ZG[]PS M:]/DF57GM!RJ MD1DZEV*U;LVJKVV(.S[DNI4FUR>M\'IN@ZS#W;!8%>^)OL7DG+G<;X;JXHVI MJ,EX6]HV/-;,)OGW#'9LE[8-98T=<,=?NZ[%.)2WQAN/"C+WKO1F16XD'D+( M1R03'LL%@5K_N1ALG'QT-[Z[=FTH_']B!$ /#AX2LPTDB=OK==BK&!=#Z.&- M'"U::8TMOB@J"$!R"4@J@OF!$9_=3M>6&/UO>@<+-)B^(V,#>-HZV=,&- M*2KZ%C&CJ3U>3%"2NJ_O G'"J9-/U +:NYH,9F/>VS9DMO69G_\V#GJ-'>;E MP?K@M^#"!?KFQZ3)M#8=N _TA?H'"O5?H!P[X!+4BKLX1'&PHV'+"*3>&W

\ =Y5@?[U5SD?414IY<1K Y*4E_P($T,LM(UG';K/.AH:1SG5 MOK.-!WVC@%) C#P0JN0&36P/$Y'_,0B<5]?SV+KSAJT!_8W[[(E4J"B? +2, MA5UIX,: 7A8I D$G GC1H)\:?4,@Y<8W;G)^(IW0R/Q02?^VD;$SD2\@-AI' MR6X49AX=^D:(YO HK" QC)NH;&.HM#8D $7, $O;#@^6U[:AV=P#-R@H:%NI MJ"UKCC?<583NZ[_))G^6O,;]F'.A3I8?;Z@N9"I;(EJJ/G4*?*WUHI/SB#PS;;A3]YZ3M[9.'Q)FL[%/_4A*M!%-;2,I2B:2 S= M%RMV7^B-SS#F(-*[?>=<^D=U>A?UD:XM"UZ[OBKM&+Y7JP;?[-&&%9AT+3:9K7 MFX#Y<'A0891E80M H)C!H+2,D=K\\/;Y-O <9BEX MU" ^W@5QV^JYM1-.%.VF5 M1#:R37M+HXC2;1H3$]M"D\4.P-8C2,D5T5N@%I'N@^ M"/D;!BV;@O+FN*&@3<_2%HFD+=[P;I6X?XT*H,@O!R4\4'AIAUT_I9[S\EW5 MG;[V;O/QZ%'VN@0/DC%!-3)-80$DX7T?ND%XSY\&?X!3U2CBE5!Y953G'X>( M#YB7-+)#=U]S5#R #.[ [VN7TL7[CC3P0D)O3?I'1YG+@DW7=GLK3%Z"(SE7 M\BNOU'LDID'#N(V,+'VM: N3=_8/'%B\6!X V0-E 1%EPR:LR"Q>"] M/GW)BVD!A0?^J#!,HQZI?0C=.'F9Z-JR^4@A]!#_;4QE'$H0)^[HLU66YCB( M&O*D1SVZ]<]?RY9 P9I8^0,*>X$DD QII85#PDQ$$I5D).M$R&G3(,V:+JNG MDK,G9?XD%0 +/L_+:F;.51BN01E8D.3!C7X3I0_@)^F6*)G8+0_??W"[0)D&2+1E$K0_R").XGL45:U-DN,C'R0B)]+;RI$P8^^]$6 M54M4IF8#R.".]KYV*;V]V)$&7ESHK4GO^V3TM?1"58DE.JB8W#PP'_!C[TAN MH@@JTDE-9>1$RMY2Y^#1U;IM$=MZ0M6+$FY@&6"=T@E6=S)XX66(,D-W/OB+ ML&Q"(MTP(K\^\8FW:9 Q8:24)ZQWV8*6>3=;;(@)'/L+[!@M^'\)+=@+C!@. MWE?2"$/9"TZB #8S6*&"9_+JDK/R'V!E%3(,Y0\!\B]=':#T\)@+=&FT:#VH M:6 P![C3J::.&,]?(UNDE?0AFHO5@5.I #,SN8AX.Q,=4F*S[]KU+8:AED>L MW+I>P;JO6]=FPU!(&8(R2 4[QP%YIF27FMV*R1J^I1=02]]^?>U[7R!C(PYV M[(H3WOKHG^VV*_9#OJ_>58O>102LYX-GA<4* C"/2!^\2H+BV6+D;2JBP]Y" M&=6(N+ZTW;0;Z5/9JOX9L 2734/MI)8H(FC%!\8%P'2P./8#07GWF0%ABQT: MP5#2=X: V*;)2*!8G!ZT(F-=8_/P.);E9!"9\4,+DV-9I!8J/2N]-JC>+X3"[E'/PW=CPWCK4_*2W[@L]>=JRZPYZ M!TISB??.UI'LAJN2F0,^=%=&R\XVYWK&V=:\%XL.32:TTF&WL\(C&,G-[<*W M5PJSA 6Q=B(7$9:>\9:U>*&AM:'P]S!+1]SS^S5&YQ1!D^VN#S'4NBB(?/6V MIWZDMAK1S&(>**;3GG7PIH,^?MS3JN7X@+@@0B92%(HD4F%#2W2VI5'L[BQ( M?E@+*Y8PDB96A.L"5<0UO!H[?5RUXR1.@< \4$_=%O53MK;>^!&K@PXZ8J;N M)6)D.#.%1?+)F)48Q/#N;:X\/)A9>.A*'10:.LX%#-ITKP2QC! MKTQ!ACR9Y=(C9$@RL+V#PZ8CKL]W?RX"WX%5#*_3%P6>Z_#USKG(.2"/6VI\ M,5/[..A'R_5O@RBZ\1]C)C'\C6^VB;3,>QJR5=D.5.B#8T/YS _EM%BV#0,' M,9D70NI1M?=)>NV+M@L"HI!W(,S7F''3K/&*J%J 4+ M@#23LY,\U729/.6EF*W3U@LWPBEJ7<[0:>R"%WU4!1_^V%?* MTC*UY*0]W7:%"\ZM D\Z&4=J#,;&;_]-+:JA5,@"-O 3Q<$'C!,#Y#UW7VJ M>Q.IP]VG;MUQ1F9?.V1WGSKT17[WJ8\FO>\^L:5P7'O_*#A-.7S@&G?9" MTY3F$+RJKZ8AN\\TI4$*2-C@$&:74=77"&Y\OKD$X75^3#Y47T9UI8833C59 MJ7X9U8D4WHG24(5TK I.W_DH\%[ 98.T!9(I%P:CI;>K8/6T"8.(+9G"8.W& M8*Y(,#92RO&P>Z8A7"]+7RY)'RZ1V+*Q VY<:=>U5(A1VAHO.BC(W+NX(B4OQ\HY@;LF=1!H<<:9([C)%!O(52QX7R*]O\F?0. + MD=;E05=JN -QH)6D=U342>$-OJ$*#7Z= \:XC$OAK8XTB5U?7$5A7(@I]EL> M3^R7OS] 0:CEFUM=\%4_P^GKM1J YY8^P.>']>+UWFB C?DH=FT&V$F%4K'_ M M2G]:1/%)9.,FVS3Y%[4UF+DC^)CQ![5$5 [3YU&>PL5^.XW^)5GZPW=W?8 M2?VJ^CE>SZK5)/6MTHQ+[^E5 COPIZT^X,CZ;.5%%13 "^\F-^HB49 MQ!N:XHV5-OW2L)&UPQE!K=(.*&J9YX.GE"<>_NN4$V.%HB6RQO-RR[*.38XI M6L['-2OR:G;._O,(24;2XY[R#9-#N \BRAD=:Z<-[:UQ>J"BEEEZD;PI\FPB M!<'[)P^Y$=EQ6B2*+4BPAYHJ"4>2L!1N.O%KJR-J7:^>F;F7&5U-;%,F%UOY MO=9;X,#,EMD-Z0U3^@&NG+M MY$ZIP_S<^722U]YZ7BZM:;+7PZEU;RAU<.O3I[IK)XP*S7&[=)N>18>6M<7K MSJT2#SZM*;RE;F3.-)VF84;94-[)E"HNB$^-I%V6#AWAA3DX=\PUOG5]>L-@ M5#93[-!]'KBD:HQ' M>$/138N<0DVWNK6B8C^27RJ MHZ%UQC5#A[*FRO.AVJXXT:^/_LUKD=-^^,=W)>EU1C88OQ+>2)8K8QH@K!@@ M:C* H;!_M*1IJ-+&>SGT/+< M?[&_/ =A&+Q"T;5%LM5AA938GA5%[MH57?*R)U8F_[2;&FB,#0*0]MV/1:%^ M3B[&]-LAINT&=P&A,D7!4Y-')/IDT$AP_H'NK:.XYJ@)Y@=31(SR>JR5@?PP M1VT:#W6IP_(\R?GJ$TF9;4+$4KB(OK&$^+'11@CO'!=XJG M57GI%YYA&;B)B6W&"T (>/T(I'EPH]^:RDY(&^.$.#4=BYN*]2WQ;B>VR#O@ M^E-.E@!=[24>AKCH^?&<^O9V9X6_-=Q-4.@V,[>5Z-WHP)4^,W)EF>0:G3IC M8/":PJG>J5"-EQ44NLW-N^OU;O;N;=$\G&\V^!]!3A699,L7DKVCL:- MEQ5D;7%[G= G=3LQ)J=+ MDREN%QE,5[CO'T&8BB K3E;;"&=H-NN4U_&KML 7>"UR#G:W:>N.W5D[NEJ7 M])&6'6MJB]?K6C5,G4_:$*V0GY*W2SS@&P*)BW/IG#SEZ3@-FK,G Y239(DBSC8DYCZQ$X%@+/L_(KJ MM"?5X]CBZ41%R=QJO D',WECI>#*YS@#4:I)-L,H?H@3V.M%[%U:5U S6"EX M#'50[ ;=MA0::>R ,W[4=6W<"KK%7SY$06:=.0NWTIH@$ZV61U17UT)9,F<\ M$3U]NXX-FMDX7#=4JW;$&8K==<_FF$J]D,\YN^F@80X*$TH_>[H0YISY9.QU MRV:BQST\Y^ =R8;ZD%M,LV=)79_0-YM&?&)JD0AJJ/)4DB.UPFDGP--\ M,:<8NB#YPY(P7CB,,?L'96= M^62_#L5J/3??>]4U4KD+SO&FB[Z-:_9"^QFMVNNDUHDE.7TXI#]_D0UY;@45F](UEA M3[6\QC3YT:_[W:G#F)B@7%MN^+/E'2A_O)Q7L':M9[B!Z=(H>3/46?D/<$DS MA'OLOG,7^&'ZZ[D5N5'3#4F=]'&"[&B6+,Z3M!''.ZG2KV+_4L-N2+@H"Y*Q MXSNC188F;X!FMCH_%M[UO0[I/P_4MX\-5QO4>LXDTMJUKXTA>;<91(>"\+U7 MUX4GHC/*!B\^9#K7:=QX 4*MYTR\O%W[6B^7=YN!ERL(K]G+#5Z/J-,ZR@:> MQCL2BEWGY^DR_=MM=^+3]'%RX06H-+IQ2-SJKNN%/1D7Q@Q73QU=KWSB/DC;&[;;- M.A8=MKXE7E=MD;>ODZ9D"= E0-CL9&AL-7F"8,0(F]U[7-KMH>,W%^N;:UKG[: M? :.W2"TCHTL07Y!. /R'LEVU@A*__400#+C?>C:E.??\BKRE'RRPM]H+.YN MW#AP<\.V/"+.3@K@JM/Z@_X MJ74H_ MNAO?7;.(A6HYHJ'( A/\TAC^8#:&!R1BW+9<2M;-8R8XH=.BNM.# M;O'?EAY'31WHE8R],*\NB$12F0BD-\HSB;A@YF]G(S3O"U^X[ H+)2-/SW)[ M9.:Y="/;"T"BY7/$-[HE!E7IAQNYE#4OO43;U@DOPJB+WOL)%,YA00KK\IP+ M^37E8P8!IE+?R%4L*]HRQ()_KOYY<%_@"F.MKA+;=.F/.Z@[6Z)T8TNU,]X@ M[ZY"[PL.\!0G#/?\AP(S2?R;N=TUO3EL^('FS,RF.&2JKM;Y'SE0M9ZC-W;% MC0)=]*]/?9#WPQO[G:37D K!"2[(X^'Y']2.H9;@)RN"!^CO:"P>L@Q#QH3/ M;1?DF:X#-@M8K=>LEQ$PF-H^5G2JZ23AG]Q=?Z [4>;QGH:\^B.+F]6SYV[X MU:^KMSW[UJCSY.Y8D]7ZD?TU6L-KK8'?=.M)&W'<$*+7AD60T4,9+PQIUF_@ MLRR0&YP(0@J2D%R4!4F%(4(:N+A8E,?P>WA\>$.IH_P#[BJ+G,97QB>[F[Q(]NY8-"3,S#X4TV*) MME=C5+O//18:WY-1ZCOG>-#WTHQB1!C,,F&C%66+VT\6F_FZEA>E0C>>2;=V MPNW_:CH7O;ZY!UY?5Y2[=SUT1O[,\IVSC$$AM=WD^?3(>J=/$H;4#C:^^R\X MP'IA:]:8L9WE6NWD\%3W=/QV-F?1^FVI==UV>GZ(#G1&T!'#^NW6\.DS/K,2 MFMHLYNS00M\0BWX9@-4;BV8.,U,BR'('1V0CTL MD4P0R(]/12%"%E/%4DV;L&;]!H$A@S42%6VX3VVXY\+HK?1_8IDTP_#X*7!X M5C1(M%JG32LV'D &)U(-M4NQ9&M7&OAKN/;6J/>&SY82BT]SDEK$ HEV!6YP M#\?V#HX(%OYR2KI*R-KSK-7)J[5.;BT94F=\%Z3(F==T3;H8*>DZN8&6([F2 ML8DG3_^X..P.GJ@B8L7V]O-^Z?R#?0[!_!0D0X\2FH_+"2?@3V#=MKGJ0#;S MFKSJ4E8W1B9Y8;EDA(MV=MB37#A(%\L6Z"B@%+.I<[0]^-9^'P8O12 M V]A M9FQ%V;,XS+ 6L?.OQ$Z_DFT*?H86V%\:<6T(05&.Q/ M@I0XX 7TO.,JK M&F*(;X,;A%^@/?7M$?8P3OZ 5-VZ?RA!G,BFSU;9#N(@:LCW$O7HIN>%L^P- MSH \EU.L?.D&??I(L]B2GW9GT:SMTJ.,-H@Z02A#3^8A,%G5W9H/M0M)+E6' M=/W$X4S,?3_[SZ[G4>R(MNCB$\!"Y9%AM[( 3Q=5U+:+A+]_"B57@?!IO0:LBT5>R, M.V*[V:"\7E3IB3>2.\H_X &//)B!T1EPRC:](\)F1"DS0ZNXB>P00WU'> LW M8VBFFC[#&T;V>!V$W:->O3?NL.]HA7(!?J6N> ._JP+]:]]VZ]A;B*W(=&@KJ M6RMB'&BZ[*&<@!L55D$+8GLL%%V>M\Y:&P%R$]^&0MIMRCG/'C.&X28LE*G? M?Y>L#U8O12C[?>#3 M$WAG(/W?'L#'_#HDL^Z,-TF_+^!.,O9(@7QZQYUZOR-3=?"&1PTEQ'@^S#H= MMSRJ9)!C^4"E)M[TB(B7@0OB70_MYNJV[9$#,/)MC_'L5/2@U&5+- MUA,P.1(K9HN#C>O[23*QN3RS2S>R-IN0;I+K:(DN3=6]6[K@1@\5?4OE_AO: MXT4&):E[;R^5B(/[I@%@L CV(YNF\E<$S@^1Z],H>J0;_F!6P\6_MCZX/5E) MXZ(K-W; Z\MJ8O=UYI28P6MNB0B-Q:FK;9"[9IU&)5K5B#G>U_@6A M)7LXGY>^NT"#*&001-@\@QGE+:9JU1&!=FK.RW?+;*?H%]E2CP7(>[$J\U7;.Z M:FR($UK:=0-PD;?"-X-5D'7 -F!.5E1,U[UXZNR&M6NGEJ9S$X=TN";.ZL]3P+Q-^F"K_&Q'7EKG ZJJ&5QM2]IBL]-507NZZD979+O M!9A\1V/Z<_Y7'E09X #1&(QM?7"'I)+&Y4MY#1WPAJ>:V/WS '+J MI$#><*Q.J#0M**UO2T(\_/PH+9^D.S4$6=P=M<]V\A0ZH5\ M:Z.;#OT+E[L1V7%:)(HMWQ$U@SX]+O/TKVEW,*;1.WE,/6%#,CY9=H8AT)K2 M!(]+?1AUQP"U+TQUZ(L8J;I:( ,KU8[(\:JS&IHAB_$_,PA;DZG/&!'4Z#6E M)<[Z@=C@)=*U^T8=>*:8IAESC:NCAN8X$4U5S^*:2-86[W*H5>*^GLD)GW'* M2![^'5=5L@?*&K,R?#VAHBS.VE#3,\S0D#9'/!EK%UCSZ [\S[H59 MUO#$J1MC*0R$21E*3([NX^JI&4V18XRJ])JAQF9L25C@:PAQQE8?Z),B Q3X,XG6Q6\7T=V2V_2A*=6LZ(LG MC?!ZH5S4X?YG>D083S>SB'_MLH4M&]A>X+UVMHK8N"S.>>G)2&T04"" .PJ[ MVZ)^J&CKC3=N>^@P(!\EH9H^%2M8GG&>)H>9!M7/CY^L?P3A!93U:KAVW(T" M[J#H88WR88MR=[QAT4>)_N<4A2BH!DE$GH^$,R2%U8*FGOK7H@R+W/<++Q.)KY0-!(&;4D9>>!>B*K>>ONFR.KN0?N(%/0 MME0-3=X<;^BI"-W[["2MA5@B/FI OM#P.6BI:3:%QF&1.+)Y8]N^GF)7W+'; M17_%:>$,-@0[23_2TLGXSN$D1BCHW?L=ES&#G#]GUMU :;?9!G=);\7 YGUF M&=1ER<=:T9E[&F]TU3D56G;A]V!S2>HP^0+8_=?=2E0 M@PC--MQ;;*,( !(JLX2$-EW& HD"7U)DK!4W?A"F\2&-@SH]D6,L"RE:8!(X M*?)?K:L6D-BLM1-NF%#3N0@)S3WPAK^BW+T=N4 >,J5.HMW(7&!*I>G;GOH1 M%4]CX)[H7Q_B0TB+TE\)X9?/$<^$[0Z0*B1Q0X$.>RG.'5KIX841+5J--9^X M@UR%4E F$D &0V1;'OD;M4+RR6*"PDL OZ:2H=MT&-^65U'L[OB\8\UY$:L. MS."R G8TJ['2 X730X>&D"T#7SQ\[SUF?>J49XMM7:VGNCQ2)#M+I.NLW"B MM^#H9E>7#O 03"(+S$4*P(<-Y"8S(Z )>1=RVKSX+@,E2G:!'V^CK_&CV1U] MBY]>J?="/W&1M5BZANB7A&$RF_6'KRK%+P6YI'I-"UI\9K;RJW=K,(*4=HLQ M?/@#?AB";^CI-=!BPIS6EP0Z%0OUQYJ$T)<",55U#" +8S\#9-%E*!;I_S$3 M0(&IF#[;)=2^.% I6FD@K "I+PI82@J9@!808"[@HL58+.[_6Z[B^L--@ MBCBA0Z.ULK)0P\@AKQJE2;D!Q\X'\418ZM;ONU: MGOB(6+Y#-LFE]@7Q+/LW:+7?'B,7MHFCPS.4J;*I>&=\S14EGKNF_$B( U4< MD.?2>]M'P*HUTY!3MT!']JOG!:] VSZ$(=2578N-:&C\#4,]_D0W/(_&6KL[ MT=/W#ZR%>(\[(J];ZF>?IW^T0IH\EP8G5\Q],_I1^E0M&"97>Q]$+C>/PSXF M[]@7[(%4UGX?!I:]_7K:@EN&/4>P)[(T[+JCTWPDXM\1EV/ZDEV&[?:TI2&U M:E0?5%A05!W[A05:>@=D:=L0VM&]=80[]I<'^A0\'I[3XG!!6-W['T8)\7 T MS#J%ZH1]R" ??@8J-7#8<0X4AH"H1)QC0TCA=4LHY4M]/OBD#=@/N[U'.:Q MP[2^.K%L< (^WC#0_D?P# ,"'QD<]@-\S)4B>Z'5U,41C9@Y*_;,1^"4,4^6 M%<9(>"_(I?@FROQ-E%,T8J<'&L/KJ.!2.V&8)MN]9R\,7PA MYBHM:78J_7!"=V?-2YFU;9WP;BVHBSX@41PXD *+!4F8F,YCFTY[+V=A(J"O MV"@6'"GEUX#K%)882*4?[H!6UKP8T*V=\ :TNNB]\R\3#F>A8%$;V4;">7S= MV:P UN')I%&H3Q.NY)GZ=.V:R3+-WLZ\I4S05/-CJ/IKD=S+-:WQ!V'#=J5JLB=-L,;?TW"]CXO )KY1IW) MN!M#O8L@W YOAWL*(FYOC"=#^(M#<7O1B;PP%ZZ'R&;-[1UPAV4:CJ7 M)O"-/?"&JJ+;=MK,S-\GT-K("T7T.6;3@3CDIUU-A>SK6^*.R@;M M2D\/G3;#&W]-PO9UO[2N/1P W@;^YNR)ACL"G$C.*C)9=!ZD8D&Z YF>&)^& MZO*2IK@]M4F_HJO6MWW+ M^7BHIEKK]3[:OYZZ+'TII(X;7ULVW_J"L__[T'UA:X)SR_\-_K]:_T*C>.D[ M-^=7#S?+\^7=?Z7K!C?P&UY/U408IUOKMUV>ZZ2#*O;4)ZTZ]D\]V<,>D\@Y M60?A3F1,[FD8IQ4& L*FU<3FXA)K$U*1FLIS>A*1"__'IV!YV!RBF!'XT/0R?7]B.(-/CXT* M^>(]*6&?-PW62\-<"68XKZ$;QY3-E=BWYT8\?WEO'8E%_"#FOUF0+)[(2F@J M;'*AAQ)(^86$BAVOX<=F6B$3BXJ;0* %>?^'!0%5@)90AGSX '_Z\&'J]'%3 M)L\YDXPUR7CSM'%N*FZFI]Q,3 *3DR0,]LH=#OS1R!'6IR",-]:FY?6QTU8X M\;E%J^+,J-($[[1()FA?_\OHF9T/C:66N5 JGU?"^OEDY7S+_ -%8BE87_0CB,'TY1=PG5++'29?2VQ* MI-9UBF'N/:%1U7P*8C;K=!@+$W'YV4\*2%"':QE%!UAD);?H)?9H[80[-M5T M+D9G\*N54L]P.,HX""-1\W:Y1GWR<6]!?#J*0@H7AK2J MM-RP.3:@$]F'KF^[>ZBY9.QMP ?Z$G@O;*)2/GMLW%-JZX,;-90T+L)(8P>\ MN*(F=O_M^H0ZJ1Z\&]V;FDII#[8!@G62N&%D,*=Q#,]?"$6;S\CKF^(.TR;] M2H-\33N\0=DH;>]!GQ,%=TQBT>QQ^1@J%HY>/$X_,AM],!/XA;J;+3STR680 MUH;>0 5"&L4/;&AOV")H[H4[)A6UKFY9-73!&ZFJ@@_965Z0E -)6)"4!P$F MQO:QQE0\4]E*5'93E?E-P7=61"Q(D;2I'QMY=*F\D<>F$+3##G2I.?YH;M)3 MOO.>G@"VO//HF/L@E)-Q*X@[://4K3Y0[]\09W+RUZ3Z^3M5YEH;L@"4>2L20I M3S,3[RF-DNK^G.ENU^L^^.I0=B0-;Y)$V\!S'MAD(71MR&&\%_,$-HU8K2_= M:!]$EK=:\UW#VN?H==+%"13:+5>Y-S2,*/;T5YTJ:LJ$C5,AH%Y-*D4Z08;Y M,X,F)Q&$WP_B6^;B!683%X$,6Z^:R+(@F1RD( C))8$[0:DL\+,XE[RK>CMM(?')BO.96;OQ"U/N2U[6[2X X9AIFA=Q[?UPXGUGS*> ZJ+W7^BE'(H5&E,F9E=\8^O>K.7$H7SMOO'G/-JW5YMZS"5\I=K6 M!^Y)\SF$K%SHX<&Z()PZBIW4*?0E:ZXN[EW4DG/:4OT5NN&& E6]3],;Y'WPAKZRY,/2'J+"UFR! MQ\+D_'Q*U9/%>9#S,'U,H[ ]C3]4:_21':,@#L$Z*8>G%IVL\],YZ83SY'-,SR MQ7(]/J$>__2S6 SLPO(MQ[5\J 36I2YB;3^<0=]9\X:JAJ>=9G'ZJ*C"J#4) MDTGE.LWIY^4(+9**0YZ9/*:+#(Y@F]H:@IG2O'X@IN* 8U@@5;9B"GVP=AV$ MU-WXE262',Y:VB.&,15-,_AJ:HPJ! MB8)?<#' ]:/8C0_B*)K-XUV'\@2*SX]+\KIU;89@-D,]OOVU.5BAY<>43W#V MUE$P@*IBXEE!1C!D,YT@A.9 1-BMV'H-'Y)H3VV7M2#&PQ86(Q%E*B>/ M8,.SV8<0KA+':?58* X=I:5AO>PRB #QKZ?%Z5&=(2%^>@7$("R;4=CL@6SA MP86E[_Q$G0UL;3'??^$OCERZD>T%T8$9N_FUCO[T<,*^-DO5'_5V)(9W(3M< M)0W'IL570P!\$^8DYTX*[+4_+!*%<2'HV&]YP+%?_O[(QEN>;/5H4]\*W:#F M-9&F=C@#I%4S<'QI(WP.W2YJ7T=-B>E^-:3-[1*VG_UL&E+[6$A;6\3NUZ9A MYH*RADC=L%7 M(\XD3SJ>=ADSCHJ":IZ;;G#9,JJ"ELFG(_I,+F];2[X.HXD3IK1:;.B2Y78. M169UJ&5@Z7)KO&@M/L/IF\3<'0 [5^L"\<\1=:Z#\"FT().@#G]5.N%$C6XZ M9Q.=UA[()SWJ\FN: /F<(6SYN85P/S">?.LY%ERGG1:-;P3! :[A%4$.F!#& MA21LII\O3:9YR_=M=D8EKA92+["&H943-OL M^@1:BINM"V+7JFDB&A,ELUW(U?HZ/1&]#R(7AK.KMYCZD?OLT2LVJ-"P;HS3 M3WU6T3[4B@WHT)?T;-!DL(+:T6=!,F%@/,W$(:D\Y-=<(E(0R MVVF$+7685=C5Z-HTSN:M9Q,<=3+K\_><.(H!=QQ=TS'7EREK(DIS54<:>8!^*/E^K=!%*W\_&]WM'T\EO>;2T"V:%X? M9Y).IO M7 1^[/H'U]^L]HETLK2 3@1PAVQW6Q3C4;TWWF#KH4/?2,I8I5'!F/&Z-.0! M$FC@RA7GM$BK5!I9W1LQB"L,$C.#\&HU8VC*\IF]=8 M'N#B@LE$TF0&/J?I8DG!Z[3?+%FQ/WW_U_<9"_G5 M$FE+G(ZEH%V6'?LGB@/[-Y%Q MMZ7DK^\)B .#L!LXTR9;CF2(E="(:5:(/V/W4$92,OW>,KJZD>6#,K+4M$2/ M+#+M*LA2;38+9)$*/3&R?#"-+-H-D2++!T3(HEW)]'L;#5F^5T:6FI;HD46F M7059JLUF@2Q2H2=&EN]-(XMV0Z3(\CTB9-&N9/J]C88LOU=&EIJ6Z)%%IET% M6:K-9H$L4J$G1I;?FT86[89(D>7WB)!%NY+I]S82LOQ>>9^EMB5R9)%K5T*6 MTV8S0)8&H4WLL_S>&+*,8(B5T C1/LL(2J;?VVC(HKK/4ML2/;(H[;.<-IL% MLJ#:9S&)+./LL_P>TS[+"$JFW]MHR**ZSU+;$CVR*.VSG#:;!;*@VF_@5- MGX)S>F^Y':-?B< \@E_=%G6QW]X;?^AWT$%WY,:8$.!H-_2DL .K6*#I) MW-_16-PF@-N3R^6]%?)BX2E+,T5\1])>7 $.PA]-Q")3*.0WERWO@F_Q/&Z9 MK:/B%_ 4\+^=,VD!FJ#Q,@R9LKR?[%*,%L*XHUR?[8J0,)PJ7OS0J%O?<"N( M0(0,1 AQ CJ7KG?@5_[$A3E8%_"69UPVD@A'BM(9@24$1LU,13-3\9WBLV=N M*NO5"LUL,EY9(;SH&MW3D%N@>ZAW!DW3'6S0>E:L5)/O'#34?[>EX,3 M-G"K5T!$Y5;PR!.7%QH^!RUW?B>VQ)Y9(@)&1B8UC_:6.@>/KM;GA\CU*9NM MV?\\N*+@6G1^+/S6]#QC#S*XD:"O78J8T)4&7G3HK4G?Z$@9PO"8LB1%G@MX MT+?P!^U/+G:(H7NFY)VUHPWWWBM- M4X4:K[R?-)J'J\DOO)=;X'!OGFBX>Z Q6](P\ 1F\KRF MYN8X_4M5SRS#J:$M\C0G%N'3UHT(]42]OK#\Y!#P/0/&).-,N-]>IR2YB#H4E4UHM%#S2* M0]>.J;/TG7L:KH-P9S$%'F$K]K/OQ@UYWAWZ(D:HKA;(P$JU(W+NO24,U]A7]$+#V$T.443">! 2%M&4.?V+Y4%S*ZN,;EO1=D&L M-8M&8I'LY?8DIYR#GBNJ*;]NJ5]ND*H'3!VQA4) KAV=^+'LR>R>,^+/WA98 M$4;[/5-)N),VK:<*NZ8_]=M^%G<@T)"'>!3W=[ M+SA26CM#[4L#MQ/WLDCI**X+ ;R.WT^-03-7>0H/?[LK92F;1PU8H_&YR3;P M'#:+$HO 6]>G-S'=5:<)"LUQ^K>JGMGBJZ$M/J]5EKBW@Q9HISM!OP)YPND; MF--/I>WO^ HQ/IH8GI+,.9 F?>A>I-'=6^'/EG>@;#FSBK/#22),[AUVJLXE@VAAP\DM&K5-[32[%;@SH8USC]+8HT6D%1/N!!\ 4?T?(3W0@2(0J_6:AJZ_,;)D .5OHNA GF O S(3,7"8Q92]R_@,. 8I495YCOX+.Y(3_Y]" Y(X9D!3<[ M*MSW.T$;"YLX,DM-U6%KZ)ZM!(P97&0(GI 2K*%=$G9E"RD#KPN2_U( MW.#(=["2I^6L#5VMEVRBR7[X9(6_T?B"S1+!B*%KT^AS1)T;_Y*"I"[RY\.00"9ATY%^L_?%;[:HX/2[UU_2MWMO-"H1K;/$DC$_.2Q^N7U6MU)*..-#6*W"AF#;9UR#2;9\Q*O/ M#'F@P3\/[ <:>D=HF@]I[!,_\,^RH_H=/ZF/TBSY\\ *>?;HIZ1S8#:QJ<5F$))G )T).?.;.)FD"Y+):NAD$+7Y+WCZ?Y0@ M=%A.TBZF[*>[9BZ8U*>B9I 8%5[=>+NE;#+*Z\Q;;^Q/[]A$5GSZM9$R0L7= MQL84Q?J6N%&S0;M2-:#39G@QJDG8WI>VRAOD1BY93*A?TP$ [MG3TA&W@2SO M(_79&ME33]H:FR=N))C$XEHF4"H,\:+3-&H;G$+E%[P"B>@:]>#?^#TE/." M^CN,&=]J2@\^"UM1>?*IN)J4%+3>)ZC+"UM/FZR V^8:AC!16B0?R,0W*$[* MA*Q$"&O@(AQJVV>ON M8=?NZG%U_PMU-ULHBR62]BIKVN1J9YIYIW+H,Y@#SN%N1&M*#S.'D<>[US6& MDIIVM3-I1+'/=R#0UPN2RI3E)9]N:"6I8YEDYH]?#5M6�W/D6E@G\>PJI M%1W"(Y='7%%O/FMM[( ;G=IU+8*-O#5>[%"0N??<-2&=;DJ+(A32,\'^SAN% M<<%QV6^YT[)?1.(KFY-DX1EL0FNW/,3;('3_Q<*7WP1\7S%0MYXXW;B']N#/ M';KA<^P^P@\KCYLS(@FG!*;$@K>/PNS2/_^PV)M+:F)LNZ511.EJ#R^ULB7V+0,P^D!]^FIY M\%:!!$/;>^&$AXY:%X>ZEB[X8*&KX+V?GN#T%R3C0#B+!4F8\%"#0)3!!HWXH_2R);RL,>YH;-:QM)U2VQ)O++;(VWMCA9$E);KD M5T[9R)!QHN2MY%$5I0XS<]4371O=]1;OTRH=9-;IMK>&WE:90%VX*N7&O,0' M7[_:13;Z\L'/ ]^)1 4I>)7@$$/OSX#RZSJ%W/0(.,ISRHNT]#9_:B6G/GUV[XB*NDX",KN] M1_FRLNG[U?GN-;QJ* K7I?6%5L^>N^&NOO)!9>KPNW1'#FD]E=&$(1:T,V&>0GTQ0#L;?4.7B0QDPW$'OB3@<3_L;GHH/ Y\?DPZ:= M@GZ4< *O!NN4ZG)T)X-W-3=$F=[YEPE/?E] $"896U+@N^ WM9(6!CZU;KW^$[>^)?5$)\XMK.8^I5K]$ F/L8!E'$5C]K-UY&Q?=3,BSG M#.M45.^*&!([ZI\!I6(_Y/#950M-FRD;8 MK7\87QG'Q6?981 E]!>1&V:!O M 'JGLA+G0P0C,$7YA:!\[C<:J#5#]51F^/=V;2?>'DF$B*X9;D!R5>A;WL4A MBH,=,QBD:P;^YA8>F!0)G&H[)3V)XL12O3:KWS_I0Q'Q>E&/7CIV55(!"'R7 M)!6!9#*(=&EXL)F+09(D:MU;+*TWO).TQX\4KH[NMZYM>/.PJB?1Q2LE:["_S/OLOFR3R@HMJW:QH;XO2U=MVR55=M*^1KK&:9 M-:RH0KIAK"-XV=P[0#8&7V,)GN*RP,3'T.-H#"]YE90R\VC/E!J:6/5TG(V> MG.A4IKD#R.%$*UUV*JYQ^M+"-[YJTVC@IG;GMS&8:JZ:Q?V=I+[ MZ$DAKX]!X+RZGE>^G\[:,*=Q[JCL#O9XW'!BP$16+LX?1F*%=WHQML*]T^83 MN4A!,*@*EHI&BK*E&UL[7UK<^,XEN7WB=C_H,F-V)F)V*RT+/E5V]43\BO+.T[+ M;2N[IO=+!TU",KLH4DU23JM^_0)\2*1(/ F0 .5^5&7: (A[S\$%<'%Q\:?_ M?%]Z@S<01F[@__)I^-/1IP'P[8/+T'468# 8'OUT_M/1 M3Q\W#?8M;E+*^BY_N\_HW^\P.\-H(A^E/SUET^O<;SZ^$"MG T^I*7_I051[]U">5=/XHMW]Z5K[3_8Y24'EY<7'Q)?KLM&KEU M!6&SPR___>W^V7X%2^MSX0.1^W.4_/ ^L*TX08HJQP!; OWM<$9,)DQ374CU!-Z O^:: MD6HJ=]'SKT'@_(!;*KCNO8/$\!?NBP_ZB^@1A,^OMQ.;%BR7;IP,5\@-N/B,(3> ;PN;;V*# MW:PB5D$8HZGD&2P:F+BZ=C19O3["#8,X8L0&-9%PAO0N3[Z\.6W6ZDWD(S;8 MX;J]B4Q[36BVAF\B&4.SNJ[GFXC-T[X>:_LFTN);TV:=WT0\8H.ZK9@;"KS2:2E5O08UW6;,+ M::#M_0:Q);K27*:;AO39&WV!* -<.T8.,A'W4A4 M]M8UD3V?UIZ #:!)3.AGKT,XG?V1_/[6LM'DMI&M%>[O:J*OJW44!TL0PGVA M#7\6)C^4K1SR1[19\S<2F]QBAZM^.#TF(1Y0]=,7SUTDRF\F*UO+NLJL7'0= M-(#\/*%EQ^E&1H;(F!8UD+&P8Y$I:%VS'4H+?V M%B%(N3:=9S^^W.36=09; MSSQ\J/OHKS+4T>B[FOD)\E\UT@M/^YK)O_]W57K ?DI4:JX/J 'OZE1O(2FM-#N@.;G[E9M"R-*Q' M7$8C.0G-Z2'=#6P@V(#T-X_KT'Z%GWST+/\9V('O6.%F.I_#(>UXI/P6[AGK?9 M5I&Y<3W.>QJZ"[#-Z2%=YKB 0,R"V/+2?=GEYBL(%J&U>G7M20@LR2K@^Z8J M/:$&(]ABTEH$[)\6P=L78#O)G4_TAT2)B0+AP@7.@^$LM-#557)H;:6Y1!VD M%G@%7!4.$>[A[S*IT'?D77HL* ^\QW - )SM3]T8?>GBX@1V[^CB:/!YD#=6 M_*/E.X.TY8'8?4HD+!37"^Q2=SQT334(&]7P1L()R]1 MLC+-6_*L%^#]\JGF]U\4=B77%_(0UO2D^.N_GX[.3T^/SB_.ST=0^^/1Q>FN M;T563,)R/ZW0SIN&?ZP0I:S_K,2757*9Z;/]ZGI;Z.=AL*S54/:U@+'300@' MPR^?AI\&ZPCV)5BA7J,K4Y"SD++QYI=/HW;4_I>U%<8@]#:IF2(@L%?2.#!8 M^I_A/%!E2YUTC-7$/4H6^@U.?'((HM[_^Y*^+:H:ZPF1C11<@1 M(GD)%.])T5A'3F(,)L5?&X,"M=.YWDF^ ,4C Z4(]!Y? Q^_X=PO8HS^F3J> M8]#AIC^[0K$9'K_,D">^!H/](L9@P-3Q'(,.=_W9.<[S9OD2>#4 E'Y?%N)L M/#H?ZJE]>J]SU9-V^"W1_^;=?D6':!B'2UTQ8X!@[GR.!VG7KG@J3A[=^3W#J_@;FD1A!NB6W];RC!4Z'W/#R,[W[$_+RW/*R2#K >C5,HP M,.A]S\$@;[,,SZ] M L^C85,L5!;G?#PZ.]<9$FK7N\V/]*X N3GAWO@/>_PO@A]%>.=/P8>A]#@EIPZ_X7#E; M--ZZD6UY?P-6B(],PA4U!A@N 7)L.O0(Y$$[NP[?PI_4+=0P)8U!AJ?_.3 = M'NB7NYO&NK%!4RAK*#@T"7)X.O0(3&!OG:3'GE6W%BC]WA@8Z+W.54_:Y.?3 MR9^^[$?;2PC!YWN0IZ!+8B3^\ A%XF_;AG^^FCY3AZF;P_.O-S>SY4PL!^7,K>DG:6T>?%Y:URJY8>'&4_V3'S.P'?]\* M,IW?NC[4B L'59 &96(B]_FJB@\M$7'22RZ4CI<+E,KZPPW,"]99+U#$, IKIZ$H(%VRHOQ 56P!-)#A@1 MTNSR($8/(*X_?"&6[1,IV 4DW$HRQ%AD.3!^<^/7/$%8HCHJ"QAJ]HD3HN(2 M;DDU-Q.G;=/E,00KRW4*20+BUTP/$9DN##4+^AL?'1V-1QKIA7:>D$[B!WZ^"IZ MHL\]V#D%5+!LZ'#M6$X4\^0N7N$^_'N49E+$<()8IQ>DX)=0TE+A#80O@0Z\ MV,^I"4?#S;OMK=$!9YYZ$T,/EJJ]8(FPH,8O%"@,Z!7*+$@J.T(6,NF[U>I# MX-O$U5QMV5[ QBX9X7JY&:-Q^Q0N?KW>"T@)HA"NF9NQ-"^DZ(.+T&J"1(KS MG[6Z;CP0/?QI)*_QCK^"]&QG0_@*NA&B$;!$GK (;OSYT5XJ>(HKI[9P63'# M\>A<&T:P0%@S;;"+:3S^=9[N7($;_C.!_:J]XX:PT$J]0.<=F(V]]R*HEJ.^ M?.\(PB>I@@.C=HFP3.!#QR&N_;N0_\Q0R$RVOP0CE%KBG9.^A9 M991U-J31GH)Y+]$_T+FL?6/'47=.AP*YJ:["^L(:8R]E_\@NM/%>A?HW(S9T M'S*M7L\Y(B:_TMBB1E>FA=:-69^W;Q<5=(P/+J#4*NOM&.IMU"?>B$@O:76I MS3%SG!#57UP^DQ#;AY1OBR(:AR'[LLZ>1IJ%B SB7R\@0=[L4AR-H&( M=EPF]R,]YV,+RB*D)C=C,BND"R'>X-HKIAMS6H"ZWMY1E6+\P=W$<=RTSX^6 M"[<$5];*A;-Q07C<40RU8EEA(ZBP;N[8=\HB0349[]1Y0N\=^F#[SN[$MM?+ MM8A6%*J70BDE)I\.^E#_['IX\4 M2Q\>)P:[/X:C\,S(*/\6M&*\XZ"P@X7F81HFNG823\DC")/DM'1O$ZZF?D12 M3@BB XI+3TJ3#+7N>*]D/)ZLXU?8F3]VDQR>7_LU/G@EH!^E(>?=\^DNBM;L M7$I+?_"(4S=*HXZZYQ ^"SU+E0\VB2A(J2^IPX2YV]]&TWGJ5N/8XAVS9LU] MGL%_?;MY@-N[Z>W@[N%J^NU&UXU=JH6M4)0M#;9TVP<@;\!?@ULXLNHN>VT3 M=J#+Y?!_#MY9+="2;A:%@F#Y8$..M#W88$5PWXJR@"0N+Q"^N3:(G@,/OU;! M53"8#IQ"&7]N^C4,HN@Q#.;8 ])""8-QI4DA:\'866CA,TA60U^!#T++@]R= M.$O7=Y%&T--]69)'G%N.J7)9<2?CT44W#W\)P-] 0.,O.EYF#]/!%>^+ZZ< MV7"9G?HEGT!RQ(KL'BX&E;T!@QG24$A)AX;E"PL=W8O:':[3;D+M2AJ,/*LT MQD>?PWUS4)8U3_U+WN%0ZQD,OIAL"F+-VZ7";1 "=^&GMW[MS2RT_ B]\1OX M7RW71T/@$LQA&?PND:,%W>@AAGF5.TU58/R6,8G+PFJ3=+,-6ZFO7!&0VOB] M9>Z9+8E:U '^QBQ+U;Y215AVI8<>'61FSE=CN6_.]==0^FRY%OB9==U>*P;1 MS3O4,]0"7+^'FSLX^4?U1P5$3ZZ2+^K&58X54MM:D74)JK-E]E81V="]!#[ MN]_!?#-$;V*IEK9U"K75[UY'K;$10O)P4YNYT\FM/N;@4CPFNN,'@ M.".5LY;'IQ:475I-=Q2'#-M7N. M^."16'SPU?3;X]/-K[# #)J"VD[]Y M*>;./]91G#U.3,JKH^9CNG%3E%B8*(1V]*74%HXTLH7\-E W?JFU?21VR RW MK]J\CE?.^%P[# OGL=C"^7DVO?JO7Z?WUS=/S_\VN/G+][O9WPQ8.'._ \I8 MM^T,*EFG9NB>*JWG22&-30$=DW(*$ZI8V!FA(Y12H9#E"GPT8B?O+FYK0ZRC M+89X* CX,4NH"9R%0^EO +EMZ&?S:3EM86-&@'A"3Q#2>%XFQ%6X:0P:ZR1(;DG0[)&?!;"WO*!)K&D6:7*A';!3Q,%$6(==@4. M WB*O)*VC;CG6EL?_+T[Q.XK+UO4G>(GB4\[6?RDIOQZ':)&NH?!0'%5*$D9U6'D#T83Z9I!D%%[E\_1(%GYE(+!J0 MM/[&,:GU:!N26J\"'_8S@@*BV&3TY]A]\< SL&%)PBO:C=K4C7?MFS(Q%4E* MF6:&B9/,3,9&=:.F?!)QFLI&3.V-"=TM:J-9@#D*3O2%XKZ2:#^X?+;25)=I MUDN0)3].=?L$[&#A)ZV07G96_5G=V*[&$'>B14DY#;6QU=L4%86@F"LK>L4P M%U?\,!C')7W3#$VU27LZ?%Y%VC% 7]G!*+>D]R]3Y^^-7V6&68< O64#36)9 M.:#VB:!G4+_HZZACUM=1Z1'^!KZ8VH^(_S9SA0VSQXIUB#;@O1T@+&Q+V[*N M[]C#E=:M%_R(.,S'B>#-^LGSKX/;^^EOSP88B:U>V&U#3976;\JC/CR& >*Y M<[GY#H&_\[>/#$SL&(X Y(>H2Z5*R\0OI7&-S0H6\;V+^*JT8'Q(DVCD@@8T M4 @KR$ M)WF**H4_2"6B(*4YH8;:7P0HE/[C$K1U)8:6:3(W5(ZRM)K- ",IVE+V!#Z[) M4IJLEU(UNEL*]0^@V7[QL+,BL8YNW&H(, MC:-(WW0EJ\/1356CD[D%:^\V- M7Z_@Z(7C-)Q$$>&=0^86#I!"?+IHNB>D+)Q:#^&L47!RVRFYSQ0G>F"W1=6J M!\@G1B4HV>5IP1VT?!2GSW[M0V40DQX4;^/.NF?4Q+:#-5RR9^M(UBIQ+R M'%V,CA("H9^0%'>/_IY:WHGOY*)6[U<)M]-;$LG52-,+(Y093@-7$[33X1H0 M*,93M;>L:JP$22]^XX)M6C]5H2X;10B%;^( B<6I#$D74[I;2[''&S4.'-6- M31UZP1LJ3=*%ROHW+EJ/(,0HX\Y_ Y&JN&;.QG6CKJ2X9AE:,#ZT#VZ5\_O0 M]C_7;@A*41MPM4H+DV%O0#<:*:1%E8,-U=2#0QTHL V $]U"$&H"A%BHQM[" M87.MH9[Z9]0NUY'K [@!CY)4= B*[#>X:X0\3925.()*/#L@LC55E.+8O];S M_[%KO_&B[:")UU!-LEY5T'H7<>OZ%MS7J=E%<#:N&UDE[2)D:,'XUV&**XY[ M9/VA3F&O79:57*F\;B11"#IYW4;72K]N_#R!5;:0F,Y9&(0M?] ,XM.*XL"N M;CD4^(L9")?7X(6)0H7B'PQB58KBI7OKJZA\+_,$DK>Z9L',>D?'_R@?"U3J M;1!R74P4;>Z@"2A5:8J#Q5H_2G_^;-\I_Z!0 M\LZWO35:I5R[T2J(+.]K&*Q7L,8URF&7P ><'7H8,G??,=T&":^K3E,-&O^0 M;R,-IBG3JS%GF5Z+6*7X889'NYTP?2AHH"U9-RX*TX9!M%?!XH,FIKSSYT&X3,&DI 5FJVTZ M=YJ(*>GJ19>W#.&WX95F4VR=#4_NXA7:SN_95<;I2VRY/O(?Y?L Y,0L77FD74)N MT&*_^25;,8K?$6_?89RF:]O%^OG.UHEY!R=Y:D0;:_VR-D_'XZ,CH]8PS025 M=+^O3)N.7JO+TX]8)_7Q;=[PS&850U#JC)0=+F8*]1+:#2#6T6V0L^!3'.;\PADZJS^!-^"O <=@'5<'ZZX1+0=GUCT47UB;Z9<\ M3IEKMWVY@]@MVNAEK:[;0.;$LGR5HX'()C\0NQNK7X/ ^>%Z'ERRW,'F_(7[ MXH%RBEX&"W!2M0!YPP/+=P:[I@?;MK4T# 1U[*2CF ?.-EI^\(FE( M;@9#"./2,T[-Q5=B/-JP%WL)A-'#>]A4E0R&X[1J./(O#+)/) 8D^\B@_!4M M34C6[2A7C>71UOW$&BV_ULH +[N=$&RM/&+.X8@Y[=1@,"!:>C55HM2&[B'2 M*]63,$0GL;Q[_[.J34C;&^PUJ.7P1U>!F9<*N,)M/UY;[ 5M4&-*ZS9HR3B4 M7Y1E%\C0\;A[^>_.AXI8\P[)\^J0W#4Y*+>IZ:BL40"TS+\"9U&ZUL4Q=!NT MV/;XYNXJW0B(-ZF?I6C,C;(YD:P:I>4M:&INM ML,S&A%BCHXA6=F- JJ+;8&? IC:,M>\+A#R*":4^M4(?&BITMRU)),(^8(=' M->N$O.5D'Y^W/8"-#_+650QBS.,N)#DQ8Y2CGHSG9TA?H@])D2;*/+Z /.XF M$S W0-N'960(;.C 3=*PH,P_\+OH8M8NDIQAN-8$Y!7;^[?!MD4MY]FJ[ ]! M3)MJ:95:OF96VQOVJ9>YOBZ#G ^[TF6S1J(:.KR3FPL<2^9A353=M@TM!W': M.\J@W2_4[B"]1[FZ0?DV"348AEQ)M^%8CT)Q^ G(TX>-*TIVYL;Y'C[-,+0 MOLUUS#6L"6;UG*P$K3!O-?E;*/E] (LG:,-?;Y&2D/G^&@\'G;[ M"JT0QJ6, LW%-W2V?@*K((S1H=\S6'#ZV(>U471Y>X-"@UI:AJQ_:8^1FY.R M"L<6;WG]O=H2.W)H@_#]9G',(7D%M'QTPW6@;_ MGK?]'[H.9X,OMSRB)6*:E^L)V)X51:7 HM62CID/9SP"']XA(X-&FRI.31:#P^[?::)!^EI$O>]:-K M&(=]'NX%QPV 4B2+/WL--ZG9A=);RT[23J22I?\DNN\;-6@F9Q3);?RK07#S M9 -T,0%U_,F-?D\#X="?L'M/; TSJ2$JF/&I9!_ CX*&PL"'?[33V$<64R+: MC-DLD2*MK'2LW>]A9DG<,NL.9@17^H,3S_8K<-;H55K: M:HGJI.!OJ3PBQO _W:8-(P-3X[B0)'(K>0J[N(7/:Q-&59N N8JOO54P_$[^ MCMK;7J6WSB"W"W=+,DBJKJ-:X$4 (W%U2J/,0<3MFE0 MQ=B J=YG1O"(W*]\QM!26XM%B![B2[+?%T*:YO J\E-7$P]VE M$>%=))Q4%PGD7"+:KQUZGU1DMT[.N\F^S:C4*(^1D_%XU.W3/8W3A?#*:OPQ M:F';Y/IN#.[=-U!O%CAVHZPM]9@^S730]?&I-%H%)$7P=[&,:5U&W ML'4E0-D.';VWR%MX1?%X=P?79D@P8Q ><-JG(_+S3V?%?O#T/Y)SSF5LJ M#ZI3.*A&'1L,J4F29&E$Z2E,ZX^VU6FEH.ZOENO?!U%TYQ<>.=N^2/,(PN0Q M/=\6XF.C[QP@6^7K2^G944OG *1,+)S3Z/"H9AJE)!-2/:'JGU5(PIE?UJ=K M= \(DH[QM(]82Q?[()1BJ(F,/?+E[ZL*A3C94(77KK>.&6DBV%HOZ"-3=E6^ M_%:RV?#. S5!Z6E#VF^?C,AM []^%43DX#!*Z3)'SR!'N[W[RI+-AEV05M+8 M-%R!U&7GX8CTXJAN#M92)&LEH*OUM"2\)K@V<+>2FT1[>VQJDI+MRF&_1W=^ MLK5$!+G<9+]D7X-QM:;;N.=*9B)19$,=V_O/=E^#V'(]9A,P9GN\>_#O6;O: MFH"I[L]X0]*=G)P?CT;G9\='P^/3\^))44LWC]?+%Q"B$%9<.JO].\;8"KI9 M#7405:T.IU8,-2PUMX[+%R^Y+0WKP^#)(B3_T@!]2G_S(_->JOT4[B M*RL,-["'R:$-1@ZFNN5Q<0['A:ZY!Y#RJR->7$BM;A-)N"Q7- 81I0+F0X] M@S22MI*X!V,[1CDYO:T]_PHB-XT#A28_0I&B]VZ$ORC9H$W=.,3 "1J19&A MDFWQ.B<<4@@MG5CY!X62A'E)N$W=""HDBN@\L'QT*9C;:7^R 2ORB+ 'A M[*T99'O&U/#PAF++G>$DD"D*XP*1X-]V)()_^?L3"N.>O+O[DU+I=[H!+!.P M'1WH(AL)[C> ?#\X>-/?Z@(P'8(:N @BF ;8-^O=7:Z76,A*O]<.-$*WRK#1 MQ= S6(F"WLZ+"YP;./^@J$Z,:<45U053]9:62P.2_!6MC>,ZX:Z#I>7NIW@G M%R[KXJ+3$1?2@B1WC3P3WY =M>:> M7D$WAG!AR$8!/4V_+#]2P3%7.T70BIM *9Y0DA0200H'TQUPX/$DJ+LK,B8 M[H2_=WUP%X,E;NI@K:X;3]1.)8VT(NG]!8D+2IH3?P;"9=W2DJ6>;L1H!-W> MLE-8_GX%-535@-)$EE7!/.U4J_:408U5T*^,JC5CR<*>#-47/CBB8(56FCA5 M VH\@/AJ'2+],Q-D5^7@:$(17<%[4-+S=3^&@0V $R'32)MUMU>:=LD,ZA8O M#9LLJ1+^MR=!_L&!7?SB8073G8Y. M3\]/QB>CT>CT^.CB=-SZ[;/*0Y^DX+GZPIH:"59]5U>['&)BG2X=HWBYN02^ M_;JTPM\)9WBT:KHARP$, ZHLPFJ+;]YSXAD70HV->@*"*RG M":<&MO\C"'-I<4'1U4+Z(\Y@H#E$PQXCJ4?HP5J"Z;S43VS$,K:L+GAQJ+R, M$Y]DT! M)V.VMW(4%[EK$\X*?C89/8(0_=Q:@.U;[]%7X*,8#N!<;I*[>G,7.,)MY MWX"%_IXD'.:.FAI5<_"BA@=)RX-BT_J'1VTULA.'%B!%KM*N,=_V)7L?T2\^ MI)PAX4S])Q0J&*+P4=]Y"/PP_VL2[$8*H9+6?GD4C> H.NW4:K#@7IP5U"I" MDS/"K9"7F\(HO@W!/]? MS>$(WV&FMHR0 FB! 9QJD@W;M1UGA@=P%!36VYP M8D5 G5-XC5&/MD."&#K 4E5;W#G18L.=2?JN/1V-*5/W"BY:6!-F#U(5;2G2 MTK3!K1N"@R*_MG'<'2?@?BM98U%CRDA5=.,$-T8DF!G%U62"N/.AI0%1_&3% MX/F'M2)."?6%]463$8HJFAR"&F_O"VNE[1]_=4$(%?ZZN0=OP&/;-Q JZ\:0 M#K<.O%I2&;_6=!U9E85['X%M0UO*\$/(N+CDTH0FL\>VSW?^:AU'B1Z&;+N* M:@UM(1=&B8 \H_C]F5T* A]S,^3XL!E"$M_X\TP9DS$M(D?J-\HPC#N/.NUL M-:-,F:I.Y]J[M)]HIN:,@G9WGU:OC]PCNTC:Y8\[&5?C3K(/P#\5OC$(=A_1/P(E$P$EFLO]C;^Y\6L> M?T29\9EKM_W\:]*M)X!V+BBU31T#;MY7 +T=.7.7L,AT_@Q_&LUA;^'O2$$I M!P\J#\+*PRA1"FK;=]M8.FCG@ M[A;^SYE9[V+[E[J6>L=,,EFP[&RLLWX]P<($0Q.S^<$[82TI]66-=-@HU.HB M5;8+G#O_,01O;K".8#DW<#BV$'P-'SQ'%:E0Z6LRO%FT\1<^*Z+GIVF;;X'C MSMWTL<#I/"^ZQT/19@Z6=5(5IM4C-$J,9'+8<;5>KKTTO-:*[=?OJXGS#_A[ M%/LR"S+DF-BJ\$L'2^BV=:KT21R-#KD$SKJ.^<^Z8(7T.Q^G7A^G7BP.D%,X M"B]TL&RZG'IE"M'QU*NQN,^Q%<;75DQ*S2[W(YJ2305C%-"3KDKM#DSD)V4] M$-+0-2#)A=(NUOR97[O#FPY!#5P$$\25)A)WG7]= M7:C$ SIO)\TR##5[1!)1:64%U@2QY4E,T'_GVR& R[-KD/[[SN"% M9.%5/3#4[AZDD#]#8",R9MB(>+LO?.Q&1'8C(O&;UQD%<[3QUD"@F;[8 EFB M=[U1$2'(Q+;#->Q8$$5PM?3F1K#+HBPAM'405.&5W_CM"E$;_$O0_:H]($UC M<67M4CI9A%*XT*"E'E!#MO3&9Z\C2KX]2+"#A>_^ 7CN0N$;*2OR?#P>#TVC MD43!S=[)P!]8BT4(%MD%@NS'EYM<&R@=.TK$5LS.SK_5.<%O=#-!'!I;O#.Q\9Y3\Y&-+U,4!#88TI(!Z4I4>V1-N,74,?G^&VD[2 M(U^N(]<'4?0,%DFV9$(L.[&.;@!SHU0%FE]>+9%..TU,M50JHQN2_##40$D5 M4$YT,693\!W.KM=9'VIC43&EM(."JL:]53RC2)KZAVY\$"XV5-QJBAD/'*M, M>GIJ*%'A<,:/ L]U$@22B"W,'9KZ@KJ!VV"JXQ32M#LS5=%JIT%245W YD2* M!K'(3&A UL#I"J"7Q_U%OD8@I@O$E"YKY0)E-=,("IE-M$9_00]7IT=$X)?3R)G]F_6/(,PW\;A9O5I(%Z ES>B, A).4.3N M5BF@/5A+,)V7.HV=IK%E=8&00_]ET/@D4[I=_69%<-@^@_#-M<$$\C#9?F\% MPN^$F"KJA!2?TO?V2.+2=CW58G!_@!."*/2L=7N#?B.!]9Q<&QY)*GTRP.A) M68+@A$-LC=^-4)#@OWLB-$!1A!+*5P&->7#KO@,']78;-$M^4!13W#RA& C8J-XB?@+E_6883F-@:H*55*TI^@ M9P*.>H.XB.C&7[#"+(7N*:.2+_%7A0?JE8@'M Q8)&F-^&9NSC99CGNQ7X*P],)WGW23%+6)*ZV8ZA% K!4%Q MR,D0R=9Z!GRU,8L:(,P#4 V\W*)JXCYH%J&H V[[OV-E$TM0?(RE"T43@6&7JVLLB;;5&VUU7RFD'<:/IC4V\WJ!- 5DW;-G0 MP:/:EM'=+5\O.M^=5E;Q_+O4RILVU%UJ]6:;)()8NR$ M0 %-Q&TT9RNZD:,IEESL8%:()@R9A98#4%?)EQ[VBQF$,3,B59R9I.YZD]\\ M("L[_WD"7OJ"X:N[(K.!4*.LHF.HH?,>$H-7 9(VF&\@? DZ8@E!D30? TM5 MW7C3YHJ"K 3CG1,$R;^&023 FJ2:;HP1!IB+*WC1E?H]6G\>AZ""B6VGSQ\# M9[(,PMC](X&9GT:8A@Z36#S*:&J2+E*J^2B@)2M;)-MI!W= 2[IX /$V&(;B M6F6IVF-""8NO]#&O\[8)5!PQT_F^4C#4(5?J,6D$!%>5C;$[/_[M.D9.RH(J M!#SYE1>+J)[\]+.#XG<_?/F=^_()@ZO*$_2^EQ_1Y&W2I&ZVI[&_7[HRM'JX M3^EBNZJ8]/4Y*#_:&T>VY?T-6/A;6XU;UHV,TKG$MTQOHK7#V2)6M?0 9]+9 M#^"]@6^!'[\*>!T8&BUK?02U?O;!56Z%M?(FI:8T16-W]B.0PLZLK0]2-M"3 M\;?N!%0!OXR+&1%L[8."C31E_%L$_,JX#=9RUI1Y8Q\4;*(H56\9-(QD%Y,0 M;B,G\[@^Z+U9BP=$,E7:RIAVVH^==:LG"[WF6V.U9,0ZD_CTTXY8)^WXDR>V M':S].'JT-BCT VD[)&T!N]-GE:O+>??&60?2MS)V:<&]R:]/)D)$.6JLKR( MXC@EUE#U@. >L-=K, N>UR_YFS9!N.^O:-"2;D:# 2+B@X&"$AL?MU<=^ME[ M9A2"4^L92I!F\AD?9G6S7'G!!H D)K%.? P=J/5THX,8OE6>B ENO-G89G>_ M1R\D,KXO2JY45A2*@.SV^4A9#!&06DFD;X>'+)DJ[WRX,K1\&_/D-:5T7_G! M(Z[QCN29]0[R-1:9!34E^\H 5E&-]^!.X]=DI5VO-=RL0:S45TX(2*TT=U_K M3B]>FAP<0X3(T=@C6NNX&K;CN+J"O73C20BGR462](C?3756=5.EK0Z*S>KO MD;H&+S%SU&)]84B3DY/SX_'QR?EP"#DR.FE]78@Z!M<]<;A&:B<^\%LMJ=NX MYM!R=3"SRJ?)A=_[P%_ >6*)NIT\X8U/"%!75$?H6+1?Q8U9.DV!(U[9KR^L M&WC,$-#1(PBH- 5>.@7=6G;B&4!NZ_@2A&D7G>U#BM?UJ M05WXH1CB.O/!I(JNN8$]05PN06B[EG?SS[6[0C/?K>M;?O((P1K\W[4/CH^& MY[-@LEZLHQ@V<$QZAD&P,5W((\&X2%6!TO#EUC?SWX(P7E@+2GZ8O5*]H :/ M;,9[=\OKZ'O:FQSUI76#77QSP".@\2?'96&OK##"/R(OTB_\J9+)6AK4NN\[Q9I\JE-3LK_(DP1L>O:K6[:3DU;.\![@J@LV^"02?GU6SD=>=ZGT>[+YQ&$=\K6_T M)9[HG78>(XI7JL !WJG4R$^O&Q^QQ%,_/>!E@4SDU*^':#<^*NP><6;]!^>+^K&$ +7Z\T6YG.K./?@$W@+OS?4791T1SP.(=7K!&G%)C?<72SMP M-AQZ1O&,/QNZ!W&,LHNE#"K;2?W.AWPM:! M5$4W%HAO(;BEE&3P.]E*[(3-KUY3-Q2D*F7]G(W')\<=LX 32Q(=&,4U>6=Y MYT.#!-?!3W!E_/S#6A$G@_K"^E* $;\J!3@$-7XWH"!01 <.B$\&[ (:OQ!$ MPOX&W,4K>B3B#836 A2I3^ H9;>7" C6L\'7F'[E4RZK#^X'P8!OX@UN5\G11+]XTUARI>^L M\'*)Z..>+$*0G/:B/*C1:^ Y3]!HAJZ->OP(0AL!MX#:N':C51!9WG0^0S$Q MM6^L2&NW'W12JPX%KHY.YZ]\/[!-^/(0I!)1)C)*O7Y0J9FX_4ITL-/!K?N> MI+RDKX6Q-?I*#S9!^Y7VM:R[2RMRHV(KL85[Q<_N*3,^'"N*.BV_5U4-[G(93P?&5<5057K7UA\G4WZ]TW1*",B: MDT38Y\JX]FS]FL^5Y5N.:_DE>RGRXL19]>'BFDL_\(?9!_/?[CYY&'> 3D=G MIQ='P[/CT>AB>'I\?G[1K2.CT:6@"RUN^3%JF>:=P,NG:;:X1A=^](".1?OU M>, I(VW54 M'.YYP2 $[L+?00T_]Y3EY%, MNK&$C+7,2"9UIN. 7;>G1U"K.MW D<$G3MF5QEF>]?&$T'S6B$BK-(9R9-() MH?GXTR13&LLX:L=S6W>IC=])>UY];V77\*#0L@F^V!J%3'SG5^ LT-"WX:]2 M3S:[P[9!B]W?XZ5T-2([>@7;T\^2-&8%[5JPN%X(J]W.#@M5W@@WDP\$ -D( M0M2%WAR0?Q]<4PX0,2+!S"BN)@,NUX'P*T"[=!XT"F4#?_6@%;'?N J?6 MGA/+EC4Q[(P*?%#M04'F[Q%P;H-P%EK(F5IG M=*B5^L =,K9[ADI,(TK/P3K<3ZJ\;=US-C53BM)CL)-.7=[[VS^4OK>12[SR M6 '&)5[ZA9U]?6#YSL#]<)Q_.,Z;K$6,-&4M.,[ITZ,&DYP"Q[F1?" V,1Q M;@0'%#C.C\?CTY%V'"!BU,1QGHG;5\>Y3F@R0B'F.*?A^.&&D;)?T(E/[!5&302<2BJZ)? ";X]6IO-;U[=\ MV[6\QR!RD:@W:.< -W,8>KIRZ@VK!V/4IH>P>KV8'=5"X4Q=^?;P1),PZM@"<5[1<,-(8)^ M*&;Y)'Q#7ZKRT(B%CK*5I-H,*C[&2\6=6>\"284NJO=5TN8&27OZ'[9MA6<^ M3"/6:-?&W,SGP(ZWC(5]0HX_Y#UT_34TY]-51ENOF?4- >NL6;(A?? BBFY2'[N(9]V)0*,;RJ5TPY4.$0%6@DCZ M71R9PA^-_C+<=AY_\Y$0602K.L'=8D@CIE!W"_9&Q"9!%.0<4<6B&/F.;%: MLB<@,@JFX%T_>2"RSHG5DKT!D4DP!6_PR0.1=4ZLENP-B#QSHLR'\#IRY-Q3 M(F2K!75#6L@SP"@680';O2OGT=H@B:^A)-? ]J"BG&MK\RWPX]>)[_P-6+CP M>(X6M 6;C!O!9R H<\_B3FNT,9VC(XRP 8@-](Y!@B(K35O1.H&N@N4R\)_CP/Y]-[*V!X>I:<90AZ5J;T@C+*RD M33_N';W6"?, XO04'05U40Y1:\N6M70"%X?G9E*"73H%/@-=&,""O&Z(LP-' M 9T$MII%:NOWZ7X#[N(U!LX$&B!K ?)$/HG=BXI)Y,JQ>+RFV^F^#M%W]KY14=?$0Q+2+ M);1*+8<@V*_ 67M@.K]<1W &C:*)#3N5YB2(+C>%OQ%OFW VHYM18$.R%+L@ M0V)-TOH]>I;_8"T!X5I*L8AVX,F HHHP563-T"->0"D7T@U!JJKQZ! $DH,/ M)E3O/O 7,Q NGP"#U"<5W!(&AV!X>0<)I>*TD-_YUO(R'> !+B M^&@XPH-*K& ^K/SB&>^AF_RP0@G'=_05#,7TF7&0M_R M>G;K54;)98 ?9LC-O2B]+Y_0G MM;]K(X\R[ P(YT&XM* I3'8*WWTW)@3GL];5#>W6D-N;:!KIJ^O%1&.3]16J M-P8@R5%"R@Q0*:<=?=3,/6QR$\YN.O.KEWI.G$MJ2NJ&+AL,%/B46W.)"XCJ ML?1#X(/ER@LV !!?/N!J0VNM+J31_,>NPZZPG&UP!E1XYG:P&7-5E0WSA:X/D%>$[_QK GBY=%(J18U. :_9JQ5?!VG,N0:XXYW(#88M= MVUU9U8!?W;I7AOB\\R3A"H>"$:I7>@-4%TN?(EKO$A19=]2W=$#4EJTE!3NN M#GUE5-\SSO7\$/C31/3\N'+[PL;-.S04;H0-6%3YR4/D==OJE'2K5IM;<43# M\ !^)+\2VO-M*Q\B+<45H_C:9;Z?:3UB%[N7>$:QT(X5;J9S*!_45:*E8@F! M8-]CIF#?SX.\5^GO!_E7!^BS_WNP[=H@[]O@?UG+U?_)TL^72A]DY#!D\-GI MQ='QZ6A\,CP?#L^+^^4#"B;NWJ@)X%1CMF0H09,SM89151=0F#.##UC.<8]D MT64V.3-^KT*QNN<@G2Q=A&+U@*>EU1#Q7+^FI&XL:0WQ*ME8M=-UP%;+X0$: M<$+N["4DOO&1X<+>C8GCN*FP7X&/'B-CCQ]0^DU=6"I$)XG>)V%=]2L9;:*< M%[K^7O;UM_4.H%.7TNE*=DY#(K>2#^K"[.ZHB1D>[6E;J[&!F_!%82D[Q1)O MXF0.NSKQ_;7E/8%5$.Z37OT'/TB_OT)I7=M:999NB_1_65LA_)>W:9'W>]_\ MH+YJZK,HO%]IL34,R#QL8JM0I=((BM8I6Q)^^@/J.7IU5TCZF^?IXUY^O+UE M77;HFL= L?B_FGWA@]H4!YH"]?8K"[G6]S6,=Z=(5X7B[&=ZW=A0$*QS=@3U M>-R38!VQV9VL&,7)%UL/RRUZ6JQP&B:)3M.[ 'FV0;H9P]4\0&J):D6K77UC M5LU"8$'M;1(]I)HESXGX"KIP2-*,QRFHI.VNIX8141@7V #_MF,"_$NJ+;B7 MWZXA@T5H+2?K^!7VX@^XQEP&:S\>[E&"HZ8NW! $=\>.IC*WX@A7'$!Z#W4' M(K0O"GP403"=)S^Y>4?[I,0RK^"6)(:S=?+S>]=Z<3VX*0(1=[3H<34U;/IU M^(==!P;!//WQ(.O#P/*=P;87V>\*_= _(#25DF*+]PMU]%HM,783_PZL!F:@ M7LNU3]+B^T\8TG(S=5.,^!-R3=1$5)9^IQL"#/HM&U^R)%IA41L[MO?;LA1# M*$4W62'IJJV!@2""RDACBNZ_6>_N^WT3^A6&0&Z&%T'ULF;87"1 M=_B"NN J9."3\ '/RP/90;&+FB(M;0%E8Q/%5@1.?N5 M3@1NFFP G.@6*O390K&H\"=0'_$&G6_$C*.%WO"FJZM M>Z^2@7,51#'+1JE8KC>,8)-,QV289>N'1," 5RVH&WIL(%3!8Y1,J>5O'?<) MG/KB")JJ@C\FG0\I@YA>43=>"(]J05&5QJ^TOD2H]R)NKM9AB%\5D"OI1A!! MG&F6A$GL?ED5L@*V W$ZOW5]R[==RWL,TBM.-\C]'+EP5W;O,LY!XLWK1D ! MWO"2KZ%R&#QZNI#M(?!M$>.TJU?6P''G]%!MGRB2:Y6U4!5K^+AR: PA\4+F MN\Q57B@^1$7A)VZ=Q'I:/J46GA&\F):.DKR5$J M_)#^9Z$$5>W$90CEY&A#QM6:R\!WHC1V#9V)8]]Q)Q?6;< +@;&]B<(G9M<' M&-BG@% 6A#08,7^:9OKBN8L$AZF/A 3.8QC\ ]CUN63Y6N@7!23(KBIY@&*3 MGUZ60N<_SV"1J(_;R(^K1G[7ZB!O5G^3GO4T[3OD BWQ ;9X5PG-]GMTYR=< M1A2YW&2_9,MIQMR2;F: AF%]]K)FXFJ2P&R[I\T3J.0CCY#0C%BG+.QH/#[K M.&6=)+P(9]K,:M %\[2?Y+QCQ3+:8XMFAA%,B'-QHT/PL6&"F)-,>-19)7)@"LFE!@\N"F( L]U$CB2DR], M8&I]0>V0ECX=N.Y2]=/M$:D +%.CXC +Z?YJ3'Q<^0] M+9";H:HNY&AAKRRJ#06YE]JE4'[IN^HRQ1 '7T$[NHB"6N4'I]!:[0X;4^0) MO %_#5 H-#J"0)['W]SX]6H=Q<$2A#?OMK=&)TOHA!K^SYE9[QCN"+14UN]8 M.U]L U+)TH96P1O8D[Q$UMT#@O6'=7N%>@@^AZ#&SRU?PR"*'L-@[N*.FPHE M>H@UJY1=O^".&;.%;D^BXM.?6]4D+*X;R8Q5>XAY8_$5Y(KKYL@]$W+B.S,4 M_I7&KUUNO@*4Q&/UZMJ3$%@"Y_*55\WJSN713Y//)^%820<&:0\&+YO!K@\# MU(F/4WSEI_@9&LE].A2+'$)*YPN=)*@Q\!?W[AMP4I#8#O1%&M7=Y+"=[4N3 MO,/L =M3TMUHA%:B_O "6U8[..5#5/9S\VFB2WA38A>[B3V9P);5!5Y^S>^A MQB6@TI/]A\#_[KLQ[EPA.5C/MP*,/)_BX\:W20 MM3K8:Y9U6XU$_M.7E%G9S_[\_P%02P,$% @ %8YD6>T#C0?T2 ( >^(< M !4 !P#$P<2YH=&WLO6ESXDC7)OQ]?@5OW?/,W1VO MY=*.J.JN"2'$O@NQ?5$(*0&A#;2P_?I)";"QC6UL@Q&V.J*[#:12F7FNL^8Y MF?_\WZ5I).; <37;^O>_V"WZWP2P%%O5K-&__V4%KE#X[__]\[_^^?\0)*%U MT\UR0K45WP26EU <('M 32PT;_PKT;*G4]E*5(#C:(:12#N:.@+;1S#TEKE% M;U-4 D&V?:5E%SYJ6[]V36ZQ^Q^Y;<_!SQCV$_N)HSB98'X1V"\TF:A7[EMN M'BYK T=V5KMIP(>"MZ%X\A;'J=3CU@)PYIH"$D5[D"AD?B6&*3Q)X70*4;$4 MBI DQ2 R2#+(<( .&(:620J0FS[&'EPKN%Z6^\MWD9$L3__],?:\Z:^?/X>R M.[BUG='/[0_AD']L&QN:I=^U7"P6M\N!8X2M<10E?@8_#^!Z[)HO7>U!ZP6Q M:XO][%;*@C(&IHQHENO)EG+_%.Q3]>X>W'\%]7/SXZZIMO00%R@/7@(_WX[L M^4_-@L,!P4+]]!S9V8\H>7%78$48A*(,0V*X?U_&>+@#\\L'DM>5S4\>( MO;?MFCM@^.Q2T3_AK_OSU5Y8U+L9@Q_>#A@UR9Q+/E2UYL6VP<. MT0I+I5(_EP%>=KT"13W\>OC#@]C\W2QD\C("9K\W__;']'?%64_#CYY]_/,TSP)]_?N[^O^EJ M8*NK/_^HVCSA>BL#_/O#E)V19B&>/?U%H%/O-WSI3_CS@S:JYDX->?7+LBT0 M--"6OX+>@+/Y4U-58(5_P@991U:"*2=\2_.: 7A%^(51"$CM3EK M674'*TX'(%/@_.(*Z^07<&7<7Y9FP!DZ/ESL<$++31^L*]6&4DHB4"D@H53% M4]/&>*@N^1J!$K-V5_8;"OLC8 M^R.A0?SEPZ%+S::\1%>+9A$%[=RDC4E9LN&.@D4\_YPP7"*P8%*$I+043L-X MG>:%1JD^RAFI.6(VWCLIKE87,5HM8*(LE&=E>5&;E+B]256AUG(TY11#JDV! M(P?#* ,HMLN:/- ,S5MQON/ 8<)E\D PWMHPJUF0D339J-NN%JPHOX28=;6! M 9]RO0?C[RY3:4-4\:HN3%RQL :25AF,?OQY2<'\AU44N,[J;@AP3;:#^.?G M@UF_M @9WPF95DI*VU5HV7?0(Z3M^Z0,?' .&\Y! HL,JG46[(=9.R4BG/Z"?+>O^&G*Q99=MU M]Y:R (T2$]0<"(>I \;!*@8C";Z\7U3>"N87SN;!VJ(\/T_F&W-&-/5&AY>[ M.-)D7UO;W5QV+YG"EX"J;=D[ZE?!NY89VRPSN;_,Y$F664^+0'5;5HK/6<#O M]ILLBHV>2(GS+;/4+2B%,NL->-\94(5Y>SI?+-@++7/R;,OL&.VDI"9K'1'' MQ.Q4G5:SR?8G+G.IUC1'XMPCX82,>3KK((-N\I.7^7T*J@D' 'N"MCTGNV/6 M=<%[I:55)><(5RM3*"(.=&:LFM5%[[4UJ#M@*FOJ=O)0F]2\,7#"87Q$;AYF M:!Q'J+?UQ"LTG:-_G DX1+VXP\*#3:"QBB"^@!V>$M M-0.I=S?D-8/2)3>+\^*,G^#C7*>P+-DCB0B&C" 8#EV'SQQO9NNIW@\X"[]Q M[X8[[6"RF*OTH69$'F4E,AAN\(K+C;4.7V"K#T>[R,YSXA+'@.X[ M^>0 2=O"6AA)5##:!O&98V7A0-5PL(8\NAM?39H6)VBZ9^GFM&:2@V8OWQ<: M$AV,;R@;+GBS='FS778Z\9+U)A@ND$6)]UM35:-%FAQ-%Y\J7AY*6$):=T3- M3)%"0=?6;"'M(GBF8IU1P@(W+^:+:D?4.]49"I5YR:"RC0LLP1T,<*F?F7== M 6DR/-UKB5ECW.MPW3.NP:@$ -+RTT-TU%$FEKEUC0 M/=ERBA4=.ME.F<^D.'$U&A>U(D9/^HO1*RL*K2_E%(M:MAJ]H3(<.BA=7^== M,ZM6N^YKB[JWAO?C^( 6.8/7F)\@+2%GSPPT)](S#J_:3#;]PJ*>VLY>EY1, M/NT/-9'&6GH0%%L5M= *Y0>>AB/']YUYX)1,)G-1Q6^;#DU-$7S-D-+J)H90,FV[G'Y9+5^ M_-G]]*;E^N?GP5>^823[Z_SC3[#0OUY:IA "O7_%YI?=Y]U+?CX \XO8?CD4=6EL]TBA M/U[K"T+$:;6@VLTLI547,;:O"=O8Q;#]\AW*(-6A(PJ3;B_C.CP[Z,=R^ZJP?:SZR7>)7V79/ MRHR=Y;0;61R\.,M[Z?1DFE\3$2_[*.]%1+J_JN735,?@.:].]JF)[9I&9'54 M%!$15>00$6%[^+V(4! VY_5JHJJ7 M]%P>[["91=N/M4:4K/@\%Q/"89-&K%W0 ?L?OEL^K*J&FYRR$9=UM2"QG_,6IK2B^Z1M!)4FXV7E@#W!+^:0W5@AJ M;(DHU_6KJ>F\6U/3U\[@1T__.E! GU:F>Q6;4'Q5GF-$*,.T>6OW:B_D$R/!+6/ENFY;!VM-T%) M17VMV1>D^C*I*;%,CR@*&JUYHR&1BJFO)DV7D_)\3JB=71Q?=/(',M ^I-'& M&4%VF;5>0,T1FTU*69J7\[%&>P.!B5V*^H4)_+)*R[?\7LE<%HLZ778Z2S,] M+D[4:Z?S)51:9,A]M$ZKS7"!31&\*M(S2QI7&I4I;EP]Z2^LTTX,@_>&'Y^1 MZEHA@QDS/]7D!7W5=\?56JHQNW8#]I.E^EFB$:<5ZB)+:V/%3P[1E:IR63H[ M6%135V^M7D2H1X/:1\MTDU_XH]2DM!!G7;]%ZES1X9)73_F+R_2SQ)Y.)--K MF7E[;0SI)(HOU2J[1HW1N9-G4D,V6BLM8H[V!P/B9@A%O M)? K6^1K/Z=7*+RIXU5'X_&4N#)G5Q^ N(!*BPRYC]9I3F.6)AJE7!.=C3Q& MQD?^0NW&.BU2,#A=>JR&=/M:.X_0_(QMT,55?IB1:M?NE9XU]2UZF0]/J=I9 M390NTD7J>B*F>6)N6.UYD">NVVUN=1-1(!P -U)_YDJ "M4!;E M;F4DBPLC,TG%O'I=7O!3LK)#J7U&8*935O+$JQ?;2)UO!1U81L@O9 M45NKZ5X1Z?V18:REUH$3GF1M*2"%'D&$P.;W33-;S:": JTE285?!4.A,$AX M*5DOMVD)R2+\;,K0U'+ VWPO.?I^%:U@WX">%((AH9(/N^;[M9U;P$C%O%\D;/DY>4X*UO&ATIC635Y M3N' K,B/N!&(G(UWB+/V5RWFK)BS/H]SR)!S!+M:)-8+:XP"J2'+'%)!BK([F MC3G?]6P3.&G9U=S:L Y-8/C@@^ZRVA*HP0]@]^"C_NZB<&G?U2S@NKOWWC.2 M"(WJS/;K[=/S*<-D=)D;HW39<-I>)]I^(,]1ZN,C>9'$6P_J*8V_9N3M*_$E;P%GM'K(F,4\67<=)JN)2&'20!;4 M2)"9F#&OES$/$#GFS'-PYD;569KW@-2/.WN?NBSQF#W#^ 6A:ZMN"DU2-J]& M[PROJ^#*C;9ZADRQKHPY\DA%">JVBQM^SD5-5L'3@%]KC5XD@R@Q2\9:\GP\ MN8EF3FQG1^$]OJG:5D5V/>!L+ZMG1PX(*7'7]B3:L9UI>,@:4P6^A(TY:YSS M&\GHG6QX$5;<1$T?4V<+^F/)$VO%F -?T8;MR;!KJ>62BN)5V1K5DBXI9V*W M\AK'!K>J;Z=,V\$Z4IAPS/E 70%6O5KK@=F7Q#?YPVQQ[A^&ZZ/ W5[415F MG)ZBT%QYJ5"6GJS.[:MT BX!ZAC14;!(7O.3D6EOFC,+SD#72+3>8@=9G(_> M08/79IB\U]V-4?\4]:45A:_G.HKQG17E(PN?-N7Q-T+H%\3$J0,)V4X6,'," M$5"YNZ! I8J!2B=RBCKVYC\-,2\[XY['K?N"M4#$U:@Y3O:SY1H>W2OI8X_X M'1KGPP[M*#6T:T,Y4^/](LUYKFQ->#IR&(F]RA-BXSA@E(EFLR'38DDLT3R.F:V#,[MW9YS;%"E2$H@)Y!ZB6-%^NV[Y>R=.0V-V+OYECD'#[/ M[CJK:@]DI# C>EFL$_.L+C U0Y^M3#_C1@ZN5['A'8VBVL_-1KG<:8)?B2\/ M9:*XH>M3!MTFL@,ZK'->F6EMK%6O!(./*0-Q?;< MZ]72%(YJ;L&7\9Q:&]6N.[L*OVOB$#]8KG]7P[G)XG-6^5DVW4[K8&( MY(8YL:]5'#P;B_(KJDOX5K@^#M0Y7I@2Y? M#M'G\).I;B7'I)9-&JTAF-DO+Y&V-;C*79DH&287K >)&NK?Z32V( 582ZW M,3F:;+B/7,>:72ZL:C0A\#)>Z3=;Y;&*1:\8\;W^V\N3_T[H^;#,9'HK/IW. MR#R: ]5B1^OS)2G]C0S3+XB)4X>AEJ @I ?.O"36Q($/B.YHX>B1@T@<"_HT MQ+P[0]9E2] ["C>,I'] X'PZ',,AJGIYFLGV>;KMF MLS3^27&1C(.'/OUY]0NK[GE M/7&66F:5F2&"2@^AU&&Q;^9&SB:XB72(:)=F?F,M$''^&"1'SY1OSF+AB,M.>-1<+L90J MS80LMQB35B3MC9@Q(Y?#]*TY\YQG)= SK=9SD*0I C?=\#/UG*6BD;/NKH(K M(U"8'>O**^/(0XHRG4;RQ22JC%%.6$\6>I4I&(U845XI2\9:\EHJM0^=E;"N MI#)K;,'POKC(5].JVVP)L3-Y987:L5:\$@X\>,1>JMI?E/N#&EI"&,08U]<3 M>Q0;J%?&@K$6O(IZ[0,JL+R0B:4A#DOBS*B6Z;0\(>INK *OJ5P[UG_7P'N' ME-^,;U9Q=83V>6$PF=!(!7'R<7'V53%?K/FNM!;[@"[$!G,_H^JRJG?ZR!R9 M:87*PHS9\;I+L6/M>)W\>4A?VBV?7 OEM:";*Z)B(QT.],=QZ/2Z&336H-$Z M*Z&>MJN]GDBSXFJ9K+ Y15A.HG=YSA75:5TL/SY&^RL[>7B#%O@^[V50V9)6 MS6Z+6"'IJS3X(@+UR^3V?T6N'BZQ1[RG<3[LT#92IHSA[NO7F4T6 MLV2L):^GUO;059"K),(@_1K%SP:NHN?J'6Q4B;7CE97:QEKQ2CCPX.7(E.!8 MY8Z>U.5%QZMIWB+?G$1R_R)FP5@+?BX/?H8*I$F\TN%(ET#Q4:[5;R)5@UW' M_'=-!;>Q_KL&WCND_$8+-"D4%YHO"@O12%-@FE:T(6B MI1"289;2*.W.5[XC]?*M1;R%<=W%M+%VO$[^/'A0*$;E$&^>X41AE"I4.";; M$5JQL7K=#!IKT&A5NS-S@T?\<7;%KP:##%ZD)_EAX2J9+"*5-I?,C__N:']Y M)V\F+'J#=8:A1,%A:^M^49N0SE4:?!&!^L5R^[\,\F431ZI3G!7+6;WIB"ZGF8\/D>NM!HH;Z=SJ-+4@!UE(K<$R.)AON M(]=Q-:\LQA776(J(G!NL6:\D#GJ1^LTIZD3/SXEC0IR'F MY5".8)D($=(G1W4LA8TG4!(T;%)YR5,#6&)$$-%D,^ MU]$Z.26CE$IXY.*IL6]\+'*VIVR0^\@AGR8I\#,?3H:SS:EMW24I[%JQBN*; MO@&;JC5O#)R@F0/& 3'FH& I<-6WZ*'*HXEKDYV"OJ)5F6R")>VZD3517IS] MO2%[]/3/AB#R^-,VR'/)GD]"D)9Q<7G2-!NBJ>%HS^M4446)G-M\C0@Z5@:= M'D$OG_1S:@2-TB5[(4R''93K66FYUN \9A4CZ 1:+&HG_IP+09FR54(ZDPH0 MS?XTV1,I7>6Y6(M=HQW$NE)M*#$;^.!W6"C;U@CZ$F8&#+S6:@H> *4)YK8Q MA[8CYP!5\[*RHAEPAG=!.S L(=71B =TJ]:V4KU"C8RL>#DTT7M,O#C34^) MLR"U8=N " C*[*%@]\OGD+8,//A;;;B9[Y:B;*^OCPL#0M*U0C9O3":(:)8B MZ_*\3-%#$[P.0CXU+3_ I"B'91;CJ9_1.XA9PJMNKLKKD8MV1)=)']F GTS; M@UQ:SJ4+0ZJS5-$:FZI+=8PBE],K)>DGJ(7:ZY1:QX!VM/[I&VKXTRVNC:;"5T)2MT8:(FXV%I6;ZYI9HCNDKSBJ% M#$50FY+I438GL2!R1 LV"NYF\>//9M]@;QK71I6/576.^LI\)L\,5<2M/M(F M9+91B%XN771*&B-&T4-U@'4OU1/=!5K2)DSN;[2'J(3Z>3 MI<1XX_F$ES,MJL*0;-'A8CZ]!%&?RMZL9FD>*&MSH!8LV/=(&QB =5W@N>G5 M)L_ D-V'8>*6(ZN@*IM@MR-N)P?K=<;0)BB'S&61I>;F7(PLU[YARGMIOX_F M?!UR^33TWJ4--($1[C6X8VVZ(_W0&*. ]WH6/ZL.,G82R;6%T=;B#3# M,]W&;#7-17='X$KX_F0P.#*WB5W(COHDMLR;4\-> 2!XMK*+06I3L3V3%M6D M6%H:V7D#%!;K1F3W>Q_,ZYZ@!R9VMIW<".2LF5$Y5'@5Z:Y2C_; M\:)W,EVTJ![5'*+CJ4Z[T]ZHVID/>$%QM:)4U%K58F1%>P2H'N&\G^.IODZ2 M[*"^2E5%OS0M#1G7:7:B=^Q=M*A^W3G+3>#)F@547G8LS1KM++M>F6L&ED@')G:=7BNWU'[?P@;_;[0-WRR*8FKR6!EI;0EFTM'UMN/ M+#:B:B-\"!L9KF;T!UD#$9%LK]%,I9=$%T366(PF-B)L27P(&_PDC9=F.6NF MFWUT-&^6,RVT$>N4R-L;VW#2730IR(6X6QU! 98,>[K?_1$ ?%B]JSO<$G^' MC0Q\[1Q"+F($<+TF?(FPD*?;/F83?U$KC*NLGJ/&1O=F M1AT94;5V/X*,QM!=H\(JGT:Y(==-RDJE/*,CIX\BC8P(V[H?049^@K2$G#TS MT)Q(SSB\:C/9=&2CIU%%QL4MW5- X;A*#ENVW+J\"HY;V!F[3+/'3YBE(,(A MK;JV*DDH^[W4SM%O?Z6*Y,GB1MW>?2YOYQ0XS,J:TY8-'Z17=W_F(>UE1QFO MRF .C(>'LNW:%*RI[[EA _SY+BM =GTG=&RR#ICYP%)6A_O;:^DV@>([#G2? M=\F"\TJFZ+(C32_1/HN7?E@GD/"@9&\ (4S M<>KY*8E:].E8]?U;<1UAUZ&0[93Z3 MXL35:%S4BA@]Z2]B0_]BY#VMS:2D%<=6!G6$G[EXVMMWT [E78EJXV&_H"/+$$CXM9<]@"+BNUX(WETEV]..M-E M1\-'0DN];,\K M-;GH5@I%A LO>4"%;9K 4339"/;"IZ&=J%FR%9P;FO%!T;< CF),RV;]D>]Z M@1BN3,HB#G*2,U*Q:*SLB/KR+]T:L5[E^ ZT'# *GZ34,8$M> - M'(5#.3EK=>I3WD3I*^7HSQ'*YW=KWBJ5]967G;<**Y47,BTP[0MS09T4N@LUHQ@_*@&[W++J]0+)^^=NM\>0WOE1.BE65' M^;RPTF?(@BK,"898^)'5Z=]W8RIR&1C/85B;!X16]PZ0J 4-&L3=+UOD9:NY MFBI1/BW.AMB$GZ%]7#(B*[8>S&LKKPY/[)Q4OUQ&%KE'=?IXJN./J3Y(X3-Y MD=47(MVSIPVC-&/0Z!:8/T_UQQ,[)]7)XZE.GR\/C]@:,T=0'7O"ZQF)<^8\ MD>5!+9^EAO-Q9X1$5\L\2_7'$XN(A"?VK)134!W=2Z4ZM,5RF.Y$@WQ,=ZG= M*W66PTH*U:I^JK%RM1;7NSIN?SJQL]$=FISHT7E2#ZS3\^=6/D?U)YI=%_!! M&N2D-N\/IE0NGW;=/I_H3S>YBZ)+OE,8SE.XU M9C.[W&HLDY&-.#Q/]4_3[,3QFITXEV8G]C7[$51_HMG1*@OE.H,H:&XD=Z69 MPJV!?H54_S3-_K9,V--H]F=/#OMX2A)V[I2D- MV.SQ3SX'[LC;P515"SJ3C;JLJ06+DZ>:)QM;B51)M]2D4QFU1& 7AT :RDLI M$UF)=.R-8"]-^6O&;D]RE^6+2.%P.E.J42F.%SRLC>M$0<>O_P;42R'EXGL[ M'[MQ\$6D#,1I:2"XU3DZX\HU0>=7Q183V=A0I)$2X6K;4R"%9\C,U%M6EV+) MS>$H2XK+83NRCE_4D7*AZMN'-_!PMN7:AJ;"'E4^&+P&]B),PA0$N1]UWYG: M+@A_7SURNM*R(5L*$,8 >&5;":'X$%**8OL;>QYH\[T\!TU1:L5.LS(4N5%: MP41TZ='5R,F=X+29YQ9I=^#,LZOT<3_JN>5]<)_JP?6]CLA \FX+\[7[H)I( MWK!8+HOSFELO,2/*FO1JD83+9>Z#2IXR30Z[TQ_.N@Z\_$ OZ@B5]:?9+L'3 M];-['&]VXK%3^K&[V6.20//%/%;DH#,_:PM*W^QA*2EBL\=.-?N#EL1>Z.[! MN60Y8(\<>3K6%-FX5QA5VQ*#0^#5L-UN1V):6'7Y.HVB.L[FG$RQY^6'JTBR M[K/3VXKZ@_.+AI%PZJUG:E<+!D% W05V[K3ZT4<>R]VB.<+0I:3+3:"":1?U MLU)D'=$(''F,(RAU)-7#IJ=--'DQ,-$$QH#Z/E].N")SB>3J^5>V@GXVIL,UG.>^;[MAC M;P&O/!1SF#?>K1732DKSEQ771F6AGIV5BJVQBD5.,$9/*T8! X^"+._&P&(V M2LLIHU/0N3PRS:ILL\9?2M)=$P8B>"W PV@*;%> Z_4PNE:#+X,_6:/=;8>/ M8BG"ZU<_'KC-L\JWJ=*XG*5T0.ARH3R;6YM[*>69^/1U%>7-A/ MN4(T.EM/ET3OH8M+DYJP7LD9MJ-K%9/U"N.61I&1V]*,/'S/?%MJ=/#[O!5V M$>E;=C+6H$U.')W+39K^?+SNZ-'+L8T\?#]7^E[ .,-%]&Z8C#Q\/UGZ1BT=X6+2ERTC/"9#+.JK23[55W!:KU1BVS?"TO>B M*1*71.\AZ9L;SHH57V6[/(?7))8ABB4D;P12?BTG?7+E775HEH* K M8R2[*".3C7$D(YB1AN_G2M_+Q>T6+EAYOEXVE,F41[H9=3*BA\MJ/7)!FF..DSO% MR9-RYZV@'7WPR.;")H,"ISYIO?@ M0+;T*@TL96S*SL/3ZP39 .XV!Z0*O->[>9+UM1O"D[;;OFK^,M^S/4K1N4); M%=RTU\U&[S3$3:KNXZ7> O?@6G_BKY\=NJ5UO4"4G@Y;*C?E@@:SR,A_S8\R/40Y0G,I> M/5"&J5E[99@1Y%=NJ0R;'=ZKH[,&.EHC8+;0RY$+CWPFOQZJ0MVG8BP)OK"E M?$9)\* @.X*2H" V#'_H*W4=E(IHQRGGYD;Y6WNV[ZY'CR7!U4J"Q^=\5/'4 MM#$>JDN^1J#$K-V5_882LDYHAY=IGPMMF? M_EJ;_>V$^S,V>FVJ.S4 7^)G[;8L5:U:-WW^ZSG/&_=-?L:)ZQS:HOLKH51& MA:JRQ.Q6O>:WHP"BJ <$TBL?[WGLQ-=KM,..4=DGD-S9;?.K\MP.[_S-T+8\ MUA!S(/HFA9+U59O 0>00=XDMFJV$A^O$;):J,,]/:ERW/>1GM;PQ+C7G!>[\ M_M];]1N&(CAS0@E_V,S'<227'ZX4M/,::-A<8*BIEI9+^NS@=+>.Z+7W!Q&_&<[QO"9W7MV MO^T^!R]ZY:6BD)':G+6LNH,5IP.0*7!^<85U\HLG;]1.(7M MI<&P:G93),F)H, Q2+5C#1QW],P<@R<^\$)E:V-+I9'@INBD.$)K_<'450R+ M=_-/7QKZ.[N'/O!>[>[B.8FK6TM^V9BF4&WJ%]4ZIY/&\ND"AV^^?^SM[]Y< M31#2= LF0D1I,]4P)-1&K(2O;SCNI_^3YX,L, ML&Q3LPYU>RR,'W3Q\^'HCZ<)QV8D(4\L!_WQNL2;R6P.'9=*LWSR*7_MY@L? M^0 (MAZ:I-/-A;E,@K&X6C&+18NP!_E4XS "ML^\_-:?VO(77#+;=Q3@;CZ. M@:R&8@^NRY]_X'\2KK M?^5HH_'==[8;GD )7V.$-RG^_O&H5V>D68AG3W_AV"T]]7[OO0,VG>X:#J'T M0X:RJ1FK7_]M04_9353!(M&T3=GZ[\WF&_A_%\K,X7]_AZU=;0U@1[#/S5M^ MP3\3P;_$]H_@!7)B[(#AOS_^T[(5^-&=RM:#5X9__[*"0V.,3;<+$,YO^]6/ M/ZW@7,*$/4QP@8"V/(C H!>XA/+#_A3;L)U?_T$IFE P^.#_^0]&H[_O6D\/ M++IB -GY-;"]\78.F_6&"O?V?E[;!;__\B&AGE!@\Z,B&\I?08O$_Y_ PR?_ M?D2;!R0.U_$AA3=?/=/]:0FX>S%<"2A1?V%[7P70"3X/; <"]ZY%,*%$F%B> M^ \:_K-K$3Q '/CY'B2_#P(A' S\<1\$ ]M0?\\U5QN$67^_QIH*38?? UG1 M1X[M6RHD-SH-=H$E2S^HV0R/\I5%#7ZJQH?6# 7\OVC,/E/9KA/ZK(CMZHF:!OT_, M)"=>%B^T%+8];+41- H,>>J"7[L_MFKJ5Z R_O&@)>:INT: \<+SJ_:$CBD-51YOQ=CS0,('(P2F#,+1YYN-36.WU*/>SSM NZ4\MXW M@1+>ONDA7X;'\WG__M#@L*&7#DEL&P/9,&QO8"]_G(=M&S[TT8%CK)I@:CO> M PYVN5H;S7,HQ]*E@M9WVC6I\02.N^41P,@&";&0$%8FQ.9_#VFB__.?5)*D M?S_+XC\]=9^<%R/+2PS7$-EFBV^6>XDF7Z\U6XFZV!1$MMI*M&H)J&I;4)]N M)"]&)&K-!$;]I?Z]^:*63;3R?&)/']_I8I9K)6K9[7,I@KR]X^9P37X&S/ S MY*%3FY4;"_=.;VM6$/^!!O5#,938_1M^_Z) V#?6T<_4F>\TFYC#5E/6=A+> M&"1F.P9);&)2"0!72$T<4*M[[/LK./C4A)V.57FU@GX,L,[$O_5P4/PF?+;' MO9-V*I_!JLFT"'(TW76*P%E71F]: 0%,O)()QQ;KY@V99K1EKZ5A+ MO\.X=F1K$VMXHJ9SR1ECS">+E@X6L[2X!'1U77IJ:+]939/7K:9;3;8J% )E M'.OI:.GIC\K0G6+V[GABIYF'CFTF-K3YG/\F//M3W_?@W;??+RIR6@N/LTU3 M MXDTS0U$,(4B,I+Z]P794(.WL=&Z"D>8&\LH+SEO8H_6,E/+:E,LJO+9T&MTD MK_3-]E,K_2%UZXYFVH[F)@3@S#4%+L5>+?WY*'Z$W/Z+7\J*%TX_V!1R[J:= MD-V$&URG-=2@[Z19"%)5MGL4FR=:BL0;XJ+)\>I"SRVPI G]?KN,4T)/IIR[R?+Y?& EB+FCBK5L#$T_ )"UONWGZD^'OIDU_6A0_/85[%W/@G)W*:(_]D'W%G, MX+>)KL>NB1L<\S1U['G D2*X4%]Q;YZPX6]V*.@B)E)P: MC4K]F@@A,:QU&T.CY?1'$AJ"YWC%E@&&O)"#;);C7)-'Y-MX$SNO\A8CSTK MMP7RG[/S'CH81R(3CQHRSP"\EKPL;'/5-OZ?I$1'L*L?= :800=$:RI:W#SW_'T(L: M]!X*VD35OOT[JNC[',DC(W3S/<*@7QV*XM550>X[O9_9Y#-CN_DYI6\B$^+2FP7*W1Q:DX=ODRSE/W(*VV#29\:4)A>FA)9+[M: MT,O5TVW3ER;; LMG%NRJY=*3F7Y-0?59_%JW(=Z-OC9]$ ]K+E4I@Y.++H\, MK&JW*-1;JV%#HMX8G$A2>%!N][7B$MN%"W80Z@YD6VTJ&PE^"10_J+%(U(;# M8-,C]A(CYR7^!5&>"&#^V#D\;49$Y/88/V87_?ASOST8# ]+_G83'C# =&Q; MNUWIFP1D!,,/*)J0'2!#@:6"7XG=/(Z7&'^=>V<[L$]8.,)[<1?JVTH%\W.D MTD'U6@]GTE6;(QIOS$?$L<,)B,?W\/?G;.Z7; ^)T(FJ;'(4]V8$1H!)Q-$^#/6XV MIX$#U,34=UP_V*7V[ 1L$8:X,/ROP=^!"@I2C5C%^W7JI7UVC"?;ML91E"!4 M>BC)LDQ))(,14@IGAM)0'M(*B0V':$I^O'5K&$A5[&JV*IKSG#=4/:<*1<[! M;>N4,:_FJTY&1$RD6_+%2F[9;00\\[BE#[0YS;>MD8X7G>J<,>$$F,;>!O^+U+I#QOT?'S M@,;>8 6%M<';_QYI$<4$N@("X3&!+D2@M[B%1[+2]O=-HO)SOV[+YY_[>5/1 M?C0&,.H.!,&?G^7HM#1O<^P!D)5Q0C%DUWV3MQ8OZ.,%=>30M7'#HH2_CG+N MWRQ)OL]R5K<)F"$\P5(9!R>%)J!5NQAK\)M[T_=]8:+O!=]+1Q.W/LL*PP>A MW+F+(;;PC$(TZ7F;ISLE%Q.RJ7YZM$L'?2G>$"2^0S (GJWH-XG_C=X&IX E MIK*3F,N&#^[TQINCVC%$+@.1K?C>[W;F0X6?SGD0UD4Q#[ ?X MP%[!1[U9J)P*!-]'+I\@7S<0U6?9%-O)$'ZK"^[+$"!.DLF6I22;"PJEN6*N M/EI+R:&Y2Q9_"2?!LO1L1]](DL2N\U>A@VC76.93>L;E(3LF' %D'U:!#\FOE:$/KR M[,0 ;!O CK?1K[NZ2-O9KXO<1L/V@F@[D@<1LL#@"$HB$RK\%=IR0=.I Q00 M6G88ONDC+(IW$W_!GB'Z$ZX/[1%W; >%(+LR/F\L>X_GLY ?#CHLV H?WD[I M[YN$;*F)O_"]>0\@(\%&@PF<5?!0V!X^&8QGVUEXZ7$XDG"XLNLE4NBF!U5> MN;U9Q7S*2(U& MKP"H!]SG./.EQQ[._4G+YSCA]]-^F%0J]7Q'3UZY^6_5/MT 4DD\4DS]-45/ MP'F0Z4S-\R"O @,RGV-;@8%@K!( &@NK1"&0T+(2;N=F9$].!(60CX72?1_[ M\?FF;VRSPDB4"D1.$XQ\0[Z76@+22OSU0([A!'Z[;>R-M;#N;!K4G7V*H-K, MXD[T /?OR\B4O24/5GPK8O9DBIJMF?4)8Z9%OY]:)GVTSZ?#V^K.)E,N)EEB MF?(9>VUODQJ0+^6$ 9\'"5E1H-2 J(<<%+",$ZCV@]\F(."0@S^X)A0W\"W. M3H="GC+A[%;?#L^.X:!M;,MO$S8]TV#W9YR M!_,BQ\Z<9 /P'?6@[]XC_*3,U.>)H6KNU)!7OS0+VKP &1C037O M??3)>C- MXZ\*T;A (F*)66>;7;0R!T\17@DMH5 >!XII9#NK,Z4?!_:LPVW?L6=D614N MC>A4/\_35I&O-5*X@987KQA9Y<,Z)W*&5]38_HE%\GR)=:08^H@-'O:I?;$W MG6L,#IF3_>0JW-RMH]A'GV8 M__@C/.\][AT0=SBV])G'5VZ,H7"T:=^%+HB['\5N%/Q.6C>,P^K*^C*"968S%_?TR-/3+3J%LT-M-B?$>4GC_^\,\%-".H MO79CS85#Y38CW=-BF.NPJW2JK?%@/7$IK&@;-/.I6BSVT53 M!X39Y+!-8O-/8?C"'D-0RW=P:T0;'MI+#7=0H<%OV>$&J.]N]B?@BFYN(CAP M#K+MA.\R5L'+%QI\-7QMPH*SM@.C$:YIZ$!8LJ5HLA&$EH(C^\($W.V]>VXB M*-#7U.>JHXB_Y+\/[C(D$J_&E8YS1R(I@Z]L*S[<5'/'P#!VV$O\!1$5;FUM MSF$]8N/HX89U#[@1$]!",+^G(OK=<'?S@:A?+ M-U7;4X&B0;_V1\*%:A7.#'V([6,OLTYL^W'__5&H9@^D@H6IVF%^I1 .L>9[ MH8R&PGI_7X$<:UE7I>?ZRFX7,;RCD!BW^/&'(FZ2&'&#,N0.K;N%^)/83'G' M\<[3&G1EDR;N;M+$[]+#[Q/&@_NE@TYN$@O@@(1]/[1G(),*277[F7C]5,'^ MYJLZ#]W%N9_1_(&K.C]UXJ=;_]V6-80J^!WN6F_-VB/$TCM&C[[!Q-POH0O^ M^[_VJP/OKSU%=G?=;NBU=XWM=B9X"(L10#;%A_(0VL._9&,AK]RM59Z"A*?_ MY_Z>G>V\P[M[P[N%$_=_AIOV;[FP.'5+8H\O+-Y^]^8+BTWX<3LK(K[ ^,M= M8+P]2&"8I*DAA1%2%U" MLU"I-0M"0N";[0+'"PFNUJS7FFSKI#??OMG/?=-A#AN 7^H6Y(<+6JAF^&[T M%^X<264(Y+4D"CF )LG_^8175Q/:^$?3O3X\P > MS! JE>N8WW74^!^WZ*E;C+J.57_'(09O8:"7+BE\"TPCE;AT@-3O.W'CL_(< M7M;ET&S>!5$.7;UWY);NJY(T(E[1L5L^YP;D9\SF33+IY$9'J+%/-,4((O$U MGKMSI.ILLU7(%JILE2NPY4(U6VM60D-9(DDZ^80[GW6P[OC5\3;\6@C.]]YM M.!2L34#M[KXR.<9[C/?KH5V,Q!B)[Z+=G9PMM/@*=B=GA18+/_/5EB#A6(H@ MDN\+9A4\8&XW\_:E;7@(NODHN/4KAGD,\ZNA78S$&(GONB_]<;H%RRATVP9"F=>R/-\2WB?/ YW4O'?G!V\.TBY@7^%KG:8P)^6#2B@04(8 ^"Y MP0VY]C A@"F4U<$6-H%NMK##0N ,4+;?8N&W1.(OT9)]58,=_9W8W[.(>>G" MO$1\9>[8)]]^7/PMVZ@Q.&-!'P$HWPGZ>^.[!@URKE;ASR'M[XWP0,P']U^: MX.[<*0\.!82"WM(LD-@>/;-)[WQ&(SQ6 K$.B!";D5^9<6(=<-W@C'7 RSH M:H#Z9^F!(&W9 6/8+C@*+=8*7YKQJ*_,2K%6N&YPQEKA9:T@M&I<*5\K9_BF MP#?$0JMW?NT0IOV/;4,%CKO-RD_P,Q^2)=817Y0-Z:_,6+&.N&YPQCKBJ8[@ M6"&?+=G7A&.1S*\XE%?$2Y M"$,CS1AQ%L\U@^LKB>CGTB:A@,,KLB6/-H(NH[F*[[J:#66@REJRL7(U5TH2 M'\V?Q&\3]V^Y.Q#A_FVA,;U[7V"4WTOA0$QO3N,)VC2!ZQL;N[TV!9OS3MQ8 M)$>(:_!HA^5CD7S-X/HF(IEH! >$:5Y8WPG%'OQH;#\%,M.P7=_YJ$@F;A/[ M;PFEZ]Y[$G"\ M&LM+J=]GQ"H5:<)3J7HFZE*(9,L7\^$#Q>^$V$?8:5[['6+\LUF,Y'&,S&A;! M WL6*X.1;(2&9G@-,S1EDQ2=9#YJRF*WB;#GQ%[7L1$;(7P3TE)\\LQG)KG2G20)XM^ M5&K2MXE=C[&LC!"<8UD9@RN6E>^7E4(A5V5;8I,7I!3)H"C]/D$IP#G)7KR9 M%#$ $ZESW:-WFN6,R##VCR _?-7'[@*;3G_2$^F>CR3BYEQB_64[\LV_)8;!;C'GFEISP0IO$ M_9_!DL2WY,2WY#RBU2EOR<$(19%3A"RA*CF42%)&)6: 8A)%X"ETF&(P1@DB M,L&2;9YX]:SMTUWWLG^1%H8]$80O'KD/1[D[PGM[\^/=F!/W@PYW,U_JY]17 M[3R8TDED^X8JKY_,&PFR!,-,8$\I(/&.OQT9UG(M@QVZU1N9CJI ._*WA+[%>\);;+GMBL M>Y0G\%?!2K3&MA]DS[DWP6VW *K+\(+-!&L&=R&[?T=Z_/OE?=?!Q!3.8 ,% MASIQ.""@@@.8E**8H31D:$9.*21&$>0#)FXIDIEGLIK%E1V43B4=9FXS+0Y= M2)A$/&[I"$.R@<]+>=1$^H*K=Z:9.36"+>G'+3F^X8JG\]WUR.6])I8-6E*/6WIB.5U;^:V53AOUY#Q33OO5 M3D,B)/1Q2XOH,\:,R3(B2*Y\Q"+9)K-J2.33EI,FK4]16B^+&DJO^1Y6MHMP M[M33EEE>R$Q%P*D\G9+&OM6L#' S:/ED1B4AU20!EP*H[ QI;L92ZX84M'PR M(Q13VG9E6#;TFFD,BU:]6G,J#8E^^G8NPPSKM23%HC,'\4EKQ#BYY4)*/FV) M%9*,MG+'=5UK#2H#H:$,!RHK,4];#BM"H@ ME4(_AU-YT2\656)9JBVQ&6R*/VTJM&:FV+3K-JJ)4X0GX4+14Q;:@D^;II*% M9+%-LS3?$=III(VFC@BT*3,*UQ:S8:]/Z-]E'%_ ['9- M!WG47I=9!!\6(><= #%BT)J.)MY>DZ@/(I9T46*AP,X@(!!/5/)5'V_R>>6 MHV5']N2:VH'K>@ ".5K2V-2L4A5S4VN56XA5:M)F@Z9/II66A_4E4VR;^BS# MX78.GU..N@B:/IE6+47.^@.?,\14RSY+3J/8:#@N( LB:,L7 G*#;4Z6E.J)0] M<8AA"PD_@"R&&N>X99OT14U$W;+=,Q9(JB'A!Y#E#T .([.K-=\1"V6R+DU9 M(P?'>@!9Q?48T<>S@BERDQJ9!#DVYT$0X@>0I>OS867-I1E]-FD5AE._W)IH ML.D!#'2YD6A9I+!"PU.PUP/40NM+H2#*Q!K5RK1B]L2\7%Z-@JOD MGS3-(#5AFEU:%9$;LLJ29J5\$F,EX@"UQ*70=P$_S?!@FB;%]K1J(2QL>H!: M3DI+XW[*F.@RF:PZ0%JE>BY M-"BDTR.11C3>J2[F_""SD(@#U"H2[JC,=@8\7]*4!M M-%7RQ=G27/R$O>YXZQRW;,J^ M9S]T_,-O/OFZS21ZFTQ>Q\6(7^0ZRC&T:!'8@1)$HX+EVDX3O\7PF! 1( 1V MB\<<$0E"0$K$+!$%2L2R*2*$B&535 @!*1$3XG2$>.,EUZ^:K9\WZ^"VYR?1 MRY.F3[Q7*G^'-=@(Q M>]GT-:[2QHZ[X1O2[@UZWIZ2@-[L]]T',2#$C?28C M734?[=^P^)!W8OT;0;'!O"E98B,2G_[WB9!4;"-8@G]_X#_>RPCX+775C!#4 M0%R+\H@R"LC+ZHP3P( XA1R\S_C\]1]% 6 XO/@1""]-FQ6$_=R54^#_ BOP M26V_BHI _97%*C/P8^6\Q_[\,\*_ YN=\QX':+2&[+O#<7]=@ MKD4"J:]L$WR-2;ZV/1AIYHL!' /XE3VD2./W:ARE1S5CP;\8OE$NP1UCP=&O M2O 'F/G:7#8VA5^Q;7C5MN'__JI^3H((:BWWZE$3_VA+.&XKZ\A*>'*1;VE> M,RB$%.$?DN!!?,N.*HE"1FISUK+J#E:<#D"FP/G%%=;)+WXDPNS$Y>8IUI5J M0RD5))4&,3*IBJ>FC?%07?(U B5F[:[L-Q3V1T(%BF;*AOOO#X3XD=@\_$I9LPO7P760DR]-? ]=DNA><K3B"+!A,+%ME#KV.Z[<[SBU%? MO8_SA1"VW-;1 MO#'GNY P&$#QGM12.'M3%FULT,>!5:UQ53VQL7GMSEA=;9C(\M/_(;=F0M M-;PZ(I1:[O,RBW*:A2'7<&N\)F']7(-54PTT.!0(&A\8CM^DZ#A&$?-S!.M- M(L+.Y[-!WL?/4\;(5<1!*:WGVB.MM]2D:=4*^!G:(!A!W3 D^E4C'DSX@I;M MR<;9+)!+NPVQNQ3'/:)G>KPFE S&[MH(XL]T/#-+R;EE34'P43">'W_P&QR: M&12%QS&.F&GC&,?GV1>O,>V\5%;KDYG<1#6\7S$;')_3Z@W(M($E<<,PU U. MO!28O+YXACV%XUN%<8P@XW)JPH4)TR+B",8WV97]%MNR9XQ ;#BH;LB6!QT6 M?L=$57!(P'0]SC0KDZ*%^L.!4!E5.6%69(.S@Z%90#+D#8F_%"^-.?$K<^)W M8,1SQ@[>Q(D.;S:-Q=HHBQK!]U<4899*;GB*-]3U9#+8@OSB>1(UN%RR!U^8 M,(#L@CA=XFMX('$)^I+II8:K4; [-!X(6CTAD)?*L"ZMC!%P8($&VG!H?\;(R6.4'PGO^A;.$9G,R3N MF6<3_83N$+]4##]8Q)QMJPO-, Z(F%0[IQ;=Q:2@=Y#L>,):;F;>6X0R,*@. M"[8OJ#A2\4TY\CLPY/FT_3LYTO86S3Z/K'2>ZZZ3Q23>2R(N&XPSJ-?$H87_ M8M[2%XA8[!8GSFVX=K\ESFV(LLGP@A JT*32MC ^JR.,D^(%=JT41+KO#T:VB'?P7-ID^*(-&@&[TL>P MZ[4%"L)TT81A6R/$ XX9%V/$R=MQ,<:G[5CS3THPL(C+,D;G$1O\%1\!D7, MZR>-5!EYYGYC^>[R@*F\"HY@C@W*R!J4)PS6?OUH MS/D"KUN&J6_XY84+ Q;:4IS3LB#F=,6S,<[KF<6%A#&;BOC4#7K.8W)B]HLJ M^WT'[CMC+/18]G/+:VLFB N.!W5R.&XUT?6J$[)?<%T SMRDZ)?8[PK=T6>O M"]AS3F,+_#G1*'9'TFVGV:K0LB&07(X3=R0J2\>4:R5VZOVA3:^J%KV$PBD\)8^XP>-K!V/>C0,(GVE:',^[ M W3J#CA?2XH ;T^:H^6"+J@A[X9IW'!P7RABL,N8F]I.2$5[N%?6KH)!?/I= M7!(;%[6?W[0H0Z9K09[+0)9[7C0YK=QJFA/J2;TC9%'&5"FD6EM(>'A87I*^ M25)Q27O,OW%)^^>;%\?Q;Z'+34"Z-^5U'V4:+MONYV8Y-N!?:%HD\9L4>OI; M?R(2LCAT@^#>-D4 M'KJ'W= 8?D.DR#AR$;-N'+GX1-/B&-8=&,N\B,V2)+K"IV2C8%8 M*4@0U U*O'20]K4%+LH/HA2;@_KMX9UIL8MGQ-[/]]AW_18;KY\2?7CQ1*X2 MF9^Q>IXD1+I&+!%F.EX,RM!"",_48W#Z)I5BX@C$-^7![\""GQ-!>)$'A07" M5B>]F<9K9=]AJ)(A87PCX,'@K%V&NB'H+WZCX/WR).Q'EPONA12>LPEB=^7* MW97X0( O870\O(SL+IG[1=GG$$XN3VAH5O?G"C:AK4$KE8*R+SQ.C\"3-WCJ MC+F7WQ#XWYCAORF_?];M@\LA(?'8>(W M#(/?X'$J1\RZ<3')93,^#[#NRNL*#\F? H3?R&2H7I MGE\K5!)4JMJFJ7DF"$['AO0*"0+?""PEL"G^$@!(5&T/)##B[]A9BC=\OT*& MQ_]C[TV;$U>2_>'W_T]!]-QYXIRXX-&^])G;$4*('<0FMC<*(0DAM($6!'SZ M1Q*XV[;<=G>;1> Z<:_';9>+JLS\965F965>A1) \C_9OC.8ZO 10F3=/X[F M[/N.;"P<,S*@O,.HZB+8'[.O,WBV"#G@7/8#NG;>?18!O5GYOT$M*MQRP M+"?>?'3<).<,\L__O.T*'ZHD)8ZPMY!R/SYSB\C,+^T=;MGV9PJ M5!&.J/0<>SA4"+(>3F@MNO>9YP4\$9MZS^UVT*ZT,B1FNJFBCW7?\ M""LXFB=A)$^BKQ6S>2DP<2CO'L#UGHA@^V!:J6PW):-0;8C3W78CD:LSBL@E M]_Z&C#B\(:#N+$"$/EL)EJ:X"M:E;B(CN^OKKR56NFNH<+#A3*'[Z)X9%/_J:DRD\'P#\&H/E#G5,NTFV%DU!U1T'&H%\VF7A!Q-N S7J8/M5:*?JT M> N2&3G$NE+0[9PLK?0XMPW$/#,;\P2/\S)S^O\ 4"?"3\UF#^AYHF->42^% M"M_J5"MB'[**DTY(#/>9PX8R<%@,=,X_$SP/&,O9;^!(^> M@DXX=DTSG"J'.M:R!VN+9F(\QKEG))ZGL-,?^IFZ4^FIOJ3;JI)3)=>./A<\ MS0-."(@:G-%N> 0<=\0;(\N!%9CQY5=)G>NR_MH3F]W:[32Q6=V'1CT#66D: MA.TT342/E8PADLHCU!G3VZ\MT@#*()Z0/9/CCZ \GU2-U3+038,/2EJIU>VL M0BZ!?<8K&HYB ML&4/7YE+2.J(+1$5"@MB'VDX[&"L4$3Z.?#IGKCOJQOO1GHK*0Z-Y1$,RB,T2#\!8'X_VO(IL7R1 DF_"N;5>%U" M&_@*,@J.HXX#MH*B<69Y4ET:S5,(F<=>?8SRS CYCR]%/#P5BTS=5@L+->;. MB1!Y MJZS;DBWKD4V4/%I-:C@="*OHF\>OT9?'Q@!B7]T1"($_3LFY).IG\U7D%73_. M&)$'(J,I B5?_]_3S?QP=@JR8SKNUT?=\H2 1\(@B9K1U,+,526C(,VC3_\J MF:&T\XY;I> 'F'K46U^_ZRY_ M/?S5XX\2??3X,\=+TM"^NJHIQ<^P7C#LR'+?67U%X%AM/6,WD>+U66Q[] =? M_BOE%FZLX_XU<.07(#U,$G\?Z9!(E9F':L1Q^U!GR_7VBS?XHZ_OHA._._LV:<< M63Z+#J7HEYU>K<7W:OUSTX= M6HB44;U0',_-WKP;C:1>CISW)FJIKE,\5)'$LH*W#5AWNB*2GG-0; \'B$"Y MPKK,D'NH6U[@:AB-3,VYFZS4(NN41X:^M^" #E;5KAF9@NDY+6/;JA"4W(%T MQ.@-57EBS/M:-!)/S6D%P@C>309&8(1&IUL2D1$?^8KI3S<;Z&BY7O5A8=3$ MITJUZQ*E83PGG"+H: .)1KMF[0UB9-ODJNJ%]H01,1%Z.5(K[N4U5S8$@]^. MJ-5V;,Y6>AB-3&UIH4^%Z6AB#CBV4!BV*AN*(WDM&IG:DKM&FNHX;/<-JUII MKP2*=V?]^--36X+*=6 M3H]D%A,,&=7M.;0;X'*MT_91LZ"),)0>ZKM5B(+44@%:=_CI4+2G&U&* *G MAXY:97==(76<:]1K2E%;(*,5',8N56JH/BM1[04GN$)_49P9>(O:3<-H 6AZ MZ()1>!RQID6C()((53G5!K M]FL1ZJ!@2XT9:==PX$XTZRNLPD8Z8V#58 3QU):T&4-Q=2L9FA)45&T4:B/, M'!F-'JDTZL@>GZA,/#0EJ3W(Y0FSR F"5$"K=F,[=/1%-QZ:$M4QOK"GDY9 M0KL0];JPNG9W6C(T+:M#2B:8"M.'!*M5GJH]#%EN2M$*7A$72VX5.'W@(EQ_ MQ"\ZNZTO=3K=>&AJ7VL,&2OK%KDP@F8'G<&+XGAGAO'0U+Y01^AH*V0\A"2D M4VU% "^6Z\G0M%9QZNRV5?5M@SE\=BF>[$HMN#0O6*"?R M=<>KB18YZNE]59USFB+!>*U4!5:6&YPT72BE?7^%H85D:(H$QI"A$=4P*4&=[6VMQ\^[ MK58R-*W6L7V;T18UA*OP_3[!S=:5H,'$0],D,-=H9^34Q)W0KWMJ<]6JE,)6 MM*_7X-7=(D%CT"X;HTISMI$+KAM$.@-YY0@J%VQZS\T(Q)!,CH>6 5Z7)\G0 MU+[(!L5,*RUV!HWDR-2BAG4T?NB.O')<;>2>T2Q7]AU#'^B!LBET2BTDC(>F M]^45[-+([W0(H6*JA#\<[%M%)>D-GMI7J"CF1N]7&QS1FB@=>UE;ATC263,U MU)@9&WW7+H8&V^OVIJC&6-,-$W?F>AR:N-/?W=)#Z"OR7DQIY:E?'[]Y:JO$ MCMO1B8O=#_G@"3WS6:3 =YX[+,E/GCD9:1\#^NX1TL@#3B4NA>\^+NTQV'(P MCW[M.@E#'E#\K6CL$P_HR?Q.-.?<=,)':^OQWX4X5/CUX(:'$:7>]8"/T8YG MOI,T\QPS\%_Z3N>V(9\,C'[YJU'BIS&,#X;%<0PP(@.,@!\H"C B"XR 'A# MB2QP NBFC# "Z*:L,"+2333@1 8X@3Q@*&!$!A@!@T,B(XR 'J W4P0!)X#= M]+D8 7135A@!=--I.?&;Z>/OQOLNM^LXG3QU?7RA)BQO:X/;HH'LF/$/_^\+ M_N57) AWO$A/[Q[ZH,)!(.%JZJY5O2+A9?C;$55\\KY/\AC[D"#U MR0KYE@)7BN<121$^5%,8.$]**ZRAH;30"]9,""PS"8S_7-V. =M-VN MFTRI*73%8Q%, J/S$'6F#F Y+>Q<((_=DVL+^S5 G@7E M=B*00]>I7)H)D,.OGN0(4JA4%\76'D(Z[JQ)3NPE5?U(KXU3@'QBFOI:6G*X M$,P&"VUC6"&\C$]R.BZ;1"!X'H?.U'LC"\(.0 Y _C&0OSC)B[L F?C,,C!X MPF46D!2@A8IV99 W5KRRUR(*0!+OA4V:[JWWR4D.(S'*89K.DP1TNJ*.U[AR M81W/C^NTN"<.*-R].KKRC?(YJ\P>XPF?N*;L98,+,0;Y><5QE*34F^IN=%GU M^HZIO**4A/7$K?;+_H+;P0W#,A=4!]K$U262& *&0Y&+<:8:TP#7-X]K^OJ; MRQ*NSQM/^"UE1;%=J+I==$C9Z8WP<1KA.(@4P1.0IXDRX M_A3G-<#U)\+U>:,&OX5K;+#EZP2W;T%\4%/4<%?M,N7XO(Z# VB>)*@(V/3) M@P,9Z6IU:.19<1W/RZU<9Z[[IVGPD(4@WV>]ICQY .&31C@O$C-(H-=)D/>* MUY?_VW\+H+!IC0W MRCM!)>Q"I4ZU"6@;1OA-;OY1*#J WS*@;^#>OZ^:9O0)^9RFVJHKF4G[1DFQ M=%OW?#>IF9)3MZNXTY%W.M?^[O70F6MJG-]I_Q0:YB(>^A%AE0.^&%MAGJ&+ M.X#K%>7#-WH+U_4@2VA4]!UC;!74&&O1HB/G/?+=8>B,3P0 0#,-T#=KC=X? M0,_K@O\Q0+N#IC2O">_D.6_,T"].VB M=G<$T(OXV'\,4 N>6(-]OSDS1I!;Y4=!)VBU8X!&[C="$7D*?JL5.SA" 4+O M!J'G]:+_'*$-T=Q5JEA%*.S=?IOO&;6R'MNXL8.-8&2>IMXZ1&_P[CR:<^!* MMG=D<^QN)\5)U;@P@_?8+!B$_TYY_7;MU)EKT^6G]_#7)DPF-.1%H@#%P--M MU?-8QYKI=O+!C+P.]$/1X=Y! \2)1]YK#Y#,G=UMV'T+*H@]*.QRVW(!T40J MB01 9\SR!SHD,U"Y]!7_M?>;)=5PWOC#AU0#MN)-BNO-"6@M+_4*5ENUC0D3 MJ8;DN0#TIO4$\@-.=;]X;;!8J M.X[3Y\2R-^S$WL>A_ 'QIG;(>@K$RZ<,_$J-&6-K.=V6'4L%.0^?Y$H5Y#R< M,-KQ'46U!$1-QWM-L6BCR;XR'>&F4=FP-![Z1K6'=N-5??E&TWDUU'_-33J=6%9J\R+,V.-Z/:P+JYJUEB+5A6G+B!TGL+/6%80P!' ,3MP M/*]K_&MPE"I.#>U.YUNN/X'D@B59BV:-B585^\ P2>41]/0% *\=&N/]A>H^ M^L%_'5\!_/T5A/YN_(%PEC(0KJC(KD()(/F?;-]9?$-_)TV$X?A:$,=1$/8$8,[RY6$,W[]N^K[P]_ ;C8SF?RTUV6PTNAJR M$X6*+NQ7;9]JCU?=&,AQ;G(*QG^#V\3,7E]&7P&2?\4F_Q\<#[OM>7'X&PLZ1DD.C9N M-'J%P62)A&9OF1S-R7UF'H5.7]8L4Q7+GUYMGC8B\ G#79FXV@%5RV\H0I# MK^W8SO/DBY_7B? #M[YUB\C 0/:S4;^YUW>=K19IJS@H (J8 SC?U@7LO248 M_RZ<"[-^.&LYR);CZ?44:1E;6)'"&,[$EV\8<<9,XVO+]6>]A0-%D6\H5O#; M>+9YW-T*NSX-\=2L[%08O]FC$CS'X8$SUBF]ME@#. ,X9SY6\-MPKC)TJR^>YJ81@/OFP9WM+NBWGTCP47"/!YNVH%0+7)6D8<7/T&/B1'$3_/"8>'!#A2]M3ME:[=F007%B" M_(,;B#H\UGHHNX[%1NO0[2"BY[$8A&,?LZ<.XP8Q0KFM[TK1D:/;DKNK^:KE M1>HPWH'K)+TO'C7F:Y65<%GIE3"_8R#T6.Z%T)8J[2)+!XMC%!221T$)=Z / M0 +#50,5E]0'C3G)+7"-V7 ZW-;:M>':QI@PU@?$EV\$F:>@,]5V @D0]Z$/ MP(WIV6,;E]0'=6JHF*3:6!EJ>=)45TI(SG:)/J /Q:5(XHS/*ZX-#* 0@$*X M@7C()14"5Y6UEJ6&)(1(-&194L4@6TRL$)+\"P3+$\A;)D+6,S"B.3NOQ$-R M)PZ%W+T:N^_;V0QL[LY3+XZZZAC>+:JV.M=?#6!(:$C56N,AA%2[D]5X7O2; M=4V$\3B @:!YB@!)%@#&(,GBBK&+7X%Q0&\[$ZE#%SADM:WNVK7:J.HR,8SC M@@QTGGC%S0#I%.#&%=RX7BSD\"LP'EL"LN^W-@JWGF]J0Q,CP_HV.8WCQ DX M3V'IKO;@- 8P!C"^6*#@5V#<7WOVEEIL"T:C46A7]HPU'=%A#./8R4>)//PV MCN\@1:*M^D?7'T0SS]VQ&HUPKCC!S%2OH\7^YX*-[*^PUTR$0B\2-HA ^V:K MC!6YXCBMB/!&H^!2!:A1E4?-2*\12?U&*H^AX#TH@/]I,R&NOM ;O+2,YBSI&SW:E^+E5JH; M.5^6%;EMWD)R5?!N&]Q<@(O+8^CB ),D<)& PQ-1 2(LNFN*D+6C]PU]WD"V MHU/?7M;:Y=\(8+ )>ON^(QO?8=U1W7Z\X)(JF]'_*-_C&M#WN(9@8ZM"T5>; M!KM?->1A%9L6S%"$J?A6,U+)X$X3: 9PIWE>S?#;%YL7T0Q,T&SN%^.Z)C1T MRR:5EBKMFXEF(,ZI&'1 M:N>IB6:@8\T GZG*PV>U&8!FN/Y>,Z<9?OLV]"*: 6MMEB-7)%%!W9DBTV[: MTZ7:C35#?$OZCFH =Z2?-\#Y2:Z8P!WIG?+VLP@PN".]4]Y^"I3>]!43T,! M@&]:@&_SCO2_LV=SAFI,D6BEIA+]DI-<._KXP_UIXLU]_>]_9B#<<>M%;J_F M'62KV-T5CZM/* &?6/(S5P?ZBI[&)Y2 SXKX+!8X!3H?2#Z0_,OX-I?C\LL* M-47)TV50D?8#I2SOY,(U78WV4]^N_FFN)O(;=ZN/08/'^]0$BZ] Y5986X/D/,BS/@6>C-^9$? ;U MC */LIM*N;'A"2W&SRGBUO>"9[3A2T_-9[_-"_R''A>H*MQ MK<@U'8%=1<:!X+=VNV(WQC/]Y5MDX)/@? 9X!G@^2S;C.? ,%_>#45/9#(U@ MM!W(DTFA)>R2\SGI3O- G+[ 2Z:JUI9T,_!5!3S]! ^\P-//VPTG'&'\BH(K M;X>-4&:#D:'B^M!1VXRX6#.1]70,*)S18 &J(#OP &\]/TLDXN>J8#>LV55* M(02N(,/R#G77S18=QJH@B4509XHM@OOM;,$#/.'Z+$&,GZL"FR:VHV$[F!F$ MV:VWRX.PSYO=6!4+X)!/@S"S!XOGFGO/T4*+WIUV] P,!OFD! MOL$;SG_>>;XY2OZE*CDIVHFDJ<]*X'HY)_"]N&M)O$+PK!,\;COI+>F-:@$@ M^4#RP;-.<.T%'K=]GL=M0.<#R?^M&=5=&U>7T*0I;3VV\YZ)@]MYL2)E+_5 _0Q', H7A0Q1:,.9H(HX4EM UE70T41D3P.+\21_,$?<86P0"KF<;J M=6]>KH'5W\YTO"A6B=Z0F=46N".,4)JL84R+O'ZL45 MTBFQ>N48_46Q^J>IB!?%JK"GAB5'7YI"0'6Y)5H;HNI>B[%*'\Y5Z(P=)P!6 M 58SA=7?SA6\*%:W,]]B/*(C<\1DV&FM5>G\;S_PV8DQH-^>6J-(/6XR*W:]J;U;K:C6%.)#!'<1@\?[RW MV[!3>QV?&.;7#!K\SFE>*U#S+D&Q4$$+VDA%THOS60)S.H$Y3IPQ'']M<0

QH:9ZJQ-]YCJDK M4AS0*.NV9,NZ9.8BL?)5*YK3.^%R,T*UCVM11=\\?HV^//ZU;*J2&VN=Q3^* M[JU,:?@OX=K^S)U,_F*\BJ M:?[S5M#L<88S2QF"/8F-'?3I7R4SE';><:L4_ !_K_3[]?O#$OV P?_._?@V)DF* M:Y84Z9(?5#OJ^X*ISOVOA[]Z_%&BJA]_YGAZK&:^NJH9Z=*-^H)A1Y;[SNHK M L<:_1F[B12OSQ*R1'_PY;]2;N'&NO]? T=^(?6'2>+O(P4:*77SGZSIG'*L,_:(8C)*3G\STR%2=0&7YR8+\$T.O0.5(NH7\A/J*_[^O( M@!\_?,ZX%$<.OXP@(O\5C\C];PY)_O+O%[QZQG+XR:%__,##CWXR_2,#I>2P M$N>4*L,DJHASG,)%#)^IX@PA"%%1%)) )0R62.K+@63G5F9/!D:_S(B&_:-% M'6C;'S #KL6U!WV^S/*M3JT=?>5.2LQWSM,W7QIU>K46WZOU9C-[?65J88$N!$OD;RJE7]6&CY:B@2)F4552B M1 4E*!'#T)E(P>IF[ M$H[TQHM^GPO(QJY0IUK&&&>BD3"<(JBW6R%VKUB ]!&!TC,>'VX[C(B)*=*/ M/(8-(*DP,WB9Z+>9H>7NI# :F=H27YJ[#,ZU5D*@H:M!!^K77+$;C4QMR0WX MR0R==VAAA^("OIUOAQH;CTQM:4(,K3*QK7E&,*IS51X/NW5$BT:FM[2=>-/Z M5!^&D$7.9;/1,IR*SXAX>DOAH-16*:>]Y=BQVK.$4K%?U#612(_]QHT0IZ@4"VC;T6C4R1B1H)>*^_K\VX M0LU63-I8P;Z;GK2R .>F"Z^^[BRXR?"!R7S:Q?T./7P9K[;$T/K MR?1.-.7<=,)'E?7X[T( MCK.5Y)76###^HXRG'XCS[OZCC&_K]IM\!ZH.2/P?J+KGC4S@U3:79$M>HH_) M1Q'15U>^&N?:'O*O4"C_F(@%].&)].'=2P?0FMG#!94BP5M\/G U_36E!;XC M 'D/ 6\'CFX8$_$CIUO1CD *SB@%*)""#TH!_8#1MRX%0!< 79#2!7]D$5W[ MR61;]7.Z+3N6>C)QOO:6KO'Z%Z.6-E$:*L?7B[QDT4:9E^(< M[+@,#97'4.(<#]U!OMQZ($&'TE]YNLIJ3C$;&CS>( M+]\P*@]C&( N@.Y/C>%/"MV+5)1Y#[JZ-"F*>"T,H'5E'^P[=9G!C?@]$_WE M&XP0>1HY2[T8@-U;Q^[G/G8O4B;F/>SV.XZV':Y#6=#7ZQ5"\!PVWL;';EP# MAHI,9NHMDSG[%QF\OU#=N#WERE47JNWI&_7HL^?^,B.2_)W/V9$;[\QSOK3] M>@MAJ>RHH#O?Y'MI<9ENP 3D%\@OD-][9>VGD-_W7DP ^;U9UGX*^;UI_7M[ M%W(OVTF4'5>-UIF3 ]=5;7F7\UW)]LS$]\I)RC+P_!^5&$$DXJ21B"O>36>! M+C^-:UR;+IF(>USDIC#Q^]FG;O^/,,A1,[!'Q3"(]<)ACXRM#'YH">:[DFBK M/C\?2-M7 BBKX8+"O%'8@PKC61=VQ6U/9A@QZ7Q!P6?IKP743<9@]8PN)RND M?8M:)-8;?]WT/>79%$?TA]%27M$@];[#,$JA17"(IWASV#=@L11K$.++-SB/ M85!*A_P-E,B=*Y%K>=L9I,NUM,U%KE8OKVU4I #1Y=(^4I?-KE4GZ\QNH\1U M(N/+VCQ$IM,L@+8!V@9X2'=W,WPQ#VGH$0."0U'2X+N;(;]I5RD+B^V;0V/3 MF[Y>9E^Y6 9!X-_2C<\ CT: 5YP@+NM[%4UXPJR6:^\K$YKL(K&>5Y386^H( MV39"K5@;">N-AW3(B:Z4L+@ =9PC3N<1_(R)I@#1 -'W@>CS!F%^#]&.TA-Z MG>VB:DBL$W9)02KJS;A0?)PZ3N1)"" :(/K])Y2?%=$7"73\'J*%+0H[X\4*@/1-0AHI ,K*%"UH8EP_CR^22;X"6 M[JK+9R;+^F9R4<=V@RH)T2H%ST1"QE41(RA*G$F0(D(T0LU(6((16/GR[2+] M4/^XV6A_P+.-*M\L<;T^UQ5J@\E)5PR:CAZ;CCZE<\P8F/PG=Z!WAG;RK/5H M/L=M9352OTD7^USTHUQ'=8__8JSH\/,_27O2]U:5TB=_4)?QJ%*DV6R&0;(D MJ@1$BQB-JN(,5RB1("$)I15$GJ.IKH^5#3;IS4R"-?IF5-DVVH+"TR(B(2+X<"=&[VF SX$0AM JFLG.:@&XU, M3[KKXCM]S]A3" G:K&HSD.6UDZ'$RZ&^NT"8F=##N< T!;4X4P:H\FH34VI+ M65-&;.P@A/98FYB/0VD4MR9-K=09S>@QRJ\#@]77;,JVGBW6/CE]7"?#$UM"F;+Q' S MU0QCC<.K_=@E-,5A7FMC:DW;Y-KHP!..G:%M8E-=L8U:_$0?2XV4K?YD8&); MSI+D:K]A:G/3B4>FMC_SNDM[W^VON*"N-GL51T.[V[C83GK[ZY' L*XK#R"B M&LR'HZW>\L7'5\;/AZ+(?#*PEB)FZ'#0KE0GNRFO)Q9HW$R:XI2>V_,-!#=67&C_M1OU)NV6FIIK_5173L>;I4U1.:(S@Z= M\XWFB)N$T<@4I6AAR6QWW2$)C>I8?>!W)9J2XCE3E*I6@YVTY8N\L>ZZ&EE' M3+(UC4>F*47.5X1CF=+>4 -E6!QCW>Z$C3\^O?W)V*\3PSXJ"Z,@D"U1,];K M63)K:OO=VE07RVM)@H+:A%GM8+,TCV3ZE>:P\Q6SJR]G/&JLPV U@.$53 OQ MR#2C&(VGU1F"&^M6:;^29FTU$.-K_53+5[X^;HN.N\&@'=NEZUY_U>AMNM'( M5,M7;X1"T Z;MXR@.-SA^++8P:;QI\,IZO?4CTPMM%IS9@MU M(XH"7ZPMF'G3$D@QC$:F/[XVG3=KJV6;-Y#^2%SLT-"!\61HBOCE!M4J^+8F M<^O!'"DR&ZI4-T.13J]40*#*VEL,]E!EM-G,RKMYH=9FHI&IE8HK)13W)#D5 M^A"R;RZV/:DVT:*1Z95ZHV!(=S6VP8U:]8"T&$\=#4Q@JSKBM-G#("K?=31U"J M(V'53H:F,+" N[R^6IIJ20:%$2MN.2T9 MFU+78<]U)-O5RX+.[NKB6G$X'DI6^UU?GZJ?]2\WJWYTP#_6JQI%'@C0R>G/ MG?I3MM0B0).Y3# ">D!HP(DL< ) (BN,@ CLL (X@'" 2,RP B@FK+"","% M#'"!>D#>[(((& 'TTB=C!.!"!KA /R @NI$%1L" $5EA! F"&UE@!/5 OYFP M#A@!3*9/Q@C A0QP 9A,IV7$KQ="^!E'WKVCNP@A'J=EHT7/7#V:IJJ:&S7> M2#RE9'N%]+R_0[BS*G% HO?OM0"-@!A]_"X(D.C=6QI (@"T#YK#@#[OWCD M$@&4 92=VQT$)'HWMGU7))(=,_[A_WU!OORY'T*>M];?1WO<,[(<6($9O\E_ MWNH>*&*@B($B/C>)?K-T:#;"8]\5SY^^Y;P#!7-M&EPFP/7;#WNO318@&MD( M6EV9!I>)2@%T7%,R/FZ=T^>.JGS8.(^6$]\*2N8]V>;71L%G)\!EK.O;4XX9 M\#DRI!RS'[I(.D, Q7@N[I_9O_@H]P>.__)8!,XT$/RCX&-_+/C4 YVJ.WS1 M_CX?!0;K6)9C'PHR]GU'-H"*_)S>0T?2E8)N _9_TA.RI_J2;I_P7@<8R+=E M(#^K? [4P"=5 XD-L(B^5UWO6%@5F,V9AP&5(L%;/#Y8>^FOIP+]0Y83E@I96>BA\!0?B$)P,GN7:T MGM.=#6?VDE[L-]6\"7G GG5K^;'Y8\^.>?)?VF[Z\@TZCX#$7M(-"TCMV"T9 M:(K/KBG60>14G,)W>J6A_&7=J;>V691,R9;5?*X>V&H.A?*YN-'B2>7_VOM_ M%/*3.4:7W\\Y^O=YB9,D]JR*KLWK2PBRE-9^VUG/Y*'-/&_AQW@B/Q>)[VTX MC\WVQ._-W Y@B2-0CATWDF*VNO=]U.&*(@E,M%1KIKKB:+>4QX5QH6.,2&F^ MZ! EOK<)G_;\J[7+O]'T[^#OU3PO4)7O7?Z@[UW^E*I7U-8AQAN%!A>XRW$7 M[82,B,>5QG$T3Y!(GL2@\_3NS ( KM+.,P/[/D4#ST-NX9U _E=;=EX>[[_5 MX_-IC/.PDE=:>U8J948E.X[&!3RZQD?5RHBRXT8D^)=O!,#Z23/LKKWITS3? M3H(< .B_#O0?":OQY7/-/H99CJ!?5R&XJ^QDET,&S7T!U4;HF/OSQKZ_!/J1 M5L1]@;4:0L5APQ(T=CHX%S?%/*3K!NXN(5Z0AI.]ICM%82PFS8C$SP/[*\G-M6&?5-J\]KY/<^C'I2JSA?P8ZW]E"NQ/7HTG6=C/,DT. M =,C_BOE#M3IJ0T%"O3>M"]VMJ0N=T^+_XAFT32O*(*@XA&.04YPP;)TU?%V M8)*G_U_@\,?'/[@\!>[@TVW*V*R9>R6/8\5JURESY_YW![M MY.6R-"]9D.3Q3GD7Z HO)YU"R?C<1F@ZCZ#P&^=VUC.9'OF7@Y'D ]JJG],3 M;9F[A;NE\P?2,X6P)%D..:_OSD\F?A=_+PZD[\9?]9Y,]"Y3V@^( M'A"]ZS\$O[A56PI<*9XG[F-^L&L'CDB?-L(U:1)E7$?Z'J?6FX5^&T>:9>7/ M/=R.Z\QUO^EXWFM76'5DTQR5IFM!(OI=:;6D\5F8-)Z'OWS#J3R&GNDBZ[I/ M?RX8P[KS3;[7B06<-EGG(#AM;O6T64-#::$7K)D06#B$=79#%%'/=% 8#=UK MBDHE-$9-26!VZWJ'66OQ04'^PD%Q@UF-+T,K9<=5HX7FY,!U55O>Y7Q7LCTS MX4].4I:!Y\<'OI?/V:J?<^8Y7]J"T.^])T*>^JSYA(S.1![?Y?=]&UE_0+[O MX [K&E[!+62Z >$&PGVWU[FG%&Z0@_29]IW%C*5KN]KGRF;"F]K2<[!1S=@1 MBH3UU"WA>7^>%?&S3XN=^J,#RQ[]UT'LOAYHQ]C*X('IF^-1J-$69#O*8M;2\"*'XC&CYWC *!W+!$$KB%N-6'K],^< M3VIFI%]!S&WXT!93,/<3/)4)2>%$:]_)-$=0BNY4/<7"]548K[$B74G M#*M]OM#ZC:36@>#;6\&W'PCBYX?O?7UFJGU5CH;Z^JM!N;DB][SZWMIR 5;L M8MUF*ZCB3$0!Y,LWA,H3YWKK\4EA!A(;,ZQ=0.X7N):^D\3&?\Y0S><^8XF_ M+B$+%M40HF :E?X!V^0Q)+R"S%&26 MWG-F*3 -@?*^$^5]!=/P@O'5#YESJ+395?=C4N4J9,.WJ04G5GO=:".'VG#O MV'.WEI>8D+%P"+'*D96NVE["Q-N\[P%5XK+*&9 .!]+A/I7TW:KH@72X[(:P M?CRJ\ ;.3SXYN05*SG/VR7'>4Z-->!'+^ZJ[T67U8"SU5-G1[&26Q&YZQ1HJ M"UAS.S:7*,IL[XH@NHB&RJB RFBH!D.I!,!Y+I M[HV#0$/>JA%UXF#/%0R??1!HL[&SQCAKKYO]Z2 <=2@F-GSB.-![EL\=I.*5 M](T>X5KQ8J:9$6V5W%__\[84'?XDD:%C]A4J0(1%=TT1LG;TOJ'/&\AV=&I1 M^KWLJ2?Y6=^W&$E%(CZEXTY?YDBU)=<5A^5QX/1VC,KQH4)!8K7%=%CMRS?H M 4KG1^56JGM(4KR?R]X+-#.^8M/NZY_FU^9OAE+AKBT'YPSK97"[0.PS< UZ M;2$X9SPQ@]L%,@]D_JSN7P:WFZV,@"PVQ?CN$CQQ$UC)6[SB(81OA2(,)STRT#R"H&?*_ 3)<9E"52;BG!FD"SAAP0D+3M@[RKG[ MC<-1E_>AI=/.?LV9RA&K,[6I:I1+\L M2F9<[2^?ZZLK/S%4#J*/0OG#-S%[_ON?V8U>EI\\$O@,M6B$6L4)9J::!=A> MX@'RH2?RZ5X=ET3^(R^.DZT3^L4%AE1,\' MNJ .^UY3@K?=6BVRA)'X 3&.YDD8R9-H&O"W*?Q7"Y->&R3/J'"*_N?'>.BU M]W7];NB71/[INZD3^ (O;;6Y*!0<=6C[_,!<^=T8_OB7;V/N.XF2> MIO'W\I[_XTL1U\[ %#G2B*K[!@)3D?A?A.255GKXT^B78-U@W6#=][-N*=&H MHDK,"6R&R^*,F%,BAM$SD:(I7(1Q:([B,(W!L!)]_G^DQ[^(HRGLR$<:I2G! ML>,US[2M7=VN1L:3"*,OAQ(]OJ&Z M+B^%6(MLKL#ND1FHB(Y,N1N#)BH5UU MT.9X=[QBBF;9QPMA-#(]ZFMJ4B'35RJ0G&H95V BV%)+&>JF)6'I3HJE7* S6%P)1 M6= ]J<3+Y+8;C<1>CFSRXR:S7G8$@QTR84^F!H&TB$>FME]!G5E/M.9]2*U/ M^\V0ZU&;:1B-3&^?]VB].JA0 R[0"IV>/G)Z8C%>*)Q::8'L!4C#,&N"6MG4 M%$> 9OM",FN:_5B_OA('FYF@%VO#HKGPB1(3+S5-*5L4C %=#@BALI5JRWY= M1JQA5\3%]%([NAS19S:!@B6]1[3#0R12F&;&S(>G,>&FIY/+6<<5_; M(/'(%*7J55EM3^!FQ">_TW9LPFNI$9_P5RBUPO:0H+36A+!&R'$8_2?@M7C2 M]/9'1=R62LP>X];\7%DJ6U[+2CQ2#A% M?:%(NNBPL:] #;Z%B#Q='\PCF)#I+:$C@A[+-2[2*KN149E-)<>1M&AD:DOE MI5(5#6O7A-A.E S>5"E^-RY.9]4P&IG:DD\L M!A1MS%'!(OR6MU*<);E(^D;"*89""])B.6DCL$-?V\$M8S2.="25WE+55C$- MT4NV4 E;\Y$1R)ON,.Y,EUHH-D,6#&VO"H+4I'23K>\Z3C6>,_WQLMUJZ4-_ M7A76.[_C;R,UWDG:W:6)#WO06)@I:A'JMPMZV!EXPK05%^%.K30T6K7J M0G_7Z;0+O7K06\05JE(KW8ORI(>6" FJ-)IS?-UUJ]52&->R2JV4Q1=XP=X% MDL#:4GW0XS&TLD[*7J56BNFE/5V94A.A49O4]L4F-!+0I"9$:JEUFVDLA!;6 M-=A.95<9P9;8=I*A*4$Q1XRRFDZE%;0NM=8./5OZRXH6#TUMRY4USAE ;<60 MQBMZ*[6[/6F=S)K>U[PZL#EFL*I!$K(S9JV*8.EL-QF;VAC9U]:&SD$-8]WH MS[4B!K4V>)*TE-K8OCGIR274G4!ZM-+H3UVCI"1#4QO#;&J]Z5E862#4\4+= M3C%JLDR&IC:VY91M8=H(=:&RKA>-^$K"U$\GL+:]E0,FM*6'=BBX7KMM><> M%I#6U@-M"G.LR^J"-.O-2IK:]&?3'G,0B3?/#C4&GF.6;@JR\V>NZP MVG.3_%>#;-%>OG\]:U01,.)2C'BO)A_@!(#$9V/$VS4. 2,NQ(CW"C8"1@#5 M],D8 ;B0 2Z\5\T3, +HI4_&","%#'#AO0)Y@!$7TTN $1EAQ-LE60$C+F8R MO5TV%C "F$R?C!& "QG@ C"93LN(7R\Q\3..7*7J1(H0C].RT:)GKAY-4U7- MC1IO))Y2LKU">M[?(=Q-Y^3? HDNTVOJMFD$Q"B#_:YNC427::MUTR0"0,M< M5XI;H\]E.HC=-(D R@#*;J+%S$V3Z-KU 2Y*(MDQXQ_^WQ?DRY_[(21Z5GI1 MJ_)XP5SY^^Y;P#!7-M&ER\F?IO M//,%HG%=&F0@:'5E&ER\V3M Q\4EX^/6.7WNJ,J'C?/OA2GOR3:_-@H^.P$N MWDGW1I1C!GR.#"G'[(B_MG]B\^ROV!X[\\%H$S#03_*/C8'PL^ M]4"GZB9>M.?11X%Q:&!P:">3E"@$*O)S>@]Q,?N";@/V?](3\K&B^]6]&!9V+^Q[4=^0"1-RT'C.4$M@_DX"2^SPW+P;'%%Q"$TY@_-RP)C_V> M;L5+>K'?5%,-Y %[UE3CQ^8C;CONUW_-D__2=M.7;]!Y!"3VDFY80 Y-@("F M )HBZ?%R"M]I)LF&YD:6B/+U7[*LJA$<+^M._5*?]9(J/VVS#O]HLXZ>% W7 MIL;).Z]??C^9Z+4.(R(*QYV6T ^W7*[.H5X;+02$H'H!/N',G<,TPK,U6S?$ MF=&HU_""(,W'K@OS00G;Q-T,#KW648+(HPAYOH:KUT; U=JO7WG?)VRX?A^8 M_[W.:A<%_.E;LS6VS!)=6.J."U"HJ$NTUBWB883Z\[98O[;07Z>_XAT@_=AG M'2#]9*W5JX-@TK"V];I!--W1UBHNZDOEW T9U9I4ME%T+JBU8MUWET.K',;M MB.+.ZB2>IS" ?8#]GW13!=C_>$?U1:DO>=3>J$&6QI1)L4QP4O7,H(22NN T_50OS88P-$/COX/J -Y(+,ZS!D$U^\V.EK%I#<%JWO> M4]N?=!K">EI H!%NCOO09MKDV:3):-(Z'4&)/$0C[[5.SW!FTR,#X<D110Z_.,DX:WIM#\U ZPG"KOE M;&?3^I:I%/_\)JOC.G/=;SJ>]XJ!3,G-&K,U%C4N$)H(7R\-H'V'B?O0PY&! MC!!Y&GG+/,YNDELF?'1[Z7S]FJGW/F.5_:@N#OO>="GOJP M^82,SD0FW^7W?1MY?T"^[^ 6ZQINP2VDN@'A!L)]MQ>ZIQ1ND(3TF?;]65*6 M3AK-_?4$)KWD(=*R9W4%2T>@B3]J0[+\YP'>GWU:[,@??5;VZ+(.8H_U0#O& M5@8__%?FN_O:5GU^/I"V;R5!E5!6 F_P.VG74YH%"!&Z(IDD0<%YB,1 M&A0X8^_OC+V"#CIQB._RN@*I!;-*!^DSPFC;(]IBKR$(B^HP@^O)AI M;E>DXF?.&)%'(/A\+Y_N_+R[=M.5^^RJ BZ+;_RR^%J1RTS):*;=WC??Y[(( M46KP.,UR?1\>(@9:,Q#O@V]UT@?74#(#-7UN_3!"2Z-PSY!MJ"18\)(;]4UA M(X9,=&Y1L0U*$Q XMH ^N)TLDU-'=N^<@R /[_;%%*C2[/KX&=20-QVD^U,K M9S^?%+JH,44-1%LND<8BJ!:EV#L_A-K>-G/N($&/=>QHR5[,[SC\%E,Q-Y,\ M5"8-UGR]>?R/I>B#V]U;L[P>"^/GA M>U^?F6I?E:.AOOYJ3%!NCL*RMF/F@E[&6,GKXCV>TB(*(%^^H1"41R PGW&0E\O@KI^9/[\=EF"AUB"W)0DB=7=^M\K[]/,BSF7.=;6,K MMCIN"%D-D==*;8OAQK$Y%\=@W[7G;BW=,2%CX1!CE2,K7;6]A(G@RN=VLR/! MK1W(VP-Y>_?&P?O?(3$6_@_.23DQNHQ)1@GU@2/37:A!>QO*^Z M&UU6#W9:3Y4=S4YF24RV5PPQLM'DA>(R<#E>K>/8MKM;M1U&A*$DYP_*H]B9 MZO4#97('.\Q@2@M(^@-)?R#I[]XX>/\[S* JO>G0U15L*085)SH!=P5N)S,+ M!:X1]MK18ELJR2Q\SYBZ@]3"DK[1(WPH7LPU,R*NDOOK?]X6H\.?)$)TS"9# M!8BPZ*XI0M:.WC?T>0/9CDXM2\AOB-*3;+/O&XR$(I&>TG&?+S.^VI+KBGB? M[6WWE !QO$.PA3)<74%"^.4;] "G!2&W4MU#RN7]W%Q?H./S%?N<7__4OS9_ M,Y37=VTYR$3H,8-T ?C(P.7OM87@ZO[?3_(&KTT7 X CFL3Y:>9$]>F2[8R M*[+8L^2[-_+$0V$E;_%:_JPA8Y-U2?<-2QZH%E$QMG08BC!\Z,R;)XAT6?K3 M^"$@R3!3J+KZ4?R3),1KTP4 H/NO#[PQN-ULG[(D#P+]Q..(XY*BA:SN0 MI*FP4B(LW&DQR>%(_L+AF/5TQ'C.V;,Y0S5F=[0L4XE^693,N!AC/M=75WYB MJ!Q$'X7RAV]B]OSW/[,;O?@_>1#R&6K1"+6*$\Q,-0NPO<1+[D/+ZM,]W=8+ MXZD^K!8(;LUTB?JN.B^)?/<#3[>3K1RREE]YB%TOC]:V@T\V4+^F3!2JV!@A M1)%0=;+QR*TUP;),RJO#8V30_X8-[[VOFX7\F]G MS[8EB!:*-1\5$(OE].T:MSGCSZ-AOP3_3J^'UB'1EH2=0;3L^;+6JLZ9&/[4 MEV\(!>=Q AS]0 FDO?=K[^MVEUVNYNP5ZB/X.3P3QIYYR&2RB/4F3+>/TTV\=6Q<@9#((E:7WM? M%X[7??#L_^5&3Z2_D%%\80L0.P[:]&HSYI7BB37!3U\BKUE+\,=LP880?XTL MK46A.UHG!L&A2Q-UMHLQ8!#M5=S)4MQZ,0NAZ.I: K?[#L MP'MGN6>@J"-(_2578>?NL+F1!=4Z #>IXXKB9)ZFWRJJF,3M_^-+$=?.P!0Y MTHBJ^P8"G_QIG#V="LS_(D+/K2A.M,S_*/KF\6OTY7%VV50E-X;0#BL?+C'ZT.'PX"CT@\8\>8_/0O^.5/YGZV7P%637-?]ZZ MEGFUB0'=-QOSZJF2<$/!(&232.IA9F MKBH9!6D>??I7R0REG?=HSL /\'<5]O6[JD+C)=$/&/SOW(]O8Y*DN&9)V\(3 MJAWU6\%4Y_[7PU\]_BA138\_<[PD&O#55>,6:1OU!<..+/>=U5<$CC78,W83 M*5Z?Y34#^H,O_Y5R"S=6=_\:./*KJ(B_CY1+I-;,9\ X_NC+MT$L>W$M93;6 MGI&)]!T2TO/Y'IF*$Z@,/[FT>@F@UZ%SI%Q"_P(,/?S8UY$!/W[XG'$ICAQ^ M&4%$_BL>D?O?')+\Y=\O>/6,Y?"30^[X@8A^\Q@QK?_G[E>?UULGR[Q+7[7"E:7[O/-VLE9A#]HS^(_J?% MM0?]'%^._L6SC2K?+'&]?I*A0OZ3X[I";3#)T$[^JMFYP<()O,CD\/(Y;BNK M$>"2.[M<]*-<1W6/_V*L2-WYWM]96KQ@2X$2V87*I5>5TCU_< 1+B>DDSBD9 MQ2"2%A$5E41L+I/B;#['Q#DY)Q!$AM49AG\Y:"CI>WO* 5&:-L)]D4,Z;K4S CHO'U[O.1#=-@O<:J $%L<]_J%'C+X!K=:&1JI9*X5ZW6=CR'1EV_ MY\%4V*OUXCEAZ.70_5+=B,92#B#+WHYMQ-7WMJW%0U.;PORMR@2U!L:Q/ N[ MX9#@9U;\^>E-C5K^5!.+?4JH2$5ST5QUR0&EB5AZ4]LFA\@1O@*A'RPK@;Z' MW2G*1".QER/#2;TW)#2HRX1 &SSG;8;42%SC MHVXT,KW]L%X-M(*&SX2*BQ3,93- M4YI23$,+];I+#XT @67MT;:GX4:CK:&;76L]YKAX9(JHJR&_+XVJM1%48!L4A-6+^&C,1"/31%W5 M)[-UV&#&7+^F#*I[I+R<:,G0%*6DZFP]IK#>#%JOR'IKH-5[GA?&0U/;)V?- MIM'P.C6H G7QR:BR:X_%KDBDMR_O-I[CIS:NES$ M11SGUM:>K)'R;D;,XD^'4]0?KH(-I$8J6M@M**;0Z[3+^Y$FDNDM:6:M8^N; M)FVP2+4$2X6:;)NM"N3@05WV " MO15;X2*>,_WQ\H[;KM:CIOTXE0U/$[T%[2NIL=Y;0+Z,E*@Q1 MJN;$-?U2*]V8/:+#VY0&25M39N?32*FI830RM5)+7Z_6?MB6(+:XG!+CH8YH MW:1.8&JEA>XLF%4-QA?T&4F7I\@2W>WB2=,K%<;#)5:OJ3RT+B&S6=_W]\U> M4O0FM5181D;0%)=EJ.^ME4E#[^_+>#(T)2CE?KMA(L.R"2'59;U;YC55&8;Q MT-2V=!:M%3I6US8J*#0N5R>=0L=(9DWOBZJT]^4^ZW0-'MU!K=JD,)QPA[&I MC8EPS1W;+0J#=MI&6-F%4<"022)C:F,SD]-XI5OA!7X21@+3V=OX7(N'IC:V M+)6A4*"\GM%OBXUF;=XR[4C]1T-3&^O/5Q6/9)<[00_DGC!GS!G+)[.F,##J MHS#7WA VIV[7:',&ES1QG\R:WA>R1/;J:+%K1@=V 6XCI-P84LF]36I?+:\2 M[B2LU1)48@=3#5NNZ:-D:&K6:1F#%+2W6T,5I5$,';X,1S"/AZ:4M3\?K[!= MK:L8DBF$%<_8*:Y]N#A*2[<_WXXX&^H+B-1P=:JUQRMQ&8#7[)KI2.&=K1UB MD-[06G6F/O3LTB&(]:BOD_#%]S# (>H8>8NFM/+4KX_?/#4G8T?YZ#3'[IY\ M\#R?.^EIAPU*N=>^^_BIQ]G@@RGZRUFN])L![B?.Y)/YG6C.N>F$CX;LX[\+ M<0#VZR&B$49$>#>8< P*] M,J: $P 2GXT1;Y>%!8RX$".(AS>K@@(^ ,WTR1@!N) !+E /!+"8LL (H)\:, *HIL_& M" @?>B[B*$^/_9^](F195MT>_O5Q!][XFW M3SRMPPSVOG='.. \*P[UA4!($4%0!J=?_S)!:]*NJNYR0(L3<7I769ADKGFM M7,-^V2S<],C1X3)%8"X!.@A:4K;>"$>=%5[\_&ME9"]:8YRLK>HW(I'SA #OHN'&9:8(1H$.?K_I<@2B M7$_2XT]+.._ 8KLV#"X3I_JS1B Q:5P7!A&(/5T9!A<)+L7,<4W"^+J%G7HX MKR7U9?OZJ>WL[4XMB" 31""6<6487"98<7OB,0+.9X3$8_0#$$%#SIL*/?PY M3UP#_=1YC:BOHK]K>V]58^Q.?W>KX(GPZ3\F_-0#0[[MC'K1J69?98QP1$G8 M>R]H0AK;C]_2@4#3*I*Z%6/_+-CG'\X;H_XJ]O<#"V[*0+H=]$??/'[5JOZF MJ" VDT](!B_;D._ZJ<9&<^25(7\ @O=P'-IZA_^>BNN/C0R]*9,XG*9Y*Y;0 MF9#_=6G'A7.^;Y<.PF[,,1V 4/M -T\%^F-NM6,=OSGLP M,8=\H%_-Y'@^_&XRPSCXWZ'1].,?_ SDL?.1;IA P@E?-TH>'_I.KXDBH($S M^D@W3 ;A^*93N$W/$W!^_I>B #A?EE/ZKUC9F13MA20P,J^!4*E0>&)\ <2 M)ZF3ZLMK0V*O%$_F'5W^/.<8GN8&GI+4GA5T;5R>XOA,K6W7S<5(Z5GI8_/3 MV-W\-.K+@]0S_G2L +U4%>5!39/%E9F;IEY-4B[5\[\S@"TX2LEU?: ^C5[# MGT:O@?ILI@RR^E:8U=8<(?B,1$S1/ +RQS\,E:!(/L%S9QRC?&T&N,9@53P" MYS[%],0@P?!../[WQB5>DMU//VYQ5%AWA^M)G<0[ON/.\^[C7&TBGF>" 78Q MJY^P,O?:AS[-R&3V?E3[91C].6T5W3^7K%VL9UMSS'(XN2JPYHJ"GZ:U\[(].5ZZL^DZS>+) MHC#KME(-?%- 0\S0="*>)Q(LR9^'[U&8Y]KT?PV^YZZC*\^@]5'GR6CQ/>+T MOR+%ZB_JOX-,[%?Y)F'@=,?]VTJ'U[EF7C;\H9.951;3@M\^L=*',(/+'!$# MO9KPVF M4PB-L&@]6D+CXL9".;GHS3H5BL+E%K=L,=KXT*PX(< M._(DI[MRQO6]EJN?C/PN768>$]^-]P\\&>5=IK%?3'IW58A^,NJ[> 'YQ>W: MG._(:!TTS#RT;+NVE#IM3"R7;9B/H[R9%)/Y8:N=RJRI 4C_L:W<=.RQ[E5M MUSUB(V_&XFI8$3<3G*UJ\Y%CK;S<&$VT1[$PFH=&,GV^4-C=<_+[ V.BS,D? MS5BY<3T2@9*U2,9;;I-8+],6,,)J)XMWV<=-IU+%.W5E3=C=9L/OM 'D]6I[WI(\[L)S (>9H\Q3U['M\;WGD5Y:B_G&R(Z$DF ES_W3:0,QN1] M!XEOES_T;:3)Q<1]'ZE=ES_W;22"G=IS_GYXCD8*TS7D]_=(>#II6/?S^4]: MIF*O.O-Q'\\.K8S<:&4]?O/G^4^_>AORY'=>:W;GM':1SQK"+FVIW6#9S[=NO$=ZN4%\'_6XX[$>674<>M+?)&M-CJ& ML"EW^3^W-7^A97JRZ8-#)?-L,1;S@T=:,:IG%O*N7)*1D^!__T%PJ MUC!QEF$4^/Q^:(E2(;*VK MM/C:"K2@&1,DS;UKQ]Q!QES6MN"6781M% I#,,1&L@M43%Y!7#]GRH51%FRE M>Y,),%6$%Y0]=\+ V?>+G=](_EP.QKFC]YP[^LWH.[KAU$B!**0HHIYQ M=Z5@74REMXO ^S]AG,,7W6C;;@NBJP)+(O#(DV@(=P(M>4P6O%2J+R?2;!<'NG*KCY,/3QKJN8'\M!6&1 M)/11W<@.\W0ZWUT.W7$:V5\H#/:1 78'J8LY?:E#]E!=A#03PE;%_OKO]ZDH M_$I 0[ML-4K$V5FJ94KX;)/:5O1QA5SW3TU*OY=M]B*?[>F(D"H"\LGM3OHV MIZPN.XZD&[K52#M.V9C-AC,FJ8%>=[#Z\0_^@!_.R<3FP F3.N_G@OP"XZ&O M.!#]^B&<:^,W0KF#UZ:#,Q8(1_"T,=5'(*7PVD1PSLKD"!XWIOEHI+I=FP[. M6:@;P>-&*R4BBD-#GIR"%XY"5G8G1WS$;"OIR;2N=(7"LC^CE]L<1]8UB2"" M&2)4 K)0W 3N$OF$U^:J<]9;1_"X<9IA]".L$22;WY\\*/B*:RG(M:KMCTP0!;:]1.UV M.#[Z=,7::Y?=YOU4=HC+N?6,<2?;7 E/?Z%8.SA*F'=\I/1:K:GY54YF=;&S MF'#)8GTK6%Q:(DA4>\U0"8HA$RQ!Q+DK7XN87IM)7D'A%*/BP]#HM8]U_;GQ MEV3\T\^=7[EE?C7); 2#K$A=J6O8(W4:<#_SXY_#2[*8Z3\?,+XV:YR1 MX6N?ZW99_OT,6#'-ZA/%Y\;X1E6S>38_6M537ZPV^HC]2TYQ,NV4&5X _4VK M,W=(I3#0$/L'Q>-D@L3RX%=J/S:Y[I=.?"+L+A>RA'F MPD^UA8ZQ>70G]4:JM=#.*P"6XTZRTAO7UL*FHKH+0 _;^46@_U% /$6R"88] M4^?:;Y,0?'5..8,E$,2YKWVN"\?KOJC\/SUI:2:L?"TUK:S$Q<#OTD:V[&2Y M$QL"OZPEUF@O1Y>*)&VP]7ZO-QP579EL!0*!AB8!% ?<&6_(XGN!(_<"UV:S MDXN/W07 M<\5)0-BVQ?U68KNE Q]FRYEW"29JUEG]OW'Z8964*EF7M!3C],> MW1MM6NHJ8/5@Q!&18J']_V'2]'\\&6+M#$A1H P%SD<\&WX594 ?A/(_R:1R M ! )D#+/XJF1Q.,RD&B&X:013@,)9\<* VF84?$4W,!_Y/TWT$V)X#'J6GSL MBE"T:X_S"L?F#6@^203U]M%LNK>MEFG3--B\:^72^<=1:M222(E[^V2]_I@O MV(V)('8RH#H23&70GFCPR<-%,UDFNUT\J]'8V[)&K#0;9=Z0\<=IJY%C\$4OC1X]A%1V M*4@93>B+;)[2*)5L%R=J:+U2FHWX9US=4>^5Q35-36Q)]Y%#LE.,K M;E\40+O7)8URK>]S&GR2?OND-EN.Z%:%HPP9M#-YCUJW1KT5?/+@^'Y_)N4* MBWK+D+.%+ !4;=ZJI^&3A\<7LVVA(8G;B9!-%_QQCO46]3YZ/7&P4R)=]Z?; M,8*4*@G;;#0\DV_U,XT]:5!FC.AUMGRF10('F7>/@J*=,UV5T5= ME,7A9*;5>PW+0*PB/30:#4A4C'1PJI1!- T^+76- MOI -41\QTE*[1]HV"D MELR 3HX6/'KR$*@=D&I/LJ[WB!>V$%8#.N=7'0T]>@ IG 7535_;CHT98997 M.-'+#)E@U8/CNP60+W=X.B46FA:U5F8:-=^L)/;P^#5@;]FA"ABQKV0FCTVN MG'PD-?CD 4Z+>>^Q7FN5\X9/X$:JZJV[>@X]>8 G;E4>]!L-:2O.ZML94&7J ML4N@M_-OGRRKH[17ERN4P$)I,4M557R1:\$GB0/H>QG3&]$X81H@UVT4)_UQ MT^VBT9<'1UHO]08[&<._;,95'V2:8&HP&GSRD*'6HX$LM>V6*+?JZU*9'8,5 MBYX\.%*U*C>GS8QN"'Y9M4"RR/.#/)JD=W D9C(G!JHT=?&LP9;X57Z;=)K! MB$[B8%&:V9!+/K\P^BE'X$VS-#:ZJ$OYP9&T37;2TSC7-/K=8:$I]:EUK87& MLAQLU-@8=GE32DY$=C PIJEDEQKU--3Y_.#U(W]27^AC:R%FE1*':ZXIE2RT MZ"'PEYD^K@ V7S? ')0KM9%>2>=74/%N&/#J:U#IN=5EUYZB/ MSR$W$T6*XTHD:Y#$PNFOUDQ)[P4=?PYVJG:'>(GH#AMB4DNJHZZ2JQD-U%KY M<*> %.KUY=3EQ6S1RPDCP; JLH8JJ ZVNC , HK(><68 :UGI%NK I\.BJT. M"*5.J"6?QH=5L8!G03-UTUI0ZZ"A(:#@V7K MA7%Q4-V4Q87=P:MVV:Z!?I A>' P9I.;%ONXGC'T=:0Y[.;2KL7FI '.W"S6JFJZN4N M7K :$VN\S=-K.@PU'8CK3K*XK!8SOFQDF^5>)P5FXYH;KKN7UX'5N;<$=[Z$ M8INF/'?!S_T/+ZU+:-#_/0FMPYF\3@;6N/7D6B1-,/9>^AK)P"<(/MFG.^#_ M0A:HY^S?NEN-""W3$V6[J/KRR/HV7'-LVJN](;O_/8G M0<2(N!0B/FI)%F,B9HGOAHCW6[S%B+@0(CYH0Q?C(99,WPP1,18B@(6/6@_& MB(CETG=#Q/LM F-$7 @1'[4QC!%Q,8YX/Z,B1L3%$/%^6\@8$1>SFMYO71DC M(A9-WPT1[_?VC!%Q(41\U'\T1L3O(>+S->B_PLA5RM*_D)'Z8MW? =Q-E_'< M H@N,V_GMF$4DU'49_[< (@N,C'HIB$4\UFTIQ;= 'PN,_/HID$4XW77I3(GJR] MVCWT'SQ>+@/28\_+>&\ XOMVC"X^%SHWRCOC4GC MNC"(0.SIRC"X]#CJF#DN3AA?M[!3#^>UI+YL7S_UG[O=[L419(((Q#*N#(.+ MCRZ^$?$8 >_IPGKH%^ZKQ&U%?1W[6]MZHQ=J>_NU7P M1/CT'Q-^ZH$Y: 1[T>DF7V6,L%=Y.#@B:"T6VX_?TH% ;:N3NA5C_RS8YQ_. M&Z/^*O;W;8MORD"Z'?1'WSQ^U;+VIJ@@-I-/2 8OFXL&LP*YOV.C.?+*D#\ MP7LX#FV]PW]/Q?7'1H?=E$D<3M6Z%4OH3,C_NK3CPNG:MTL'Z9GM6UY,!Z?P M?&Z8#':C?&(Z.(4/=,-TL!_I)RF3)]69D8;&65RHRQ\X$O.6"5*B@JGIY)?GKJ;'TH"7^OFB ML&&(6:>J%LU-I76V@L M]=6LL9Q:J2TNJX_UJ:M99,I$JAY-5V:I!,<1,>^??.#R';#_;L1RS/Y?GZJ, MJZM&K= :,D96LVQFG,Y7RNLS3U4VQ45E7,? MGN82+'\FQD?QH&LSP-7F+-\!X^\F*T>*\?\^VRSE/U?UGQZF[+06&:I5*;3Q MA>;Q,JGY*W6PNM PY46>;!:'E7D-!V4SR35S4YG%D=4?SE)F2?R,LY2OS0ZW M,E[Y#J3&;J!RI*3&YS@S!8^(Y-=85@CZH:? MM/%AU;7[O6J@Z<,1RCB?X*D/1RA'.%=JCT L&+'\XY\Z\#!]=X<5_7ON0W;; MQ^!OL&#^8PX+LO'(DYSNRKG9]UK8?C+RNW1!>DQ\-]YI\&24=YD6@#'IW57) M^LFH[^*EYA>W:W.^(Z-U)$(*#%M*ZMI22J+P\)>3!,6$:8:L+ K6PI@]XMJR M7U7;=8^8R+DV8,=RWZ*-OK=1%$'3&*>#)MH'P3 ^0?-G MN@"[;GG1!0-?M\G)'TUCN7$]$H'BMDC&6VZ36"_30##":B>S\ M=@#<**;XC@,L98-Y#F16,\ /)JM3W_60YG<3F 4\S!YCGKR.[XWO/97RU%[. M-T1T)!(!+W_NFT@;C,G[#G+?+G_HV\B4BXG[/I*[+G_NVT@%.[7G_/WP'(T< MIFO([^AE/%W;V3Y7,E2N:E62_6D-B+/'.3<4&4,5LG^>(?&KMR&W?N?"9G<> M;!;!UXC7%77A\)" ;_L]U%CB>S*46Z\)VVF4W:8D+ M\J@8*DZEO+>DJ&M-"(G%T!EC?A<3%Y13F)77TS8C9DLEMU[8= I37T/B@OM M7-Q:-A8J,D4%UB@&Z.XZ$MWB'?A=9V6=O@3ZI.;#88&DDDP7O&%#5(V*42B2 M_71NU?._4A"-U@[KH>'.(3*:$*BV&M9)0Z '?W*/E$K;TA:?X!.:P9/6(\-O MBW.77+0D'I5*LTP"GO5\Y5-WKN_BW+>HNK_?@?ANE?(BF/L6:<_TW8I<@:=S M@ MTEU!)<.C#'Z.)F,=$^<91H'3[R<[*.E%H0 "84.2R98/NYE&*O&!8 M]DLVH"SI6?VQXFSQ0M L=06$9EH;*+9F!:L$%MNQ*C-3K[-#M2KB/I%+,T9MV]5L M32)P%(SC$RF&B3,!;R<3\%I1MDB)D_M)VKK7E,%K!! 78'"8PY?:E#]E!=A#03 MPE;%_OKO]ZDH_$I 0[N<-4K$V5FJ94KX;)/:5O1QA5SW3TU*Y&]0THNW.^?;O+*Z[#A2PZ)<3GFG@C(7"$3QM3/412"J\-A&-:3X:J6[7IH-SENM&\+C12HF(XO"0)Z?@A:.0E=W)$0^QJ9=76C*WS>"+ M5F8P$.K3>=^''B(1S!)))9C4N?)E(Y=O==U\PFMSU3FKKB-XW#C-,/KQU0B2 MS3G+O2-XW&BIVA/'8W]#2]H+-TG/4YNJF!U5&9)4"*(JAEJ2^X26C'I"(5IS M]&K-%4#HAMLR5?C'C&RBEH@)K /F7F"QA*1/X8GP!S+H&S>ZTHWP['2)^N8'OMLMN\G\H.<3FWGC'N9)LKX>DO%&P'1PGS MCH^47V^7CZ/N@G8KHBR*^B1ER5,WLT)CL4G4ZS1!,62")8@X<^5K$=-K,\DK M*)QB9'P8&KWVL:X_/_Z2C'_Z\?,X /D%PQ4;Q@QOI8I4+J]LIRW$_^O.HV*?8 M?Y[G"C+7%^<&,*>D/1TQI7%%0^S/__B'Y,@$C^.Q$/A:!/W:_')R.; +E5_[ M7+X,B]P+79[.3B8W'N;YVCNIV*;M_-QKNQ< W && M#!2?!I(C!\A&4A[#M_^4S96\@H7I+\ 9A.Y1[]OPG22!% M^@K=[ &NSU(60SWCY7]D;.(@K?M?75LY*M'0SU#'0>UJOI)JNX]^_--%M(=: M?V>1$@\DPXXEY-?K[9'*L)1"O+AM?&'[TB^7W")0#DT(BQBH_XE1. MPED"2#3#,5)*)6E))L>$PG,CEI3E'R'(+F+./RFJ*.FE=U,/FNU2K=$N=;". MT.Z5LD('RS;:S48[W2TUZD\I!R&XL^E.,5]M]#L22U,T29\4LE\Y1+91SPGU MCI"#FZ]W&M52+MV%OW2Z\#\UH=[M8(T\AG:/H>T'IWION<[3N:]_M+]*%M:= MV#YT!57WWU':F&C)O@K]+?72NSK.=>SGN6XG//@1KO *J4"1H?)0>"BR-!J1 MI"1SC,JQ/*% D;HC<7GOP;3IPF8\Z?F:45G,,W:1G/@F%)9?/JYV-V-%7]4&RNY:[BY5$2_C;)PNI[MAJ M2FX?W["FRZYRHC :KB3F\$F9RHR6#!C@PD98T?/Y*N>Z]31\\F"?\T&!*F[G MM8K(;D9)7F4I6B6CK@VT?":+IJ,=/-DK6"W9VY(S MH>"4IGBC49],YZB-W<&375;/JZ-4>87W.QV9R)9YWW@,&JT-UV&F)8(7 M?7[(]Z?RTJ]1<%7J\%%B6Q= ;B7E<3V?&Y+CM>%3*_CH$>1/B]U1IL^HARC;GO]<7&9MEKJDR6]U'<_@BJC*3/VLID1HL+535K MJ4DEF=;@L8[@:KGV)XM*K2T:,X+*U=.+Y<0?K"3B"++F#-/A!;&U-++4N)@M MS$:CC0U7/8*ME+@NU)JI4-ZD2S9;3$GD$6YF%YTY7J6Y'(',S,E%X7K038DBHTGD$6QE,\M!:TQT2D9CHW/%P-::-7+67R;2-?G_.\!7/MUD3/GH$6[FJWVE;>2N+DX(PSPDUUAQQ MP:/4VT?+-4.;4@MB(?:M2D02QF3;;=X5JS14ZY4ERE0*\YC 0 MKD<0NYVUV4UZX*3PRISPRPN\U1C)$*Y'$%NG!GK3K]@58Z;,C&K?;&^[L^#1 M@[T6J8:>[/,+RTB2LLRL4_CI8U:481[4?'U6AGZK4.>9Q;8ZG+?3H MP:J=+*5[JL;A0I]J+PN\W$GWQE "'R$7A: G>&MC,*)>)-?2R'04XA%NX BY M9)W&H.L[)5)D=6)_MAK*3U<9EJ95HDTG=[+H))29UA%R,[;PB&VNF)+)9>K[FJK6,EX2K'B&746_6 M=<:=;=L ?:WJ"1N[VFO!O1ZA@2W;'P&JW]@8_3%ON\U>A[O:+#C&;TJ@!7/4(#L^DTVTDVJEN!G12'J:I:3.EB&CUZJ(?$XD8C MNOD^GN3;@J,U6H,%)&WXZ%X1!1[^DZ<A0V7* MD1(Z9Z_<*-GW[-<^5/#)*[_GT.W!#YQ4S]EO;/="(K1_/I?DS)$/[+OW&R]< MLA?KVW#-L6FO]@;4_O\48R*63=\+$;%LB@HB M\(<8$2=$Q&_6YGUHME[NU/P7+IS/*Y5O"P;0C4(?_N\/YL=G*(!D@BO&,YZ> M_V+HNZY; *O!SR _1(5H/_SVH3G]B ?(C%OBE)48\, ?)[#?%%21.TBPY0/Q%+PU">[C*8&O;S9+1^[=->HWB'^IZ- M_\)P8.2F_UT>$C'E?[-S!\&F^R'\J!OX;]O7UX&'Z4$E''8+-EHD2/:#0'5$ M*\ ^O'*Z_0JOM]W=Z)?=W6B))).%XB13V^)DTQE5N:$UY8M_7O#5=.RQ[E5M MUSU2Z-4>\.V*FW>;8B>_MGMVEE@:290J2/WXAR#91(HDSU'B'3-@I!GP MN. M$O^=M[OBN_S'%#J=9M9<50U2S6YK5#?;')0TR'_LCW]X/D'S[S5:ND'G]*U> M?S$*"-7?.0#B2=%-@%G/"A]^CGY3D%,[=VS4JU+%1AOL+Q\5ZNG6OY_]VS"V M\>SD8G^A;]IC#)X2*,%/LA*.$(*@=/\=.\&Q*Q [P3'EQY0?.\'1=X)S8 X5 MI![8+ABT>3!Y9L/M;H,/8JL\LE;Y2=LJQ[[Q"7WCEQP%?S8!^B%MJ>D7C'5L MFJ3@%R6CJBT,?XFWIC;+%A\Y5.(&O6:.3*3H]SJCQ.QYQ^P9>\ZGG$OP9]SI M\;4N.2YK ]&G3*H\S*88M=6"W(E\:B)!,_1]^]1!AZ=D,#L74UX,S\7 &OT, M8LO_QBW_4]L3T;+H[\S$"&8L9-X.LCXBMK+T++?.LJPA%E9N59FE.\!MHFIX M%(K'$]0YC8IK4W3,R7?HFM^9-?)I1NX:4RA$4K)AZ".1]$K##24I&F1D]N23 MYJ\>DBC(NH5!3+IRV -K[J!8O+<)PA-@X>MS%-N/G9]OX?Q<.3;Q]P4&L9W7 M5D#=V(Q"5X\KQJ_X]Y\K%7J3676IH3R"3;6G$$ M2U4GJ&<5- /(5(+%J1-.2HQB'$*T' "WN@4J9D( 8G]I_Q^#%,PL_B\$K1)+ MN;HA&S4I:,2'XAD)N-LXG!$+@7N,>]R^S?,QV[_E]@HQ<[9<1TB);&M:X-NI M>;%832-NA]8.E<#QPRFQ7S9VKF?9!%-Z,'B89)"4"&ESYL;N5&3=J:O9)K$A M1GB"-@S4K0%/>6GF8ZX'#>YH*,OBH,DR'>SJ6.V MC=GVVN&2.[LR^1S7ZO5M6>O/UJ8P&]:=M,KZ6C\5<"V+/ 6&OO,:B.Q$MC2X MEFYALNL"SPTN3TQ=#N@]+M6/':-[B8[$50HQY7_7D,#]5RF@L6>HI$]1(-BA M%G. O0EZML>&]F1-;+C^_\(>;DE2W& [((<"/];LMI//'0LZB:NI*[ -?.F M0::2A04\7FO!I]&L&>CODBR5(+C#9*/XXO][<&-\\?\UY_5WF7'>!%N5[FHN MSO+&B,E[O Q&&F)&Y,;R3((GWF7&6_9D=ZH?3UQH<-/& MPYX=^[HWR?HNQ!!PTH@SW[NW[W"=VJ3OY3-X9VYHV[Q!Z34N&$J'8NBI!$-P M\<5]S.BWY7S?G2GR'FL?W(HE<]1CIEFBA-DB72,W659J9P..1H8)R2. )QFDT]CZH-\#I<]Z$?$/Z_[Y\'[D MQ_'8[(X4K ^_GY(%_N;!>#Y@H) VCGL-1AY>7M1CN>TBWF M\B;.M8BT6_4=ZQ#NT239LUPSY+CW!%$MFRMU(&9R^,)?Y8D*\(FE>\M<+8Q MZ[;L)I$!.TER12>8*DS%D=>F]AC)H_#'K=GI/PNC[<>S2GK-RU&F'&M M/N@TN);262$>1XD>.)O Z?>:KMQ:Y*/Q--781/#Z1?%D @V/BAVJR#I4TI5:?N>M8 FEWF??TBM479_6ZMJJ[7-)BH;\4 M-J-,I-[O>Q?SYQWS9YP+<@)[X2N\^LL@QZ3L"+BI<"-Q4W([>H,P"L5FP+1! M_R:"N->9&<^W*(X/U#C"$3L_<80C&A&.'4N^;VS,^YLQX#*%/NX/RR7M M='D%=QA.S6 3#/->1EO,V=^>L^.PQA7N7CYF[,)=[3F M-,38T"!AB 3!WU4HXTU:ZCG,D.\AF6Q'!4XR?/@G,5]CKFWJ*O9?>/"_VQ53 M@0%RY<-%26A=.0WU?>$UX3W@KSW.,C;Y,:'H\[&6PZ%5$O2A)(@$C9^QAC;F M\UOF\PB<+4IL?N5,T_?9G"FT"A;7XRQQEEYI;)_4\'6_A=@VOYXZ]U%6@8J,-]I>/IHX&8SZ>;F?0X9=Q2.5,CM>UI<6E0R[7/F^4 MI.-YC2#(X%G(W\T=>VK4?Y4+^>A M"40&^28$GL#?'<,9H"3(\\_@CFWKV[_T MC%XZP^WF3NZ-XZ:\07SF=NVT IG. :\F!:X;JMNE?-X7I&G)18NM)J M;#7$T=#+Y+8D.+4GDSSQ;*/2L CX7Y&YF0XH4,VVZ:8D,&G*FN 1]),@6L^FW8-.X M"..4)L*7N%3FG<=.TQZ415G,MK.-FNK/1AKB4F@CT%R"X5+WFD- /D?*Y[*N M(HAC,K*R7!T=,RS;1"9$D&* (AD.<#U'5SR@[CX+;3(U]H+B2\-OE52 R( @ M3P&07]+]M>$1\T4DH@?7/NXWLB/>AAHROJM; +K/;AUXC3%2E+N_J._>K?.= MJC J%U71'XONFDL-P:*ZDLB@\64J01T).MQBS.%-!N(NZ?#H17OLU<1YU=&O MG[C]ZX]?Y :5]BSYN=P@0&WD7&:Q-HW96&P:-#=3^RAM,.B7R:<.:SGCUA$Q M?T>_;N+V[T).P]ZU]B(]'E2X+.YG:RU-:WI40=40>T/SA&02+/DNA]]@Q.-( M.N!8MV1+.5+VR?L1W' M7L$7NM"(@387YH"E;2Z#5HPH:A'$[1V@ZG'CQ>C>*7['+/?S!]/O'87?A$[C M2_(S79)7D7YHC+.!=CCB(9JY39524X: +[2B(QJKWMHVTQ(9-"*D:3Q!DJ>? MWA2I._']50 &T7Q^O?H-C<=(&,WWG)BV#>8[]=$8 M?Z1JT]JDO? MTQ.RY*@_VG(]95AKH9TA54L>5[6WG*+^0K$^M]I3P2CV4J-K M_=]1@OKMW_&^DBZ0@[J0@7*0?XZ5O\SQ\; P@U<<66W)\B,M4TZ,S;'YU>(#=$@9#:! MW^_PPK=:WP&FC)+'/1OSY#6VTKW)Q#;15H+D<]>S%2,YDE$JF6+/YL!R Y3& M'LN->RSQQ>R=6!][3FZ'C-RUN_*Z_\S%>=OI3&0'9! +9U]P\!&QF&MDJ:;4 MGK3Q M4WT]:D,_G8!'/61+-OR!#?5Q#$,8ZSYR. MQOB)@:!8F=E6![D,1Z3*(U//R+ZZZN/].0'JO$Q0+;F;N-5KMI>JN$"\&!7',D3%"]Q7_""8:Q+[+ MG=<"1RG(<6W W+6JX%H'?R*QP;YUN MT2TD'E"M7H*C#WL3W61LY!>]!(Y5Z<5.6EQK'/<2N%HO@=\48$F1+>KJ8,$( MR;0Y*/4>177)0]!$[/X+;-X!,YVUW;*:3B\WZ,9/_>H#@R? MI9=N?MNL#>L!AZ/L%AQR^!D26*_MN0CC,5""UHA@K4QD2P,8Q!S PI^#[%9D MR"1"2)98L-YLNEN)&0,@>. M6J%BF_*Z-Q19L^438W$ZKH) N$ SCJ+9&VY9N8\LA7::?A73[-ZEQFUG!$2N M(\9-6U%?DF1-"#P;>J&* V07Y$#XWR?Y]E)FAG+TB"P;35MLR5WJLNC7=4)L M3LKXQ(*R+&A@25!T@CN2_1.S^K=@]3CYYVO&R\69^Y?ND)3,@WYE,FH(8%S) MN^O.ND@T BY'645D@J;OK:SJ[["/Y>=,%TSVL!& W[30_9D]QKP)P.8! F*W M,$X@N.,$H[.;4VE7:HPE@D0EG(&,5;I*5B<$@Q4ZK4I3*YBI97+6NHZ,/2(I MFR69'%"^@AND4.6K(W?8EM,KB>*1/4225(*A#V_A8B$1"XG[S3*ZM(P@I8(==,6].AOWLX$I.UK$Q:!MUN1BG24OPN\5ZU.0]57;'YG@.J+NO\^5&DK#A3X'-'G3MV66&R28&2:" Y9U\ ;6==$N:8.S]#+^U_R@03/O/['!H\,^@Q9.^ M!&\0MD.Y9\]_D@227Z_0S1[@^BRU!M0S7OY'QB8.$G;_U;65-TP:+H)^AB(# M"C4S7'85;G;WT8]_NHCVD).01;(SX(4=!\NOU]LCE6$IA7CA>;]0Q>^PS@YR M ?R34#L]GVN'@.O4$Z\4'&[%X8? M_6+Y"[':#HNC5V_986ADFRK\8[-=JC7:I0[6$=J]4E;H8-E&N]EHI[NE1OU_ M_C.ZH*A]=Y_91CTGU#M"#NZOWFE42[ET%_[2Z<+_U(1ZMX,U\E@VW2EB^6JC MW\'^RNXS.OX=H5/\5;*P[L3V76ALN)':F&C)O@JMO8N#ZT"FO-Q8E"R!=^'7 M$9O-:D"(Z2J6*W6RU49'; NOJ1(KU?.-=NT5_+KQZ!H51Y!+=:I<*Z9QF5Q)Y.&3*;I(CS.4C!N+46%*B!K5\;HM^.3! MVS>-QQS3SMAIG-W6"'8@^BEFK4F4A+]]LJ!L^(ILC,I")PV(K5VC#5"%GN[A MVP=SDU/RZ5)9V R-"BBTIL:V"(WEP[>+RY25W3S:FL!:3;G8W6QG@Y$FT8=O M[U<:[J#5V>@B6QD62%RU,]RL)3%/3P96VI.U$[I64"F:\MP%/_<_O,0[L@=V MM@'2:DJH8%^I0MGW[-=Z,/CDE>XZ5%WXDZ'!<0]\*M!4GK/?VNZ51$AJ?^Q" MLNP#3;X7 'BA:U^\TH:O02,*]\2\_SV)EOX9&GPK"+P/;:V=7?U*2\LC:,?[ MWGFT] =B+WP0_O&S@8F7UO*7G'GJ@7DWX2-&Q(4003X0=(R(""""( *Q%V/B MZIB(95-$$!'+IH@@@L ?J'%/OS?'\R/3QT>?\#9J];8\U\,3=1U"V U^/G$Q01+!2K6 7,/S$; M"6.L%)[8!UM'?YZM\JWXXD_-E9,0P^=1'Z+U\-_7B'[)%.1'3/%+M40_X/1- M\PE*UC@ 3$P&OTD&Y -SZU1 _:D<_"#4=>T<7Y0D$#941V-D= 08X'JGZ*X> MTONUSW?Y])[0*;KVN4^2T!-&/+YY2?MY2SY+.XYK0A:L@V,UF;7>Q!K)&66" M-VC!+W8;D_1"0C<4J'=%*L%39ZG(C+GWYKDWC E\<^X];TWGQ]R;W*9$M>9( M=7PQK D:4W [.-N2@@;N#)>@F-/4!OSQA=H%3 K%G@$TM ZX"\O!XQ] M-,G% 0K0E^ 4)0+7#DA<4#K=^2$_O&BY/REU;AL#L6 7<>"O!561U@1=H.VJ MP*KSCEAL=M>%;EH*VZDS"9H]2Z%CS+7W@* M;5'6Z&PKSQ3E[J0E!1W.V03[?G_@NPE@5$$P]%9V7>"YF#WR9-T*>Z _-1A% M9H@%5[?#-EZ6AIGH2Z=HB!Z[2=_KW'%(Y/SF2AL=KS$679!&3-W8L73)VG>Y M02,A]JP,** MAWJC'A0]E.H]H=,MU0M8NI[#\J5ZNIX-?LMV2[U2MR1T(EH&09 TKY*R++'L M*"71)#V64BJI2#@]YGB98U2:2+U-\-^*OK =30HU0R%1&W-$RB#GEKREG M)&SPRJ#K=TKC?ANLT\?*(#A.S;?'')@9[*Q"NCZ;'M6KVK$R"*ZWU+O.-ID1 M?""7^NFNH!#+UHLRB"B6+/#XU^H5PKH'_(&+D^RBD.Y(/1!Q)G84$$$\I*@8 M$1% 1.J!YF-$1 1L6B*"")BT1011,2BZ:JE"1]:K=\C!?M]J7Q;,/C-:@62 MO?4L[ M5*\2L<@E6B6Z:.A%>:-XNGYRT6B$F@QLF@S\N5W@I"*]]BY/3T7A5 ME">H L64'73-;ZF897O8!GAABN')2/W:A[U&'U+D(5W[W*=(=0Y=C&]V]W;F MEL)/S->4-RBBG_4=!PJBM*76;4L)?SERJZ8Q]2$^*!1)<;&QW+G3&3C^9%>M M0"7((R.-8PZ..3CFX#-T"_Y##A8G1+W8WVH<7G$V$WVA3ZQI>156+$ .QM_C MX&][*WZZCL!W!;6OR\>X/W( P2/]D5-Q?^3=J@'*X_[(3V[RG?='WJ7C,'@J MI9(<(U$$STDTSE#2:"03$H>3!!AQ-$MPU"XEY?J)49_KJ!R>K-[H"IUNXZFY M\QKMTJ72UTTU'YG#!AK%N _M%/^:G33]W9@Z._&XF693Z(.=0UI+CHJ*" MIT;-"4Q8*P!R?6J-TIV M:$"B.C+$=R;!1W@NU@'.4E?@N;*V,[?#Y3#XN6V!_4 UJ+N1ML3FCHU\.RB2X!]T M:^S(+B0R)<"NNU_FN=QI)NN6N4'B"RV"G%5TA8;\CG"*6U:V9%5^P/I@OS(F M8ROT'R$, M(%+@-IYV!MTB&8-F 3R /M;A7D:R&[[%=Z%IC<[E3:#9JDTPVW<^ZW:[0$-[ MD RVO9JM.3 1-QM^M>I2]JB8:IVXHJ54S[]RQ9,N4) [CG(27& =2 \?758V MQFT ,1NX%IUPM\]C>?!0GM1EQY$T;IONTNW%3&3[7)=*UNKL8*[]^,=;V0?> M-[8[M_N 79-C]A<7$>)K2,X3>0FYQK8T%U$)(L(]B6&A=0G)>J+/74CMW@3S MO6#CB*3'.IK^G,#FP'-L90)FR &$O]HKX$#ZUU7(#4">)0Z(/(P!Z*C9 ?J3 MB[@,TLU<=KP 2P$K0[9R T) &WC%=XC>?X-/$I 9H!R C[WD5"^@#32\>AZ< M\ %+8^AUB'G@$Z_>@MWK MV!W1/GV.SIX-@W9O_[0";S^!T'C[D;]?$1'A[C/=>_H0BI% E]D!D$<[FROQ MPEH(P/R\=0>XD''X09,$%A4@=Z >-C_*< 8^HL MI9FVV7_\@*$X,;++,8(.C4!()3NZ^1_]U]L_NEMH"?RSIS0D'64,FEY@#)6- MJSCZ?"_MO4#F'ME\N$7=>4&.,1TA#:5 0>4&\F@/0P6'7K[FV%!D024S MUKU0*^UP'@(Y,,]]*#-=N"L%GA%*1R_8HH.&)T.*F?IJ^ 4[%+[(-$ O@9N7 M-1#22<-WGC$UDS=HE#*R-E\H2R78!SR(CP8^(GO?>7IJ:D/[_/E9M,MGTQK* M_$ ]STWPXNM0.=N0=*!PGZ%LNT.*>77P!*8 !Y5?8E!FVR&@H&"#NL7T S/K MQ?_?9MP'K M.;I>@5^ EAF L%+!*:GXZS<8K^(29P]39&17=QOC)M0D$'3!>FE+[>B:%1"T MY:%;*A]-0=.:4'PY,X@>BJ#30_=$+"/W22@[T&[@!H M2(0VPKY:'4LK@=PG4A0=6+F0D='>H+?F!E+Q6I)"!D M362&PS^ D0.M_LV.E[A=IC4"V7XON]7=8.5=E/DW\!2XB2%:A^ 3)?E^&:,$RBV$( SBI@65:8#[$=+2C9B$L&? M]FN^6BFP$I -8YJ8K$ZA!;(++R":T=TP=#'&POM0= 1H@P=&Q?.S_\8L>#+7 MA83Y1$=C&1JS\Q>R?<]\[Q[L87]I>C59^^H]\#7!6Q+H-J04R-_]"]X5R1$B MUS.=$#E!;TSSX\'V7[_MR.W2D\H)@O&?W/K_A5_+[F0S)+BE;OLNE+^AT8SL MW/#^[X7L0U)L"M I( &@JA*-CTA)9FE:&E&*G$J1),\P!UU@1&D]UVEAR(I9KCW7 M>AI1(J='N]7@S$JP"JULQ9"]PC)M<]U>6]>.=:L9%_%L?UKK#G!=FO7):<6)T^RL(VPTILM JW3J-E#CJ(.WYRLYJ5R[(FUBV GGS] M=DFEJ92L$$!*D2PNT6-.D4;,F);&.#-65)IC>9Y[NW:RYCN>)S5Q45^*'KNH MR)45=10#O.34W'%#7>(SINH4UP.IP7I'1QQOG0G1E.G62.C7RDIES'2X9ODH MM%*C8CJ3=DICHV!5+&(^R-,*2!\;<0S(1H:DQOFBX(^-8G="%(BZA88A'[R] MF4NU&W0S.Q474DI5U+:Q 0W4S_3@[097[H%)9E(3&BE0(Y-IS1I0*XD]?'M6 M4KV6IVX5,5OHY]8%YK$[H=+PR8.W2Y2< 6.P9HQLOTHJ^&P ^!1:<_]VJ'MW M\8^=%?M>K&0? _F-B G:T9F#0Z@S>]I2T7^$A:\O91-)SS9 $4 %VBW'_Q[$ MB39/P2$^U2/85F/]B,LE\"@M[-(*V.DSA7M.'_3?GQ534)OZSV1KO+0/WWY_ MY["@L*@.MP;/&%S!HC^-9!,%"U J@^P%5P7.\Y?EX%8(N6JJ(Z^@0P)=&-^% M]D40A=C?>L)O(/T67&K*FWTP6(4FY>95/!?XJ;A11^Z;7LR0G>]='>1@E\DL&?"XV&="0#H:E<(-Q <_7D# MP:G-L$4OW*7OOMZZ[#[=U@;/HLMS$WC' RY/4$$Q:I3M<&9NZ2@3H/HF0%D; M[W/(FPAJ 9J4<\FG9IFT6IWU\'ZA/F<'I4T[V=+>B(3W'H4RZ@U3(2=];)NF MO4+><&"#NR\R=J"/85LHB/[D_")L)$*<@.?M!BAWWE#RD^^"8+V[%OX4ZO7A(%_LK^-XNX_+?/P\=H/EQ MN?P!6*-[Q17)YGG\ TF>H'\>R\7]\PYR1*XTMSF>9!X11+!,C(@(( )Z\GS< MI2H*F" ?R!@1T4!$+)LB@0@DFV*[Z828^-TAYA_9K=^A+=A')N.52LFNUE,O M]4#==D^]LW30BUGE$JSR5=1?LID:]<#<-I^1Z;M'??4VXU#NFDR^%I/ MO9UHO':SIB"X&MPQO D*GTSP7?N$UYAYA3RE:Y_[1#/#^>_>A^ODG?2.WQFE MO:SL.*A75$\V?7"D$5>C/I&,1XTM"16#&TU]O&(8)6W72H\A$RS#G:.97JBE MHD4",5N?(H(0+9S>>GN]/V5K1EAM.FNWO,$7YC!'9:C\@)=V_?6@^97@*/:C M#GLWY)"AO@A)?9T,V?1G,?B/!-RB6"RK?='HUQ=X:=FKF$R^]7'J\&]LZ9.Y MA&\3.OXH5>))YMR,"QDAL^EZ/D$DM<[>!(LN6&[='GN=S7-L,NBZ+3'YDI,R M^D+.RU191:Q/(^J24YLDEW;K^BB=+W?21#\2B)?'%PZ MO1?Z6EQ04%RHMH^R!Z\B-<\;?;KZ6:,C&\\2GOJH(N#U!R^>/")*%^WDBK/J MFB[XT[DU)9,STVRBHI<@;,4G2/XL,R#BL-7W%!C'5>G5SQH=@7&6P- M#43$LBDBB("R"8_5]17S_#^R6[]'\O+[)F-4(TK=B("N4@GN4$/G;]H MI4U8-L@_K/S;I(5UH9#P%3QIN@=EH%#\ Z3!IF4EP+'T^N^N[D7LL!-XS MV*(+EINWWCX4 N+RD6BMK?)"2-8[684W96*^W2*F8N) *J864)(7Q)$FL4$LBZ02 M#/V>SQO'LF*)<8)@U]7/&B&)<99HV"DEAL.Y@[';V(IBMEPH3SOC3)GAT:PN M%"5C^$0J17RV#FR7!/IF-,P_!_-CCB-9& ;3K8-)Q5@5H>T57LE/)"0$0:@O MEHB=:;P1FE3USHE7S;R:W,CU MMC CTP-J9"V6RX5V(Z/ ]B# GF& O08"MH?"?DS8?A)8R<+*O@5V ZI7 LN MEX,(HF=#LQG[G;7_0JN2^-_(H-Y_&'Q$_/WOX%^3)[<00+0U[S&!N J$B+'H]6:I;C4%& M6+T2/"B$_%/U'92W[@+KMTBW"YQ92*%UV7$D66KHW3K-'7__LLDO\9XJ[C26TTV'8_L9IH=$G$PM6SB@##,;^GPZS,(Q8F[&T;_U"(=H_#$$U,XX.3X.LHP MS_)\@??DB9Z":G%I!6-'O$K$# MW#E04%V.N9,A;TGRS_BK57-$&8I6ANI/*G4^A#=9Q82;R"1Q;OL MXZ93J>*=NK(F[&ZSX?BYO;"/.TWAR>1"ME6P1_25,0H5F'NYI;O( MRD(+/&!]$ Z-M4U$5 FT,P? QT B&-R[(Y< (G#U_$!K&!;[A-- M/6#=W3<@'"QWC";9HD,Y[D2?/P_PA6^%4%WXT $9H^R0H_""@$'F/?K2WMCT MYWN3\AVS,3A]BX<&UWO GQ O>H>S8"MO/+8X=P"5\2>BI'7HBV MLXBY0BPL9N>#8"_Z\A&PS6#L@<&J96B-4WN('* MP[U1$_37WE0'$N9Q_=M.%S@N9Y!"LN\U#"W;GJC0L_Z'8]ZQ/!&Q0S ?.CO/ M8BZ4V.?Q4I_AAOS2EYP1R'_(TH'3BNP2::-DPB.XH\G=6-2MUJ M>T)!VR:S;J]=#OD5:J&Q/M'1D.XW9E;ZF :P@ >E M^.<'@D,?8^=!?,:E#CCV*9 6OO<,Q'9!M['IV H JHN"'A]9THTY0/NRM#3R M_ )R/TH<,L[;8.HM?%$>96HF,R^.-VL4&7DO,'(1__N,#MDY #ECAP1E;?H" MGJS:7#D_;TVK&N0R]CT1^=8YAYP21%7GNPWN JL'0=U[^&N M>Q?Z=)6-O%3+"U=JZZZ1#7Q-]-/39:<^3_%T@9EW!/G1&Y'J8LU5F!VI0?\: MJ&GOG>C6=_U[!D(0B'/<-GA ]O?@D)'.Q0,031NYIN>/C?1SRK\ MNH/B14K@K0,4?IM#WQD)$$2E*, "SQ\R-Y0%**H!'&39)_;?#KQM*/+G_@CN M$5O9CH$DSMB1PV_Z#MA[XTB^0M??W*" M>UK$^A'!J]!TF(OB5#,9C,/ T5A M(,*SYY]-N%!VX) J6L=-L9RHX8W'T=Q53$MPB]J)E4JIGC^\"X42Z-A=Z '= M0@Z!,K4Q[MKS/1*?M0?^0OBD2(\>IQN&(+!CO6JF,BFK-$]_.FC])9#\MKUR M&9#(!$7G&BW+P&5#&_<\C=*V*KHI!M8GHM=[B 2*<7\;B5Z" (:AFV9, U;( M+@Y8 B@QP@"&[F+R'%J2:WA8#^KGSU+E'/* -!K79X,436=%4,KRR7K?&CGN M[X$_O Z>VLX3=)X=;@BS+K">_K#SE(]<)^O6B^ODO:M]@(K,)@.%P02RJ_'* M)TQ:&;?[@M?$%RTD^0+@AR/:G0Z:?5U M,6OUU\E!&;=5'D($":-^I%I9F MM15QPBF3>3I9K55G0C_/30?)1K*=Y"#AT,<(!P60@OCK3BK]C4WL%?S12>R4 M-=3=%C+X VF%?G5T%UQ4AT948:38)FNU'\6L(5/RW"$ZLZI2UHXKC!?Z82E# MXRCPJP*M !D7_?#]"-A]X="@9TK5E\>6K7NZO>]Z\ LL$/O>A^F MVEU](B$ 38B9[8 P887 _[5/;'HE.:*="O8V;'NDC.5%I_,7#=P5$]J1J%IJ M\K>JNW-3WOP,ZF'^/WM?VIPZTJ3[?7X%<=Z9>[MCP*,=<=ZY'2% [#N([0LA M)"&$A 1:$.+7WZJ2P&!DG\TVV%9$QVD;BU)59>93F5FY1%,ZID$1V0<2]AA: M@X^B.O(D]D# CRZKO)\-?3%>1E(,X]\O93>_;IWX9\OX$=1C E641(7CU[7@ MX;__<5'I_I0I!CLJ6?;W8SK8V0Y&.T.@S#!5R82%],4%>/UWT?#%P#FV3<(? M\%/#YN^GE#(2SBGW0.'_E7K\$>[)%=E@LZ:S;;OHUQ1^Z[)C4_39#ZKY1S0' MA^%W G]@GM";N2+V:X<<(9J0CX3Y7S$%U'J N/\:6-+S3NF7"O<,T+4'O$ZR M4&NKQRH\XN5X1Z+2#"GAI\*7U[T"XF4GVCFT_QEX*WE:5T2 QP\O"7=%D?"/ M0$:DO^ 3J?\&!@O\YM]/:'5!^[FQ%=3; J9,_I;)2%Z9C!%GO+'E M^.0JX%/H%F9SYFWK2G^#!:Z[&&3LB5)O<>]G4ABTSBN'8H;$RE2U76F6O&*E M TT**B9HZGTLQ\](YG%]V.G2=;N(U1O=W=S/!!61?TP;[@:C6G@%=H4QCAK4GWH-)2U^R^ M=Q;.IZ#GCS']'>A9GES!M0/&'>=O+5SOS%U_3-OXI]>&D/OG%T M#%A;%.0$5-*.;9G@1RD,[GJY/D!QU5@[>7Y4$A36W*PZ+N:Q-?^-@F#^,.8% MAF^9+E &JX[C Z.0IDX_KYE!91HB^ 1Q[07S-8-ITZ)H0I*LIDZBD; MRT:$^@M +! @L7^_IZJAO4/PAA$UXH>BTHQA-\L:HYD6 Y0]([9_%$HI+2$ MM]3.><82BGX,8WJCMP&D<**!Y-- X.];3[.CUU[%)@&39 E#Y>7SKXAS&+($ M$^]0+AL8[SANE.T8QI2 >=@RBK-'.;MHB\ZX]'B4.< \EM% Z+P#FY%.76T5 MS.W0'+2UX'_*8A$J2P@/%QJ$8W0IZ:3F"B"XB18/71^I4^<8G#[94JC< ?BC MMDYMP+\6F *<(9CS+PT%(T#APL##8,-$V=J@!8 AUYH+P#K,1P'(9,KA[CI+ MRS-D,"XTYPP-;"J@^*/>!Y,68 (8>AFDY.,R88QJF"D&WQ(5:3"!&#C1)L+O MUD0 L':0PH^S@]&7YZ](S45'<\ZVTM<,(V5H.GPYX"G/0&EVGA.%U:*E [L> M+@L=+HA3SEGA%%4;DW8(:&.YIN6&#\$S2C3!!(V((^'LX(D,#K%,/0RI P. M-YX2O-%MLQ+F5YTW (I6-_=0+!)X V([*4K;1/E50,[#S4-[^GR.Y-%'D8Z6 MCT)]H^AAF-H(R/%8CN03IKJ]#3Z>B/4S^)@[X6.8]IP:B'NPA@@:LU0<-#X^ M&0.)_ZL]?QH]NM:T?U!X2,33$/D4!UITQQC/8Z8NH+^KJ!;*4 4?PT0]$\8L MP^Q4P.L&S?_10Y"H41,^U "# O]I14"GXS@DS@&IL M/>[ &<"#A3X.##<'9H6 OXNJ:BLJDJ%YD%IYMN;(6FBF(*EUE(V( @9_-!8L M]P,$>Z?)$!#.!_J977MXRD)_>":\-I"?120I44Y@"$N08M'@,,$@T@,!^<2P ]@(+I,^!45MOQ+< MQA]? WTJZ$2P>-;6^)6; XO()IGE<@0M97/R3%3FV1E%+8@9NV#F,VJ>F^=8 M3)%I!EY.P L%\5B73G(]J9X3EKK0YBN]BC'82SC!07OJZ9,#R^MG%9;?\F*. M[%BYD=?'BNJ,F-%/G]0WM%>12(?"^GINQ!)>,Z?NNC/R>LQR4?1[ 3G7^4Q# M%>KSRF34-7WPY-68XZ9G*,L:0>J,9\XGFUY;&*GP2?9JGM-!(>OAI"R,!&'/ MU4F:'PNP'\75V[%NU1Z-=D).&"E+>\&M;=R==\&35V_/B!5R.)YR;2QH=8=% MJC"I% ?PR:NW]YJEE3'-*"-L'9 ]RVPT1:4#RRQ?O3W0!DI^* 1#85OE)&%> MJ&TG1?CDU=L'-L9.@F9GRY<[O9ZCY[#!$LR3OGY[8(M"0_0F%4'CAPS;W1!S MM]>=,==OKTN-?<7*\FV,..PKTJ"=V? 4K$=X]?9&7AJ4M*TN\6NVLM7]DN"- M\W#,J[<[5B"V72]HZ^V!E2EO9"*0 "]E9]@5W=W2=K[*-':8UJ2#1:.-;X=; M=<9>/UFJCH?[7)O/",I RV$RA1G>H@N>O%I1<[SRI-*!LK#V O>+5FY=FZS@ MF%OKJO25H-OSSU]\ M>GLO-W;FU%X>Z-M%=9AO:#6UY:HS'+]^_6XUZ,NZT"CPBE0VE>E^(5A\%];< MO'H4 ^91PSDT/5X9M3/6T"8&A0 ]>K6EY95@2W6B4,?6O34IS@K=0D_@X*-7 M/E2F.L74J$E UY_LG1>-E&>V4^D\Y_Q%[1ACEZ@8\VAB]<=JP^E M4[("-#NPJ@4<>0='!IJI WU+FK.$Y=52"QOP,\Q:"SW,Z+5087[\!E0EA8?^ M0W0/!0L8B9*D(&_$F]=G>P U_[,50N\$^(YSL;04?%]D!,04PGG\$!A;Q]H_H=$A(G=8)GJA?.8^ M@[]<3 K\AI3T1^]:I*ZC5X!W [3)Q+[_3]Z*'#IP9!MFZ]IAX1GHTKGK^+#W MF%?5//)E^FS#@%&KP/*HFAE:K U@E!DA>.& GS<>H(GG*,#,M%QDQ&D2Y%O/ M%.65YX"/_@X=F;$=6 \F#*NW,YU_1CH3EDX"/F"30%&*> 078_/1/R.!/XTDAL M/?/L[6>S.V+.L>PBVH'S#0B.!65A9GX*V)%>9#3ZL)Q96-0,6NS@41?6:]$6 M,/\P'6WP,64_>.$%]\WO;ZQK]*6E(@/+J;TX:1T<8D+.E!N//!@='7+;[!W! M(@^Q @6E7>LF-:]E#&J&V\'JY;IF$45Q7&Z\U=77CRML+2S#L'R4@(WX+_*" M (8_^4>0OT,YA\>E!@# EI9!RH"L[41B"G/1HIH#3XYCZ #Y%9"._-^N!5T_ MCX!]>3(\4RXB/+Z?N+')U%_( 6AY#OBS\_?WNV;LD!3'F-2P50&LL2=N'.7[ M\8?S:<"W1BH;C#V4PC#(RXC1Z^C!1\_R,530M8]O/7.X?/O9UD44_9!]L6_9 M663CV?@6&!.ZMXY;Y8AN<^C8E\G_O9 M7W1%7<0F_V&/CX00=T$(_(%A$D+< R'(!XI.*'$'E$BPZ6X(@1$)(>Z $ DV MW0LE$FRZ&T(DV'07A(#8E(C$*U+B%]L!_]"F?K]5L^"/OQME_+:P_+'V0+(, M^.'_^\9^^\W]H/$'FKAI3W!V\T+V]4]<;D*/:N@11W[5\,?S2[CP$]$-_W\* M3PY_+8JN$OK-/#%?@>(_-#3>N"S#G6[+1Q6$ MTT%"_.Y!@M,/5/;-E_XG!T7_,?GEE8#@HU+[;0RIKP)[[W#:WPCV$M7G#C'@ M-@;%GYP#.'[7YT 71>.$T-A!(3D?Y3CX>*QPYRI!&P8V)=1_,^J_K87P9@IA M<@XF[/_YST'-#,] U /JZ#<+ V832/RJ!^(I?#AA@2]Z*@IG,>3)L9CP_U<[ M%A=6=)U4/2:,1,. MM/CK/!?S[X\"A??,$/#,^R0,020,\4JGX"=A"/+OUS@M']MH?/^7)"G*8O'. M!^A+R^6B[-/+]-%H^5@Z$@R,H+Z_JFSW>3G+J[X01Z00$62865/U"U M5%A 9"<:J)K71[!N[H*%WS] _C\_9$S[4S%+D;"+WEFKP==N%<0YL_;BK'S1 ML5W+J2Q1/CC]6#F6YD%&W45WE],SH5L4/8 _Z1)S-N19-DX)5N113"F('^\\ M;^=4 RD:N-$>MY=39S,2UGNMO&WUF^L^HYZWC,G\4H,H(-V<*A'>Z<<.)&8F: M*)(?*O"0XP6.[^36>S;!)Y^$4=.O>&(4F^P1C_O\Q97;.;U\GZJ.)-M M2]R,NC.)HAR22R,8&X3^G;_5D=_']<6%SVGZ,;1UQY)81/:! MI.&&@H^B1J$D]D# CR[;>)X-?3%>1E(,X]\OV7ZOVPCTV9):!'5FXH6,@1/7 MS3[AO_]QTB-1AI$_-9W)GY PMK<;SHW5'\S%)W_E9;@8?Q=_A-#\_ M@3>V@KH.@V[UI(6'D';E-DMI3FH=VA)R2G3/J>,Y<-]=]#5 ("4DHR@MTRG M#-(R!-BE3$ D=,T+K +7" V4E++?*!(\QP%2@^,>/BZ?# AD MO$$3 (QCI41(= <2'\WB>#;#7Y X@%/=!IQD@QU*>2[8V@.?0I,K#6=O>% (3R_RP!$/N1/]\6Q'0NX)-,60(0ONP =GXX'= =NPMDSP MFBWJG15^&TP-\%E?45(M\&&*#94]_-_H_P2 *RT&'C47G(,2(,NC(95ZM$H! M(&J(3P@P#&1VB")P]4@W"2TW\-O#2:DX!XQW*J!\,2P8%0W:Z3<'__=G*RA? M*$,7)GS1L]%29O@,#U,3!]99GB)!9,J59;YYP(B./6]D)^:*K7!/[=8>,+9- M3RG9UKH0$7X$P*7@.4"_4>P!>%G>L"3]VQ%A6X&\;\ZY25T0Y5%!#;:F9TZY MT+D -E>1.?>%YR(D3BG $MZ :0!2*C<(H(4\&!Z35&1T1/MP"IC]0M;%2(G4 M=R"7=K@-$02)0.!-%1U81U1 :!=LE O(6&A[1 ":+A8*.O7@ M0090SEIH!L"_DA4"IJF92@J@C[L$> K6(#]66@7J63H%)0-- ?J\TJG_?&6O MV@]$\NB@BI.TO C,M?8"]A@$6WKASX+$Y4RY&>VA<_QZY,EJ6XUJT&;(/B\2 MS6EOT%C*.',9<4#_@B?K!XC [R.J0Y<6^$\>B/N38XL)8:(%])V9TB#ZAYZ: ME[% PI;NK)%W_!KW[1\RC>?PA^N21RG VP;X(621MZ8,>4X9\HTH$^R:_K+I M&'LA(Y;G!\ZM"_/)[2F3PT?#@[O'/'V-LQFK/>S3Y:G_[1\BG87FW0N4 4H MU%' .6P$Z:,>>\0,H"0A?04(W0),\4QC\9= 9L%,K UZ2I25+3B%P1C@"PL@ ML7)(<^CE4,!N*"D? ' 2F"$ FT7 $0 #@PW]"FX%E *3F,?]9](_IT+ #F; M&%!\+-4$@ @TZ1U4KA P@9E9M@[_#G5K0X':RER11,]!F AS@D/+@+H8>BHB0>HO@(W030#U+J09@E4@%>NH/Z8<#X"9Z" ,=""&0BU> MA@/)(0"'Y@X:&2WUN'(Y^DJH8<'90K$ CQU'!F"H @(Y?X?;&3330DST1G=. M>?!\:5#],P$[NG$O@-AQ1N,'8%([H2)MS2_W*"7:RIDS"VZ \]CX$6T-? *J MZJ;SZ'+; +ZWY-/,'[Z\'05T"B6T1A3(=8@%7-^"9%I# 7_<<&=I>084.TB? M^8D!(_>.OQ/5=# MHQFY2\@_YG.C/Z2X?B'%8$PZ];*I$H%T"(&%1PB$%OL1J9'EDHZ8&ZHUSZT( M_NW<'@,BOM:<$!R.: 25(B"8)EBC:@$F!&N"UAC0OT)+\8A-8 6GL9#2F_UW MA&G1"8MT-H3/!M#X$>* 9 6=GK#"UM_)O.B=S&RG MCT,>V>4A5;%\L"DVX !)$AUDFX/W@-,%+4^Z%(\?[7UTKOW:E]+P;4>.OIC] M"T)PY/MGF/71Z7/F^7"02FH@G%(,Y(Z+K"!MD1*AARZ\>(&R8 !]T11#/0K1 M?0Z]*Z?S-=(]GAL1_OVGQ/()N4*6"SU# 5 ;W"6 "\^)Y/SX\F??JH6\=G)3 M(2L.&6YB*@3_D_,+(>L+._B:!^3%N9.ZUP.1NVS[<3)&TZ$PO+[!\[1L58O( M;;K+A;SGVR1&;H=CT>M*EV6\]#R"-$U>M7S\# Z L\TE[TT2$83A3,S':+ M0":1S0GE=B:9CCN#A@)Z%8YA^,QH#;3&4FKW!87:ZAMGWMJ,L(M*QS\3QP)' M_SFB7LX8/ )O*47U,0$A0YQ1NSX9M\SIJ"$)08\\X.UE&=A2*J V^X!=D?N_ M'DW*']#Z7,60/?L(QR8@4>H%E^ESM=S>B51]JU4C#[ZYQ)195Q0+F=J^SG$7 MU,DXBO0=K @8IK*CF+\E=B]-M(.4#_R,0KL:4RUP_HCE,^/^:(\'V?W>Z\*[ MY'!X6KA9?^AG$\M!Y)-Q<-1+;H%/H%LCBV.^M!!0OM)ORM M"89<>^LG06%O3C8:D2W;:0R96::4X;<;EJ'W<][B)_%D0SOV#D1C'(]G5X[+ M840M4*U&V266A!\&!#RA%H#"/]MZ<7^[K2\UB(74W;?6?$$J*-L:KQ94Q;^Q MQ$@4RRO9L=[!B,%X/1R4R6*_#C -9Y^3&*0BHVB*Q#7 A>8WNC>PSF_!'Q5[ MS=Q9!KQ8A+@1.>-V(B #],(ITM+4MI[B7&BMH4OJ6I,_7C=$QD/,V]+7WTH_ M<;H]\;DA@S-R@<4Z\:"+Z*A7PW@(SSB_6U%$VX1&K@#O*!5' 28A_(L;7JQ* MFBUY:XBMT$:#7E!D+82J]Q,#(7((0G/3@B$B6N@B@(:GZ#B6I*$5(#-)3 $K MS]7@5.QS@R#.Q7CTQGK.HZ5W;MN&-]UI-+DYP/?U1D0&P3R([&)D*(*)R![T MTP&F2P/=8*G('K0F0C< U,'"O05K 9:1!6Q$<*:<4>5X910N$'H -M#Z(0&O 9M*2,%Q=6RG9.#U5=$*'9@FH8&W02FHLC.Z3=9,<3@.$]@(D>Z MQEJ+-A19,O#2.AW.[FC!(1E* VL:6+4FG ]XLZVHD,+((-]8,%Q.BJ@"_E'6 M\+>U" [)Q0*IILM'5RV*SH._K90S>_21U5 0Q68#E& MM(R&03L)1['LQW4=[P\?G2M.Z$OPH9L"<(PBPZ^@&(B%8?GIN!6=.5*BC0^= M$K&\C+88>O=D,$<'VM7A?D-)^_*8"^W^,,[RVM$$G5(.O$Y%;@\'NFL@DL([ MWB/N/@:4RHH=,?IUP$C$4%*DH?\5^P><*?D3 ]1?W0?CQ";/RZCPZW-10G0],1GX4.0+!YX4VU?VZ% HZ$TW4- MR(-%MT]/I/& CA&@Y$/OGB6!XR[RT9X Y5E. M.7//0@)I9O@INM>/[@6LW]F5)%3X%T.%R214. D53D*%S9<#V8X!:K\0SD:\ M30 ;U*W"&VR@YJCHH@#=H8LHN@/=?$5G.73#2-H&X>;YF8GT6.,B&#+UUU)S M@)H,\2E]BB"&#T);!*AC8(R_PW,"7>.?[OY/%Q@0KCT4A> NX8T 6%"B8/U3 MB->!@"[L&6X4#O-H&CU>2@,UX>QQRSY>=:+X5J0P' ]3H%*'-HERNGV,-*M0 MRWA&"X,F=JB6'.^!HZM%%/P!E/702H7R'06&A$KW41\ZO3[4W7[V93Z\/%)T M9!0@Q2'\#1D6A@%UHW!/CG-"#R(U#OP(ASG^)8.B<>2?W#U9@;K-XV"/PR!L M@./ X9"Z O;S3&[.8H>?A*/ <'NT)N3$":\XPYU#,AB%XD?K>$@5PGT*#7 M^6VA(>.7UUT0R?N(KC@%;AT36B[-%WU7-?!_PXM,&1V1T[MRA%+"LPR,G>743QI\]]_"$!-!B0,U)(B3OW=$$M M'4;(/68DG+;SRT,^YSPQI2)4UL(PHF.D4\B/CG)F*X4A))?NH#,?QU,+'5T1 M U;0P,0A#WH;Y&0\?^8$;X\O"9U2MA$@&'^\#'WD, 2FCV@0.0ZM\VBX,[K' M<%\800 =F>%3*$L&?I1^^I7017B4S:.+\I'7+T7A,J@.Q=AK-\(-:FHAY# M/8D-QJ676<\%;TQC5"88DH71_.Q8Y+@ Y]FJE?XSJJIH= MR,26YX0W*K&AR>!8ZT]KY:Z/,7Z/GXR\Z9;9P:L5[(%Z-BXYC).+="U(ZT== MX3$?.YB^12%!F'?0MZ)F@?D^4C;$R?\3*K!;1GAU_*";LD( $7!:V,Y M8J8%_?F:K'9YI3SL[W$V&]1Y#EZVQ000O!=''&ONIT@<$9H$7+& -I%H!F%L M^=/KFD?\NC*(/^4E'<)R&"<6[,4_A_ MN)_Q4PZS%*(SP+%"K10^KMK1<_"@.2I]9Z^#E\Q.ZJ#8UO4QE)C)/XZ".TN" M-EX?&7\C)NYGH!#%3L7A8"-BYJ!YIGJW%\='8_%N/ 3$R W/HQ0.[<01"O\S\U!4456"\JNCY_:NZ2'A6QT88R$IMUC# NB#7*/G=F"C\'V MT958=!0YXEHYZAJB>S'0A9<&J28P!OZD79R.,Q@$$-Z::X[CQ:A$\3,*"QF M!44WGZ<0%_EX/1KC/?'#=]F*[$D7B1/QW(:\'POC:"%[9I3.!F;P=)*V(AK: MX72MB#0O&$\#LQY0@$&T A0C =4#92]"#TG(T08J>PE&C83[@ )' M3D$:IS#XN2>KRI$ZZ;-'4XNP.IV+]"P8L>3&^'C09J(0C7"$AU0_+-4!@UN0 M5P<5< #K#D=%3F7%WH5[B*Y!4)X/4/>.;CFHEYP[)HYF<.C>N5!SP^V"/IY$ M2@<7$3:(-^!E._1>(U_+R7^NG=>[DI6-@D9,>1L(DA=VD(\,)?D>#!S <0)&/CZ8?%?DS'RJ\E8*Q689C M(5EWCN^/BHZAP)PPI@WYZ=&EG1,E&5WL[CQ, 8[-)GTR-5E9*"CP[L6I'4V* M(%' $8]+X@8QV%/3"Y'P9'5IOV!U@?V/ZM%$56X X%H^+"9XUQON1GE;8>@# MNDV#80^&N'&4[\U4[\O_\*\=D<_]^6K3R28') MEVOE_,*4?S)(XCD<@R6UE.@NZP@ZL-C(215&^9MSSSU76D[!4/,0R5'5)G2% MDH**D(WB@!^9[:J8Y9N5?L\2U[M['K>!:)R(1R(>3\7#5J"J(:K*R&$T._1C>U$ +PPC)1,>&)#R5G"8F'PCQLQ0(HO>/RB;@;RU\)O MH%IUL%0SU'A#D4*W7S"7]*RB!:P!%IH7)XW*^3?T328BEXC<1Q&YL]#U8ZK# MXJQPR\J:GT).?P],GEP<_;@D,6=$]>C2RE4_;'6Q4\23]]MYK<'96HV5/#DU9ANV"?CDU=M5;U&KN -^K&L;;R5YZ\:2Z*DSZOKMA0Y9:.WH=DUOL\,&F9U( M RGHSNCK)YVJLQ+Q^I+5,WAMWF%QC6LSW1ES/4^#] ISS"VU^'IV1]N];(:I M\#YX\G*>,T9:X#0^EV<+3,K.*&8ASD166FF4-'.729*9A%#/VEJ57:]KHC0Q?KULK4 M>J,#8:EQ]&?P3NFP+_D^OY7'.;=S$)K%C1]'_U:#:B^F=7TGM)V,K.Q$EACR ML?3?MH.@O_.G58Q11WN S.K/E'CZ-_%%67M=6V:[\O5[:X\\6O+=2S]AVN1 M:L[*5%]0R([5)_$:.?5BZ9_7G3V+5Z9]C%E/&K2X*N>'C KH?_7V$3,(JN6& MDL&TP8:JD]/Q="?#)Y]0E6(9*;M0Y)E$SL491>/$;"[*V(R< ]40)P@@W>+3 ML??$.NNO:WD9:^=KNEPL>L(F$RO5N;4MMT8#V=:W2F6%\:.6Y:TA!:Y6)G(% M=FRI;!;SNI-:G1U855OWXZBJBKKL!I@Z%X)9;U$;,&W+V\=2M;;KE*WZ>D)B MHV5^9FFUVO3@=<&3[-,GY8+A#LS:B,)&/*E6!A4MHV)^'/T);-;..RMAKJ_S MTT.[;&L6*\327VR5NZ-]7^:Q4;#D9O6*.>GVNG'T=_-[MLDN^@Y6+M+BI'WH M$H(/WWXUS^%HL>>5\GJ)E3=U>[&T^$H#['P,IU1EU^KS3&W"$WNC3XTF\J9^ M4..08MHE;7&KE!1I@4N M#E.D5:MRH*9JCR^KM4+'[\KU)<%=80IXLFG7"6F:)P2AO1UX[:Z)54H.1!_V M"9\RXGR>8P>UEY1F5I:<:*)#O+D5E:F2\4D6"IJ[&7^LRI:9J 98RE6IO6 MJW9Y&(L^0K,T.&3'$Q8;'?1LSA?=(C;FXOBT:C#&@N]A&R&SJQGBMM9U-#:6 M3UVW-G;G4G[.U[>%]L!N]#*U#A?'IP/%)D:"9LSU3$;D9W-_H^I^+)\.:4): M]J9612#F]5QCU.0+IJ[&\:G?(I0=G5F5L:"%TT#-G&K*-/:<(HGQN(7U)B;6 M-Z<>T9WYVS7@UQ@^K6Z)EKMC#A5LM.@0+=LJM.=!-XY/9RNMP1-X,X^-[*K/ M: [56&/BQ?#KD#Q7_P.!"FR:G :78VZ[J MQ_%ID]+S.X\R5\ZE"R0N*9I19CA8!GD)0%>DY.YM+)+G(+J@% M>8VG2^*0][;*KB,4N@SFM;6Y('IJ')^.W-DH7\DH>[VO]S,%>5/09_58/&79 M_2QKD^4NT)(<*2C0#-O(QO)IISBM9C9B9JR+6\'UKVNWJ=+ MA;I0XZOC9C>.3SFGMM@WG(S"!YV&1VUFH_8@&XNGNM7L%;5]:2@$U0G!BX/2 M02YP<7SJC;<[E6S(2[T_FDP<5K:*.A%[\O:*A*Q) XK$U@XO$-6^5BXKL9I7 MMNU8JE4O"5B]4K25+(Z;^WHLGPX;6T):U?21(%86!2""(>B[&YS:]W+U\U"3]1&HNR_4:W]GTR'"^\4SYM1 M7=P/IOY"UXR6YXBF[/S]_5>=H.%\X.LCJQS:DU)HVEYZ :XM0NS*?G?MXUNC MT?#(R_E3'8 9$CDQGN^H=F:MGHT/XU%A!8RC_^KX.^H=\SUTF<#21C_T5IQY M=$^/BG/',CSWJ9W[+JTOP@=_WO=]X6_ZHW9WY /V8GOIA!#O1 C\@6420MP# M(WLS_D=[ZKHW2"F"& MD\32QPO.^6OPRX].^81?+K>+><#IN^:78\)OQ"YX M++M\2. ];<_5JC\'LK)76_ 2G4.R7O][A0NO!I*1@RO20O#-/H6B[%/'>)H[ M%@KHR/PH@'F_;!!BW\=F _(U@/ QI.S[OR1)41:+]\5&X4F"P*NAVZT7]EL1 MDZ_@^+OUNO_S-5826J-WC%,)2E*=L=_+;Z=8VE]D;4E_("NU966PUNK-L 44"D-_^H4DR MS=+$5<;[JYU(MV;A]Q?=T"]VZW4GHOMGHHL3,S+JRIGH+Z M;J >EW9Y]B MD5]&=M].6_AMX2V3TG9%S78%(=@LMEB>PAJ5$HS_9I##(4W2[*MK#K=6>A^+ MR)^2/?^ZRO;\.W%+O+Y;XH;>M^M].;H:W] NO5Z;P]Y;Z:N5$U8>\RR@Y)E M_QKDU4F"'J_:4T?/Z%N2G(Q6/&_"P&N@KU!4.O>BK93X.5[+SW%KV4BPX/.H M/[\/!F*V4Q7%>L'@@^VX$M3=];:RAME"0/\A>F&W!ZLW4UR>33=JP?+%SWEX<_MJI[8>8@J_SNT+ M^6EN:VY6, L+*"TL1J=S\&XX<;+\B8IR:YY/A/D#:AZ_)\U.G3KLAYWA1&^O M)V*%Z4RTK0RT-=8MTR&,?X@_<_@5EJ%:C MWLK%:#U5\U?8[KR@?:/4&2A6P"\QHF\'"WZXFA4=%=B]V,/U^7&J9P^K)8M1 MH;*KEBQI6* 0D$K#BN*&Y:-&BI=Q/F$W<53,V5HLP%PA598 $!38CO'Z M?B^IE/U2%>&8!BY)*>&/4;B1>4"5+)/2C6B@%^NH/5=Y_+R8\*G">]B%$S43 M"+NDQ+0E NB$2@:_;PW3A-L3;O\);G^^4=;#W?/J>U?H./5\>J9*ASUG>K.U MT-SIVR)=L=A6-V/GN[>MTG%V9G^-4AW$ Y-+4DXOJN-'IWS"+T_3U=^A8,/=E>JX"^"]?:F.MT76 M^ZW1$(+DQZ[1\%JE.MX<,.^7#4+L^]AL\(>E.D(@O'6X>/')]=NKH=NM%W:3 MB%'J]NM^I; RZ#G[DOG^KQX5^N/[K:,,]D(1?"%$E/(\+E/J9/1^IKRI]7O$ M9(9WPP(>#$VG"?Q-\G##<^K6C'V3J-$[6/=K"712P..U(D-?4:)+NX)?G ?- MG5[ R8%9L!;.3HO*>I ,F<;IW"MFI]S ]N)B@QT^@@UU#P@4J12?-8^.N6VY MOCL!J!MH')%4-H!0=HXR^3Q(!>((=TQ_DQ.V[3T_$;H3KM#NAN4_\#3+ODDV M[:V]B>^I87Q:^;[*3?F*\GT+!>37!'PTL;A"=]7E^-$T5ZE61P>R9/AAB1 R M3>+95]=!;JU4WR1I-O&*/)\M_TFR\9YQF]Q\K;='P7?-MCWAX/.8-[7K-6,C M]\M8L-@'^)I?RXU>5".$H6%-,SSQI;R#+^7FHO&.SI:;K_7V,/"^>;H_@0-B MQJE9AZV6%12 1P5Q1U&-IAJ5!V&8-)4DZKY:1H1F?J5LW6>9[SQ=M]-D*P>L MRBR%LI0K9JKZ8.SKW6__$#GLX9KQ?C9?-\K2C5)OGZ;8W2CM5M:H+4/$KN%5'>8PS-X3CB9F-;>PU6 M/30^JH3]%)Y'6]\[[7RL<(VGFXDR.]2;6!LW,G5O:2G[,@=PG< ?KK6[HW"] MIGC<"59?Y9P_)J.ALPNZYE&J>,KR[%-2+1!8455M1479Y9H)$&4GVIKE.2D) M?*1:-@#U^\[A?Z.MATMSWHS'(?R%U.*I-[ M_[I3>OQSJ%,Z?I/TQF:?@]G4J99E9N#/1P9!D.-$S.3$YC7>*V-\T'Q+BGW MDGS+>\C@(![8)-_R'@B!/V2)A!#W0 @BH<1]4"+!ICLA1()-]T*(!)ONA!() M-MT)(1)LNA="$$G%D%>EQ"^&I/S0IOX**8D_@N6/M0>G##7V=S/4J-P#QG[H M#+52=!7A+FWEN;N()XG@U[F-OR=*-]ZU7\F(5]=@7U\MG_.-9>A^\SFI!^JV M@>I_*BW-/I=PP9?G@NB"(^&$/^<$^JI[RH?BA('EBL:KG(4W#O43W"CZYM48 M^M8KND4,,S25;[WN5XE-)&ZUE%N&'I[N^K.Q=_V.["^F#YZI .W:XO>;, MHHO^67NCP"%,-=(8G2;2G]%7F^+*LH\1*N'78)08^-P!F--7[)TF*9P*M'#X MS=.#T0C'-X!%N>B!O.=HIN(XQS<]#BAPIER,/HZ^/60.8^F0"QRA4'8'W?S8 MD'>>^@=-9M'%?LFVUG'A-_P>ABF!78"-*,!_\D##4FK:1'2%*IL=Q,DWE7DJF3W#G M$^+.C2KR?$[<^3/(:/%#NKYLE&A=(76QVMCN"D/JUI#1KXG[0_L@6$*YV=NI MY9:ZV/L0,G+?_F$8)DU0V.OEOM[BHH$W%5L-/H(SXWX,O<^^R!_%0B08>"<& M7RB\ES"ZIK5);F)YLM"?$+TZ+=?J%GYK&%U.NE9!WFH;H5[9<8U E4AN%E4( MR1)I(O=&=.8@W&H-%PMQJ;9-.FHGL/1I%OFCR*P$EE[%6HQ#E*S6 M/P1BD1OI6G/-N=7E0*,I_\:(4AHT^!K8(1XK&X66U"&4_#X'"R7E8"4T#,?2 M+,V^NL%X:U],%=Z=.B%U4HJAK343\4)RI?@&7K9;UTN[];X\>U=PZXUY :4A M+O]U=\!\+K;\H]2^FB$[]%O];4'/T5BYL9=H4\^V=M9[6Z* '. ],5"=:36D M):?*/2RC8*[064:#1FT_X'JRXQG\FFL:+64ZW&T, MB$; #B988 B_B$8_MH)=:W.K.].CKR6%$^@%*! XE;@%SPCS ]"\=9'+7XXC M>7E1Q'VLZLZ=A']F2C;(7J\K,D)=J#/[9D_MM(:+U:TO-?,D5N(;G;VOCQR% M4"?]4F#T_1F#*@03-$"YWVI\\"*WW0 D?CIP+)']1/9_2?9_VO123K)Z@TEGTI."P! M@$\! -<-F!( . > +384EUIF/1>\-8U1G6!($C>/!-_A6F]>#G*^7F"KN5*G M7BZ)0P[(+KJG8ZA<&GNQ:]%%6>][+6%Y)P9#4DDSJ;J25(3Z#(1(*D+="R&2 M:G5W0HD$F^Z$$ DVW0LA$FRZ$THDV'0GA$BPZ5X(D532?%U*?( $UZ229E)) M\YTJ:;[0U"LII)D4TDQ**":%-!,N2 IIOC(G)(4T[R,++BFDF=262FK:O=@T M\Z/458FI3E5@L?U:[DR>;(X[]PZ M2G)W4%I-@=$$8;1O*/7J>M(3#UQ8K/L*5A%\WY MD%K9>J&\ZGF[Y6&D9V^-+=618N^I:L_AO0&_4X*"TZ$GW; X)Y[.9JETCKE. M-$O*4Z"(M,8GA3"2S IP:3/83K&P9(PW+F3=IXF,,VI M>B)1EMMJ^[W+"3R%)7W4;5-]M]KDMY8[(!8SIK#*1?4YB33#LND\&C;R%6:J7K**I%RK#PL$S MEWR#B4IT C0BV:1$Y^?T"W[)*EUWL:H[]Q+^F2VYY7%OYI,-4RA0/JOSV MYV[M[=,YWUIF^ILJW]Z57*N:68RP43&SKHW6=2VRN;65XAK8K?=K4:[ Q^XBZ):(6>=+1T5Z232 M.9I(8W0V 8#/#@!)DR$W/%5FXMNQ1N+R9Y;>/K MA4F7%7W-8ITOOZ\DJJ=2867I/K41R#$3QSH-Z/" M]=:#V<8(_021G/ MKQMZ_3,Q!)^C!-57KI$7]?,DST,%R ]3?"6NB)4ODGM#6-2%K=%J,'EQ17:< M6]?P;'/%B6I3-H.US9I/5;%@N;:Z80U/&J/3V1?3D3\X-/UTU-*7JGN7@,X[ M@8\-'/% ^ZSO"?XE59>=GJ#_JUQ9\V,B'QU6V.Q?G:UJ7C.0)WU_+ P M)TY1Z1SYB0MS)KB3U-M\8]SY,\C@&AD>%Z6EH@>K2FXJ$8S>;-X:,K+U6LTG M!FU!\'J*6.8Z@S6IMOEAK;RD@-07JVSWL0V^N!)46[[7 M(F05F_+]^6K%9)H9NT+?NFQQL=59#O,;;R(H\@03,'F\C=4S;,98=@XK2[UUMHW5R]4V#4K2A !O33;[ M,N<.G:C8)HO!4IMOZ(?Z[!+[16#IRY3:O*6U&(I.9(\\IW>B&I399-IO.4B]5%?^8MX=)H#9XO^R#6JRWX@B,R,:PSJU=K6.A;:3./TM=J9(%J":$F=S0^*:/1*FL]' MW75%'^5GFP+IDKIYN!LP"NQ].S=<<%.!V' ET5M7I3YVK+.9SA'7Y>>2,IN? MP2?X)>MLW<6J[MQ#^&>69)M=3NRE3#IZO>,4V_6@Q/.U6]\=C/9$;HG)A2:_ M;@]QO]RI=:E^5&:39LETEOVM*\VDQEXB^U]#]G_:\.KFUB).B-DEYDWGG'.8 M4Z6,?.N AGESN9HQZ^Y&]ZP]P:L#L0WLKK#(9HZBTUDLJ;'[Z<4_*;'YLO@7 ML $S#?KU!M9O27O<&G3:WO#65W03'*^;6[ HOM^IY81#+EM:+?RPQ":>IHE< MFF)?"@._*+$9/=;RP/LU*?P=;I!F>F+TO;-Z%&=E-B1#$6UH%2S_+6O.QA"# M[VC(B'I'?B*R#R0-61=\%%7[(+$' GYT68OC;.B+\3*28AC_?ND6\76K>3R; M3TE09]93R(VPD>G3BAWPW_^XJ$=R\B7 6IR6_?TH5V<[&.T,@41,53)AN1-Q M 5[_731\,7"BM;+X WZJX_#]))LDG%/N@<+_*_7X(]R3*[+!,I]GVW91Z3/\ MUF6MS^BS']1,#P34N2@M$'P'#&-52M18I**GP,O]D18J7XQV)2C.DA)^=.$\KNL3+3K1S M:/\S./;PN*Z( (\?7A+NBB+A'X&,2'_!)U+_G2+0-_]^0JL+DN-GJ!Z],/SH MF>&/!!01&,UH@L@I"D;/1(R19E1.!'I%EF!F-*9@)#['%@MB_BW<,O$(7PUV M6"F.NJ46SQ#%2@93V66F[T/X??IDVY\@P M:7YH[SJ8MVC5+&X\T,0E?/)JGI4"7?!F JE@038[&+O89*M/./#DU3QWW?K: MRI*\BS'[ZJ#8%@IV?@''O)IGKSCNE;Q\?R.4RTNIH.0G;6X&H\6NYMEH[M2^ M-W58H;YRY*E5J.V$#'3&7SW)K0N'&FUOQ_J(ZMJUK3=QL3&T(J^>+)?E+>4( MU;6N]$5-S^\(P^Q!A?-J[;MBIV;5,UN"WTHVBVU;/5=P\^>;GVV9Q>L!(#3O6%1+,S2LHN9CF1E&=9"EBYDD(1;/9J MM\;Z>#FG\J,1[YG2D X PHU-8Y/22DSG?+T'3?3D]9+< MP:XQ'^XXCB],\QE.)(,U5O#CN-]8S_&9-K=]O5X:BYC7SE>(>2SW+[JE=I'Q MJY@^:BG3?K59H#TEEOO;98J72Z/I02@,-7(W*2NREU/CN+\T[^14 E^2_&C7 M*Y-!7\ZX[5CNIW:](LWVQABF#,0\/R,%;>+Y5]P/GJQNE#:]S:Z&NMB=8\YV M5ADI%3CFDVV:,0J6HY7L?#:7:69&S5D9",I"FP18Y46.;IX':IB$W( M@K/$UA6MOAZHO9SBQ@+ZIK$M.K467]"WW4:!59<"U]C$"HI)[.QN@[0W?,8: M+*>C"=V:'V(%93DC=:50+W(8TV\3;K8["@94+*#GNE1WS'978V$TW=MGP]5CL'^[UI;V>85LL,R#S+449>TH^7E ,N6?-1H,QK6\/ MVV:>V%I[/A,K*'M]LBLTUONI4.;&O-T<3@.7[\8)BE/M+2F\6-D*ZTQ'K#65 M09/JJ'&",BDP=263VXCZ.K\JR(,#U5YT8X^)7LV:=?+22-$+34QI<6ML,B]R M<8*B++16>ZK7++[L]K9"IZGES3(7)RA31FYC"VED\B*]SO0$O;IG^ER,H$B8 MJ"R410Z<*)(XHV@1Z$"*/)^)8I;-$0P]9_'LT\&+"NFHN>UD+VQS!_NP;Q*! MT(D5E,EBL_-9B>,%3\KLBGN=$V<(J:]QA5N"M[%L"ZNK*LWTY6!E#/PX03G0 M!5T3W=42T[+&I.5W>@NK_O2JCC;K;QX05&%7FFTJ$_*PJ@]J/B6CW..Z,<)2BD+3M-RS5I@HIWG MY[1M8>MR[(EB*XR]S;-#':MG)N9R-*<=UHM5DK:+,M>B>D2/)ZR>WZB(V86^ MZ<8)2FLN;]?!4LABV]QZY],FKK8+7*R@Y$;#+-C,0U_7VC-UN,\PPR$>JT]9 MF6%W9AH53V"Z3E/H<0&GR[$GBMCDJGIQ&FQYHJ0/!NO%1G'UV!.E;JS6V^:6 MW>KE@YB7LUUADM_X<8*2RU6J/KT4>WI[U5ZNU$Q[2Z[\6$&Q]PK54FE;:,\5 MQ=M6!\2&N-:GP).=WE ISJ>4)Q"&H[H%K[5=B'&"(F*XHM ,,\O)RGQ&X1(S MF[/B?,;(K,A(8H[*,M35)NQS!\J=UU6L/M5G3M^0AKX3JWI5W4&AEY_:E*X, M>_-*%G=KTWGLB2(07:TQ;Q@5O2Q)8%D9A6_YL8+2KIDCA55*68R@\D4OQZRQ M*:G&"8I&F34B>\@R>B'C]=9M?5RGZ5@3@:G@.N\L9H8@K@:8&J&N 8#1;BKK?M+O6!&'NBM%OU7I9: M-$=8>Z5WNFW?R A*+/L[1KO2[O(3BF<*JV6][8UKDT[\.;'=+%9%GYT+6-MH M\\OE:C,3O%CV-_LET0EX]J"O<]EVO]EW3':KQK'_2*_AN8QLV/QH7[6R=<8[ M3*UXA6I%.^NR(PH\P==UL=KK9;/-6(6JOCOH6(Z=,L#LR59ZA9:Q%_U8A0K/ MY">*EK'&Q-SYQR,_@H^>W9;UF%JH=-=]N#SBSW@=SEI#*Y]]&W M\-?U?"5]',2)'URWID2'Z!67=(GYTWW(.F3\]@GQ]3,I$U._!8E;7*2 M-CF?I$U.PAM)\YS/Q1])2YW[*(J5M-1)"LTG#2ZB["#\0Q=9CBE5SU!$-T6G/P.64GW^0"7'TFCGJ3\_!?N MBO&Q;0E^]9 JM5D*MO&:UV!X-5)2:PT#OJ& M"QOU$ 29QMG?JFN38%*"20DFW9W=& =++-VWS<9(S^JB/W+;FNM7>JM;^[:: M(Y'R@A8YQP*QOBUMFYI,L9A2D'C MK%ZVR&M"79M2[0W+$,+VUH7 EMF118]QAN25,EY@M#S7+O3]L%X,;IE<N@T&5-J.>END?$,Y^ MV@P>JDZVSKN<(A";RD@G=9<\C-5[0;0.6W6LC9)G>(WRY[2^"TA'B_KU$$2: M(:\USP32$DA+&O9\4$AKCP27MW-CFZ\7:W-IEAMN&.^]O6K/HM%LC2F;7GV3 MY4>9.;V5Q_FN?5##ACT$F\;P7-*QYU-Z!K]DV?Z[6-6=^PG_S)K<&\$^V\=K M1;[/+3+,>%4MFK-;^_L.M9HWW5O27&]OJ:["BZ.&B5IVH/A8.IM-$[FD:4(##"[*.9:T4D X),!0-*UYV4 R <>,7&YE:>W&9M;8J)'9LKO[3AY*KM% M;[^H92K]X-N_90:3R72V>9EV+'+[KVW(EJ_JFF\7*9T8@) M4O, <2*D3\H--DK*%YT4^&]A&8;E.ZF_-#/E+BW/ 2SM_/T]*8/Z^F50R>P# MRR:%\#H#UTJ\EBIV5W:RL^7:J;^J+AD M)$M?ME3S&PO1KRTNI.GUOU>K?87"JL1#CKPYW?](6K2](F6Z M<0,),[P.,] /V,=FAH+EN.'VV(JVGGNV R^VPT_^PO]...05X.*K5^4^*DZ? MJBHW9.A;K^@6J53X'90Q>)6ZDN&-SE>M*YD-H_^H\^@_ZC6*A,2%^>5%1W/: MBP[0.6"LW_EP2#6%?U".7WR5.I6[#9_4M6"K3,@6D%0U0[#3E]@UO2BL9SVV7&I&]7? M)K-I*O=&1=0^&?[0MRE'_?KX$]X;)_AS0_R!YG?OS/!^71BR5#>W990,CFVG M8Z+&[WJKT?S6168=;K%3*'='W9*-&Z0NIBM;'=%8;4K367K($7+*66); @&!:#M^1R_49U_DCT*.$Q"\2V]47 G< M6H7J.#9;TH1,==7-^+3:%]E;NZ.$[,I;FG83XPFM)9?5T=+R@#V(JOTS&)MF M<[^5#Y\@5()0"4+=K;^W!:J./#N.>;A]RZV+K;LKZY\Q6N2EPI0Y/ MY*?Y@]&>[PX=-6Q40F336>H:M5^GK'^";GEP3=[A+=7G;AM4<5GG1' M344@*"R[K'MK;.??38\ O%O 3>$K7MC1R!=[@QGPS>Z@%-''8ZAO.C@/8ROL>L MQ>7=0)&Q:!$Y>3C#]7)[6FZ9G>S,7'8!%$'W'VK'1+Q6.Z9W#W1[PW9,G^ Z MY ?]&!!JWKISP2]'_[Z\J,A2O?6J[OARY+4]:*5126%W9*:/B6.?5IHM7&F. M;GV).NE,UI5 'UAZV>&83-W-E'W4WP%&HC&Y-(F_=-_QNYU9WATR7JLS2X($ M"1+\H;?)=0N':=_T,T*@]I;9::G1)HQ;WWQZ$T4HB1-AJ"NM@DKCM%8[E/RP M11.#,^DLD\# 4R_1K07FE6$@E6?# 9^Y)S!I(52528&I=/#BW_SG_P^].. =&>BI$D#]?EB3V2C90<;=+V7PB/%R%$TJOI3BB18-.=$"+!IGLA M1()-=T*)!)ONA!!)'[E[(4321^Y.*)%@TYT0(M&;[H4021^YUZ7$!ZB)E_21 M>],]2/K(_?NQCYRIF4D;N?@M2MK()8W#DC9R"322-G+/;E;21BYI(Y>T MD4MR0+]D]X(OW,0)_T2%NV.Z(; JLZ]UR%U)[[-M0]\&:Z_HW#HPNK 8\/ M)AW/'Y#+779WZSAPU9@TNK/*OJ=G"MV2VMV4FOL)%S:F":;NSK&T*JC!:]<@NH^]6$GWK#-1NN:#X.7,XPA1S M+V>6U&24R:MA;SJ2)=,D\8;5O&\MMXEJE32QNS>\^CUL:=A%**]Z MWFYY&.G96V,+(.:0*+2ZO%!FIB;?S3,X7CHVL%$;.P"K-)YF,#KIP9)@5()1]X!1;]K(;M8)UEVZF6WR]84\+_I>H:6R*M7R=T=1NT<:*F+V.&ME1+)/.YE[2^A)X2AK9?:%&=G6)$=5F[LLU7.#QO9,3DR M39-X@E*)$I4TLKNUORL.4;B]N#J,Q58':VL595S-V N_?FN]9]%N;OA J2[U M0"+D53,0A/%"C1K9$>DZF!T'7,O?%X7*4!-T2=/L:Z/:R"Z]J\WYATRYOA+9ECC7):;K.]FYZ=-:W_Y^] M+VU.'5G2_CZ_@CCSWHCN&&"T"YV>Z @!8M]!;%\40A(@M($6ME__5DG"!H/7 M T:V=2/Z7!L74E5EYE.96;DH3 /%'9=75SH[9%UF/-/9L)%=,L/$R!:WLHM; MV?UH9'O-^T<.Z\4,L^U02#.%&N/:-M4W)Y\=:_LLP U+W3(]67?R&E;1<]F4 MO28E>Q.TLL/(N)5=K+C%K>R^#;QE1CLNF\V+'%)4&I6!.N:J0C8R9N2^QZ1Z MQ7UMRXM92NJ89-'U.INPE5T&3>*9N)7=][P0^9:]*MYJKMY[81&^(;FV&VVK ME+O9B;VN\DU^XBGX<+:QM<_&OZ>PMY'W&DN:_(A3B%UWTJ2ZY*(4=K-#DPR! M)E'T0ZUK(@@=;^Y>\T95ZMZR$X-"Y$'A9>]3IS3!!W,T,^.PW5 ?3ATO4U7O MG0B)EBIU.J^@&[Y:,%!ETJK.=XVPL1T,3Z63-$/'B/ ]&MR]U?=S[X5],T1X MS6LSXE?,MB"M=%ZICU*D/*V,K>*]586LPJW=74-,:6K/2/6:95S.$+.@QQV: M1&@*@,-W";N*584W>DWNO; ( P.&I8JE>;:^1["6/:G1(W.1*=U;B*DQZN:] MW&R+8*4&.^9:PL[KS,)V=T22PL@DB;P:YQ2WNXO;W<7M[N)V=S^C_'C<&N&K M$R)NC1 50L0MI2)"B1B;(D*(&)NB0H@8FR)"B1B;(D*(N-U=5 @1M[N+""5B M;(H((6*]*2J$B-O=79<27Z!V7MSN[J9[$+>[^^>QW9T[MY6W][O#XWYWL1#% M?<_B+GB3F!OB+GAQ%[QG-RON@A=WP8N[X,7IHS^R_<$/[BQ%!\&*^'&P(OY% MZWY?:*<@MR25:,N4PE%;CQ>+ -%,]]XY%5PUWT,PEYT@7:VDL*@T' SM3= % M#T7HI-^F_;NV:KEV+'4,03$$1:2L]P7\H59J*IHS<.^I[ M2%O+C;(LB!K5S@\WXQF"XOM9T-R.0-$DA7_C5E'73O+Z#OCSLSO610)_;MNQ M#IVLO;RLB;(V&*?6J95:KF^,>Y?MYH@,M6.4ZI@S@'-Z*[&0Q]##+86HI#16FN:+M%B1E+&*75Z_>VG%;.HI,G)IT\ MW[53BB+52U;>8L-&=!2))"GJ)M1+G:'1?*Z"QH0T?B5)*AXR9T M,4+%"!4)A+II$[IL-E6JT(@T1W+=_6*C-3)EO7UO>.KA(J<.V:ZD4.]9JVUJ>>=@86'3>C0#!8WH8N5J+@)711\79<0I3A=5>J> MS ZY'-84V Q>J6+8O9U=?6T]4FL5-,>)6C654SMF!B$/3>@R&3I)$^M?X_C,N?VX*NE;4:HQ%/L?QN2]?9HM3=+JC(]&F2 MBUNW0!(I0Q,W>2+5;&S9E#@+6M"A28HZ+Z =-S*)P2T&MY\!;B_[[[ VU>7& MG)M'1%/8=88]?)?*?G:@QO,-FG)5=EQ1Y[2V$V=4 Y:HU MDF.;R)Q@I; #'9K,H.<7#3' Q:I;W(/NBP(+5>E]#9H0==DL'.+Q3B%G3?X3KD6[:@>WE1<:NI MU\#NVCZT9U'N)Q,C08P$?XH$+SN<&PAB.UE+93UN(,J^)6(W/WR"I/+F2D>EGDJ.YB0+3$K)GO;8).7>Q$-70)(DQ22+S4JV!N+W<\Q..V\O%[>7B]G+?KMQWW(K@JQ,B M;D40%4+$+9PB0HD8FR)"B!B;HD*(&)LB0HD8FR)"B+B]7%0($;>7BP@E8FR* M""%BO2DJA(C;RUV7$E^@)E[<7NZF>Q"WE_OGL;V7^@@,=]\6*HBF(I\0N( MQ9L2+NA&-8M0SGKGV<*HU-O<6Q';F#.;9ZDST4$R(M&>WUL;XCIUJ]Q@ MBAQ21)G:9+$H5I#JH8$>FLS@>)*B7H*7+Q N$+?0BWLK_. &5?=6VV[=0F\U M&I3J4DGH<+D'+/]=6VL?7IW@J< 59O/\:G; M\ S$JTR&O+!2C-9V%C31(XA,DB!C>(J;Z,5-]*(#3S=NHI=%R6+*7>=S?'?& ME.NY3&'0[7UVIX&G*"49/.55*BB*4)5Q?IF1I6'58X,F>CA#)%$,BU$J5J+B M)GKW]G==[&VNLE:'SG,J7U7'1'.9H3!^=6_#C,KU]JV=DL)Y;+^MT!ESG-+J MAR9Z6-('%?2\;\E7CR:+V^C%[0KN']%Q[XVY5[N"#R/SY[;1RZQU+N7-"SMN M-YGDL0JU*$W+D6DVE>$&='8JD Z?(]!175_3)NEM@C9Z=))&SZ/1XEXL,;C% MX/8SP.UE#]ZJNQE-]OD,R7=MMKD?5]0%84>FLG$?O1\$;:]Y_^8E@D:0QI+CNL1JW''Y7JI1B@S" M+7>LM-GAW2:WFVX;!=SF:& M-E?-5R:2P/27E!<90Y(<9/>-24'$M(%7\++"D&T/NH<^>E@FB;QL2L:-]+XO M0'S19AEO-5KOO; (7Y-,UUL]2G!$Y.-E.N.% '12DO5:O8O>-#25JIU%.5KLQ1 MY&+98B88/^?#)GMT!G^E3]A(7LSL-&+KOPM"9ELW-$]/!4 M\=XB3"&T7N::8P,1I3&)B5.M0GMLV&V/2*(,DZ0I).ZV%W?;^[QN>Y#9X#C5 M],2 VSZOQ)Y/LK>YD3ZC*2 G2O.$-855AIW'S4NXNR5XR5QT$F)"5J=3Q88A M>[;J:(FE;4U574DG>KLEY#M]ETQL (T@H@1>+H'=$W5 =+\"LN( 3@ L$,[5YX#@6TL+ M=AB$G.'/S(4SL205C)6#.8B)I0A%Q--%^^*$THF2M0'SL)/A-@2K!V]ZF#+X M!>Q! LH$9)B'ESF)S1PL8@,?9BQU!4P0SFYCV1H$VH0.D#'@5G<.UF.!(T,U MX9X]+$B&NW$H/_H,G@'%,%[Q^"@Z7H,*U,K/<8([@C%.@ M]"[O*ZCO*%__N9,Z@E#5!: O?;ADYZ=W';WC[L:S_&FSO/*DCGM4'+7>D'0 MF=!ZF?\CJ\X2J(6_?2WCB1Z)T6FDE.6X M8[7XZFRP*JK*HC_:SZ!A_W0DT=5;FU$_RW(#U5OG&W)A6UYOP$CRZ4AJV-X1 M?-O<(>+$KNH&J1"ZP0J8@#P=*<\M+*^X>XHWJN:NIW0X5"=6: MSSD:P8H%@ZTVVB*%M,'(L[>/:VMZI&2[&P2SK/T^TW7RO1HL$7;V]MJ28*:Y M#I5'/'-4ISVOT:'WL/SAV=M[ZEBC-(&K\,U.D2U@!"IR(6C.$_&RFA[6R3;:94 MI,K/7([,C?M5!\;$GLVS-46:_5;6PQ'*H[RA1>4WY1$,YSB=IY"93"8D*LJ" M/$4 IX!M$"8H30D*KL@*DY%(2A&?/ILG^UQ)(TQ4ZZXXEO>JQ*H^9Z$3Z.G( M87DA;B8RC_%&.S=KU62EM.NVX&:7&J#,5N=]Q:0 8BG(_%)IIBRAI,:GYN@0X/A=NUY%C(5_73D M=#09D:-&Q^937*/KCBC"M&9PY/E$&\4MR5!.,XNHBT56,S.R0^WAZU'\Z=!% M<^=VEB.^C*0H92AO]QV1T/RG4D^'JNA@D2-08Z!55X+&CL:UINYN+O$J64MQ MQ=2:F2$JK0F+DJ4L1WDX\FRC=C9M2Z/Z%$$ B5QZ:70PLP]'GFT4WRUQZI9T M6ARE=SAAPF0K^ 3R_]E&>>L&U>JF.CR2&V1J*4HLL=4N''F^4:DZUQ JY-A" MQ-9PM4WAN\I \8>>;=2L54PYM5%1TE(%L3'B^HI:QOVA9QOE[):9QKQ"K?E4 MU6QWC3:K+B:;2V+5ES=-2W!K D<-)ER_[_2%FC:[)%9E3!H6:-W%C21,2;4W-]-5]I@N.__6RBR.D1"\UK]7OEMO9D8)R?CS7V9:V6]N&I&'9/M?,3'06QT<3 M9L5>0OZY9V3W(V(O9VN-@<"D63K+ MQ4%6J"5VUYOB?+BX2/KFOH[44WVYRU'K%=HG4PQ/^-A[]LPQ82][M2;K:HI> M(;MDT:QV/'@I?/;,-=_;"//J>L 7U9R*ND96KDYG GT^DM%*K7IMF\?XG)>R MND(GOT8V;2%S/K*J+:VREB]3?+57-;$B8TNHT!:8\Y%[>KIE>:M3XE8HOZWG MNK90Z@-J(A<.W3XM\FI%=K3F;B//O=(0)?H GA\I'WC!&YX!%#WI1=\_<>S[ M!R3!4L72/%O?(UC+GM3HD;G(E-BG+OVB9Y,51J>X,QV2O@F]^)11'$I?@\:[M M*3>*OGNIRT;#8");XT)#C4^S+#_AC;DS]KC17 M9$]7FM/#/IV3NC*HE/%]IU[FC D[8W!NULBBLT\A]?$.'DQ?U=15$]B!<(XG M;@?DP9;RS2HH/OX^]J!O6+3M'5#D$Z(!S$T7&B^S V-,=@E;65IV>)$4YJ)O MH*/;24PM7;"OP9'@1!HFH[I$ 4Z M8&DTID04*!%#4T0($4-31.B ^0VL8TK1M4OO%UX\UWY0K] M2O%TYD7 O'L_TN>ZQ5^M@>UGL,@K#'%X; [,>6*KX#$E15\KH0_V*S%&5-D HN+79@/\*A#YK9I^TQ'H8W;%["KZ M_JNY2CI5X/7Z85W96$=H3H_NS?ZLE]IL+*U7XDJ7>JLW"$W"[I@TPB>)*@;5:"/@O#>HP++]Y%RZ$#Z MD5*.8@*.GN9+?TS,.]Z(8)3I=JJM,M*6JA&9V<3]>!VI%\2\Q.80H;R8UC2Q M[.4+HD.B^*P==(5^7]LD*I6Y,H]1LRY]L[^>)+W"VB$['NT,EEL.UI3RS5KU7JSV939L'L@ M2231S(UJLMS7F?B)&D9TI>+*&(# M(=B*G;L)"& KH;O.6&.*Q[A2CUSC?88QPPY]KX/ %_1_7*Y=>=BAV*BZNE%U M]XHNG^A;N?M:[P^"CXI0 V.6[?E4WG)-',%7_:'HM:6/EZ)[ <3JMK!H+XB% MR149?;NWQGE;S;)!TY8,22DGI1344ZC MN&Z[VIH5=6:=,F[B*5T0G+ODUO2<[U:7S&15%YNBN FZF+PNZB=5@J(BBR=9 M(9^8)%)0 ?&5FKI6SI*%_*3P\^21]5(U2XV=0FF#1K[3K3;0^<9 *( MOC3W*^: CP V[(/B.")8@BU"N4K!!)7$!%9=O&'>B)\%?/ M+\4TSY27^./\Z6\*+Z^FU!]BT9BS3LI?BBV*MN4X 2ODPA*N/CN\])W_F]C_ M^^^KHU@_G.=Z>'3;O+F[EV@X>)BPK\U/K"1YAJ?#IF+7XR,8 ^9'V<7<]$YN MHK^VIE-^$C+H)!.F._/ZJ3?EDW(5 MOPL6,'?"Z9>K2"3^BJ7_TIR.]+YCA>T"'I#M66TFE#Q>,S"IYG96XVZK,PLZ M8*)TDF+.:T+]'0-"# B'\-5H04*L'1SAP].)-!27VTJZ!RGR0H[S+&OL&KI" MTQJ6I[!,JB)O["+L]9@!B) DL1N594+O4TGP_GB WG_=5S(6R,BI"/%<<[1&'E/ >\7[$30=RM93IS=>DDKN<.N'/MTI/%7J\P:W![\./K MLE['67#@P]__G];C AN%:(+$5&_8H@&*KS==NBE%C69 MSU1+?,I-4H;,JGG8'2(#% H432+8K12*NR8#?:9#X7L"17@+\>.! MXDH.AY>0PAK*>791+"YX*L-EANW5;EFL?KQ-Q ?,CJKFXN2^TJ_RR@HK%#H% M7ECOH#H!;R=N:W?$,/&582+T1$87)2)_51$-8'B[Y5$866K6L?*.-K#E;G8S ML>;LV(<*XM>_-)K,X.=(<;U;BQ@J8JB(%8I/QHT/FAZ;?75X-2SXO.>+N2[T_5MRL"],' M;(2^F:MI E+H<*K:7^;'G<'":<+N3-BO?W&43*+,#:\F[BW7$0IPOKM8?%I* MQ-U7>N<+C<^3^;>K_S)FT#U-J=J:*.>XA5 L34P'-FZ":0X(EJ2(.,\AAH$K M)T+1'.=U_JO>\:/D_LWVX46)-\;XP.^@;77+,9M$0091EO0R @?OV;H9,4 M3L69##$0_!@@^/+*P >- I%2\,%D/!.X;F=O%/J+[2SG^ J![_&GDR3U:@+# MH:WSTW[*G]&-^".2_!GS.H;?A+)=*J:C)*SI67MD)[$1G<3_NS*S/?2KIB_V MJUXA?7&NIHP)[QDD0K1V?1Q33EF/? ?K':^U.7W*B ],1P5,UQ!M6R@8/4,? MS^HXUZQM\N/=3BESS.;7OT3Z7/U, /KH<%-@^^A;[Q1^O%.XD$-ZU'C7K=:0 M;D/:HE:OU?3ZG[I3J+?QJO)LO$.\QEQ%F@*[ZJ9FO_XET^=>NX>= A/RFW&[ MAN^TMUO^7U&S-87' O3.]/G=Y^?PYOH1=[,[CQLY+(+3VM2 M-CM'1 ]/%6>?N57Y_@I=87F20G+5C##M+C2UB<&MHM+GVN,9TM!S/$3Z<35 <.D#LU#KJ+3^XK+X3NA>BJ!S1"7CO+[ M\,/Q-. Y'\[ $+:QT^\+7,X)-0H0W&'&FXX1CX2: ^ M4Y2O/_^"D12'J1UU3/GUUNB*#)[.Q*UQ'A][SV911$R'"- !33-Q^]]($ )- M9^+V:5>DQ#L#[UX]&KY6.Y>;H/+7VH*WU^-^5B;Q-)VY>2GR/RG!_:#G_E'5 M[9CW8][_>KS_:'G&S!\S_P]C_N?[;GR,_>_DX@MW+ E=D5<1F#M?U_N>X+]LQ1!5$_+\ M\;7&=8(2B/LO\AXQ".!1^9'G%NR0?G%]Y='SI! G!94>%<$CZI+ M99#AM%7RMU7SVXU ;*+/3-2B[5Y;J#I*RI05*PG?6T]Z9IUHF)EZ;XH!76CWL:Z5(&!]_1F@UBU$&Q:7ZW7 MDV%5-=H"[8,3E42)ZX/39R,1'>M'4=6/KHTQ,:!\)J! K\BE/C:5[60\-%-E MWM FK?R^ZS91EQ4R/J2020HAOJ.^DXGUG5C?B?6=Z,!3P?(N^8.LG5QABT-] MSN5ZRW+5R^?P[FH#)P[0B4CBF2^N\/3FBJV(4U>Q8[7G/>CS+0OJ':#HQU?4 MNSHN+6W5^" HL:;,0OF\5&1WT&IIZ\:ZR6-*O=#9$56$[,T$% G0B4BBZ!7K MX45$>?I\D8_UK(@ERG[B!=W=U_H-P?!/ZY6"3G*"HQD__22)Z5:IRV^9-O[V:8L^@02")"F4I"F!)"83@: H4;E+-!U#;,CWLZ B/)IR/K7+,V)[2%S!LIQT 7]5)KS\\$[/R9BMLG M,EJV/D &Y'0^R,RP(E*#(\^>F1L,)UD*T6N]R;<4865[3\8IXG'=B*\^SMG<7 R"VH#,49.J/IVY3:;Q=@A[ZSM_<'F%K? M=[,B)XXMCY%2"LUPSA6H,]'4FB)ME,>3O"> M46J,]5*YXLS;0N9\[2FFP?8FZF*LJ;:U6PC"IK9$H._GL/8;IU&RD@30WG5: MX@[B 52U),GV%+FFBC['JXJ35QU)MQS/?IHQV9L(J?5TO];'"P))Y;?:O+B? M[FBS_30#\B;B^E)L5<-RE00%113%_CFL,1$NTL]9#9>9.%KG0R165+,A/Z4N M@@.K(#R7A'X(9DS@:#),^Q4/N[L,=U4GM7U)E(XU+(OYV6W M^\Y"8YFJQWMXOH%3*0/+>^RO?PGDL\LK?*3JR3UV;*=TNW-.:6;YXK2;:61[ M6G 1UTKX9R\/3$7UTIBHB@FY%\1R+"< -:H M'\I[& 9^,):ZXAZ((AUZL )9 ((CFI)?2F1A39QTXHJ2^\< \DDY^,>G!]U([-I:NVZ@!3G3',HV/L6JK(W.C]>1C[ '6&B/:0U3+P'K&& (3L? MM\+S0G]DQ#LO$U_5 M6[]6GO-M8/EK[<$5LEHSMV:*/\U:?? ,AOG,R'7SF6.&>,(0=)JA(\T0;\IO MC[$Q@J(0W=S^ 6_<&X_=)I^%42,+AL$V/>UV0"_!A#>._2J)>YL2]?]RPY? MG5?DA&(L=6NGP+L24YFJKI.X&K/?>[GW"+ C(Q!8>)5 LL#E%0?S7S-.C ME MK1/(WM&U6LZS;8!*%X+$)-F8BE[/2/%-EI]EYB5T/GSZ6 MX%B"#XZA'RG!MVO_\A$1KI'[9@-;43FD.2!GGJ#T1&D& ^,HV!@VDZ30*Q9C MN8?-%2X]82T5&'Y@SA*Z(CK*PR7[[BOHS]%!GV^^R%=OT[X+"MU,CV@>Y*P& MQ>R 0;OG$:C1[E8+]I+CD&X?U<>%57]7M%F!\)4(E$S2!'X[)>*;L_//D-G7 M;IF^B\S>3G-XM]"2I$8LURDKA>2VE#XC.&G6&L$H>: V,!10_*^8L1L1!T5. M=#Q1=W<)U70\VP_ M!7PO36,ZHYMFB]MTUPON3=V35Q?I0@C?ENP* MR]5H>K3CNQXNB>QL-V]3[:"P)"QS\F)ER5AV?[CLQDZ)&Z@6;Q?>4:/?=[2U M6464^JJ^Z]H%AME"X86NB$P205]-.(VX)\*REQ90L_ST)'[X\K-=((>E)4PP>MY2$$M9EZ_W_O!UNTL***3G"<3/ ]E>KAG= M4J&;TE)X>[F02MWS*,Q[+^S^ M&'7KBX\WH9-=QSMHA:-[6K.9VAO2VE7 /@05WO$,@"?JO(A-+,(_7(1#Q>/> M"[N_"-_\_N--,ISK=61)7#H,MUH..KN4C8O#]0;(L*]AX$F">2F>^FO4W#RN ML'F_BIOOF'0\J8^DJQ]EX4LZ.(D@%LW_D55GJ8N[WSZ3'BH[A;B#T4"?@)," M'X7% ' DC<&/3E/UCQY]\KR4I.CZ/R]IU==-]G\V:PLC'A$K1"V4/D_HA__^ MUTFY@@<#$%;.LNS?!_P]VL%P9S ?BF=**JB&X/<6^"WJ&W'G' J)HVGTH7GQ M[P<,Q^&2G0QSTL6" MQ2A.%RHMI]9!U):P0:M\E1ZDJ,5V49Y<*%N^9/#DJ=(MMKDL.E_I@):]ZF_:E@L6M5L.RQ:$D M\\TY1>)8MTGE:K-+!8NUTKPO;DV+(&],?<,2QC[%-1ELI,U+5(7D2S:O%(W\:&@NNYEF&YAN9R,K2KLN;.3:B*,8R3+6^WJ- M7,S R#,:Y3>HSBY-IL3GID2.7N<*]EIGP<@S&HV&\P%OB,Q(\P:Z,^,6#4&N ML;"'Q-GK'0&I-HIUB0 ,C))C!<&8.L7"PNOG.UI:BHZ-B2UMX%:GYG[)4\NV M/_1LJLW-OE&9+%R9H$S#&A,!C#J)FY07S>@[524 M#I57P5XYJN/"@]T]*=MZNY*L[R#_XS??T3S@6C5:WUR ]: $_%GY53HNJW<= MH^Q/O6!X3(=(T %C8D)$@!"9-!/7F8P"(6*)B D1$^*8$'0ZDXD)<3U"O#-\ MXV6-]5.6?'AL#DQO8JO@,25%7RMPRO"1HNFDSI_[GBVZI2[YK7;H"E7JT#1V MVV#[B)=L?>U<^5JU.J_ $$@:_7DE6R. JG>NUWIKV/Q3JG]FYZKQ%6 M&/C%?F0=A3XS8?##T^OY7*B;>_ MK-^?\H+$8A9VES962Z51P94K5O# M4CFOC6Z"BJX9/).D7HQ _.*\'\O\GSJN\NZ 56'044S!>)%OOM:) IM^0>LU9QF& M8DNJJ">4E:V M1"-5D'0DA6!L1^AOF'G'*H851DDTB>%(;!_'(!);TS>WIO\01?I5>U(R53&E M597!;I>9U"9#^^-9ON]$D5*KUFVM\S65:Q98SJ@T$=>HLT&I4QI-(@CQA0WN MNF6[,W&F7%>#^N82'R)==.O]_/.8KW@M'2FZBXV6PG3XXT&PG!##"'NYI?=% M'>6[)6?115FVB^4_#<,DHB3D2PO*X*IV?HY:*<949IN@MBJ:23*W:=OR(\S\ M'P4&H:X3W<5&3/%Y#@W0KEQV)[:40W)BP1RTEIR!4)]VAT"G>L-\(V<86LIT M[6Q]EC,:[BRL],HDJ6L6;X^"RZAGN:+NIP_&+J(O9]V]C&RQS^@N*M"5:Z>] M$[_,=65*VEEKB0P,Q.;'O0*";<("KPR226:HEP#LZXE +/K1$/W8TW.#FFOO ME/WZ%,'$[;@H<*NAR&]-/+5<%,+"K@Q%)&GBI=*)47?'\&!O@*H(_B@'Y0Y4 MQ_'\]G62Y;BQ?^;[F&1W4UPBO2N)O[Z6XG(DKSZ.A=+*;9>*Z2@7X,MA1DM! M'V%+I%DHM;,(*ZRE05CYE4RB*'4&7G_'CIA8ZK^QQ^9V4G\[G>7=8J_6-L)P MQ9,%3:@.U5='+J^Q,S/I"#,-5L21S MH?OEU_8UG!:(]OT-L [TK72->R\W0G;-W7M1?9Z3XNY+O;]E]"G:2<,RI6>Q M+;-42_A2J!61;@N?-S"=F3O(!C9&@!4O,"K),"\EOW]QPSX6_'MX/.Z^U/L+ M_N>H-"]*/CO!]F+&J2VXG-VIS7.TL6:F;2CYL.Q%ADSBU$NNS)-N>_=K9,:X#60C6 MYQ =J&0]E!)-X$@R 0\'OT''H:!D D?]3_'$!HQ_(W,N/5L1)M.&,60((LFQ]-ZXI$&X.VRP.>5P;SI@:QZ8-(4%7-H0;5O R?ZZW&O7 M;:2(YFOM>6=+8PWVU[]4^MQT_H^_5;?9E'>)[,UW9>UAB]DP3^E-A2D6"E:GV73GQ*"\4(26733 0)D(E =K D$-*$7Z@0 MB"D03\MO<=.;J[:<8 T%/$?V.:D#:"!"43ZT/IK9BM_X*/$7_ )<#H;\<_C& MTT'^G]%__@9OFZO2'+Q(LA71 2,MSTZXAY*! [ RQ+B#'QO!A%B:8.1ZA) MA.B'[$%4^'\W.88R0>LC[,.%FW";4[EFW].10;U?+ZBSJ3?A3I,NR \'+A: M2O$D:)$Z$H%50<^D2"*O($5UV:]-RHR4VFU^_2CP%/!?(9Q>2"%.5Z;55&,VXQ2JU^R;S*C< M)#Y.H9IJ*LWIDS>)6]7PC*QEVWZ'J)P(E$'P^46JD472VA6&N1$G+O:C MGI M#:J9V:]_<>S-5'NL:!5*W&$BCP('U$UP5 9B![^I0PFU'2!D0#9E2#E#U!1? M_!QX(HM'9)Z(CNHDIK9E)%P .G"P__^0-<#/,'P4/M!UX0.A5R1D"\M.>,M$ MB"518(R:/\<#M4)^8$=C;5Z>X(*FE@LE?;%(\49U=C]^$'H32RS4!WN$\C1! MR?(1()Z#J!>;LV5 T95_3"CJ7/0?/@)*GQP*=3K#/ MJ&!)_X5AC9QSVA]K<1MPJ-R(_.^MKGF)_K5BMCPE!UL9:;),2VBA)+%=MJ]" M_XOTK=*R4]@VV:PV6&4QJ6 X11K@S[\D=D%3.9#7IZ:M!'L9A:U\&6.1')K? MS)=>7ANDC"K6<(H-3GMI3U..(L%]A^.6YPQ8[C,P*YH MZR+0B4WK?$N/>7-R$$DG1$@H'\_":=*'/'$MJKK?.._AVPDIE&C?!HD$KU^9 M0.\'O8YBB*H))O VV&OH:WXW'S8ZR*IJ&,2JV#!=!(@%1F/I\Z"$!]A[SD1, M1[H)YV=9WL\B/60O0!TGL19MU?(<: ^YMNH;1#Z33X.J*0#<)6NM@)]=!ZJ! MN@?%)@G/&,#U%I 6VP&_^?:BFFOPB=]S%!Q2<]B9 MU3^8P(IM2P>VA 6)! ?#>1W]ZG?Q!%;0&CX>F$.PE[SE^%\V+ "[+GC6U4WI MAZ:K#YI,SWJC5A,4O#F1N8'JSENVN@:'?58T-?A?":#[Q^#D;<1E8'OYF^L:'"1V#D&3*=NFWA#X8 M#E/=DUQ/= \R"A'+/WU/GND$^J[_9&4Z/;AVP-,"")#]9YTY'F]S5*-GA1OR MBB^58$Z/UGQ'=;23(_O8R=4%"PF%\Z.NB%6F,^(6F6V7!U/:#2U9$!"6_0-7 MQ&$)-;#_/OLU++AG0&J?]TE4]Z.Y0"-<2QLHTTY[MLAOI1E0S' $>T-B*-,.?Y)O])+ 'U1!/,(9E8ZI[CN_F6 (@EGW8! MM!R\@[=PY[_2X_R>E.3- CLKE;H[;97:D.4UGL$WW@DEB0\[#K/0@]-=VHHH M-\U^*"IPWNAELE:I/4KFVD).:[(SHF-5S.UJ!LB*IB]D$?WG>27D?V&'L0+3$ M4=]Y,-U_0S?8-6V"+W@5=V&6QQOH?W+:B2@'3F49*$E/[& 5%O&+]MPCM.U MZ9R+@"=/G>5@#P/E%)YJ;]5"Z);P[60\WUQ;"WT#$$F_7Q/ZNV8I0"L875F!MY4YXD[%:/!44QM99T?#&L]?,/9 MZGCV!TQR^I+FXVZ\H'1VV)U=M"VN@C315I^A>&E9RK#P^'HG7_@W'.]VO'XU M,?U3YZMJ%-I6KMK3>6\\)%,;1D;VQC/][C8_UJM+BY MG[6UJ&7,70EQ^&ZO-J#9E"%F]E V\'<*1Z!-W2;0Z?H>UY-IOL$?^GG5D73?O]$#$\CJEJ2% M 6@3H;?%D I";Z>:9SA 41?@JF!62@W M"A)]J7MEH+F'34">4\DGUU2_(N(H>WX:T)&LB[O?J@FT/24U@40_87'XG2!$ MU&=V\/5@=D!U%,&QXWO$@DMZ2;&AWQY:RIH"+"I@DT(/N.['Y,"_^\XNWT]V MYAZS$H8%L-&R X=\X'$#IYNCG#S.]]_Y&BN,]9GHJC.'OA3PI_ [1I#Q /1N MJ,2&&I"DR-"B\WVLL@4K?0<^P, #*#_R@?K(![Z>))J[@]H5W"<$?O9Y(#A/ MC$ M<@!$$W@3?205/" QT*QZM@@/QP?L1HZP6W/*&,_W,0.#\8-YS (;H:H],X":<%/IH'R(4C:8Q\$$$40?X#9WKTZ)/GI21% MU_]Y*6'I\(2KQV:?MA+&B,>X[# V&\T$.W:T0_Z__W6\FL< ])1DZ9;]^Q!E M?K2#XDLT0MZFC;0O#VU.Z,G5_!]\Z?.1'IA\^LQS_DO"WCWV MY]0+*2Y M:RU_8VB:>D)OZHS8UV9UGR;X(V'^3TS,;8@R_]VSI.?=&29$#_W$G1%^].O? MGJ\= Z'.0=#RC]%01L33YQV(2E*XA!YE7!Y)U NR$^Z(A[K_)U%9T>=7L4>0P MBTX:V@P< L33D9-><55KJ]Z>3TWIU:1?F"Y;11:,I)^.=(DB1N.E'(X,9!23 MA4S=F6W: B9@3T?VO3Q!JD6VB%"E7-^>9"RCMF3!R+.W*]5]M4@KHQ7?+6UG M3@EK=='=!HP\>_MF7-.Q(FEI7)?19-U0%QND#YOV(D]'LE;+0'DNO^;%?D9L M-3H<[3)M,/+L[:;=:F[KV48;47-X/J5DYVMR"T>>O7U8<:?Y;2[C<(IH#2O9 M3 O#-G!DYNE(SU8S;%5JS+DJS[97^>EDG!7; G$^S\&6E*8->E'6O+V$51ND M,US-9F D>3)2H+&,1$U)2J"H"240(B8"3F 0@58460@S5 MN=3W8Z[LO*Y?7EZD0$:Q+KLM0JE$9*2RKOA M8#WO3:D9&'G^>KM&;QA$K)#:/;'L." MD><3'1B.J/252A91QTJW5[JI#I(KB6K\N.VZC.+O$ M+9PWGVS+7:_+>9E"*364VV:GQH*19VL:F41A:'?[MI:;EC!3)&6O4(0CS]8D M3U3&R*RR==YCRU.:<:6FOH6\>KXF:BD7 1&I#M(== >K'#&?$NH&#CVL"6@T MH5'GJYPO&X"A81=A.^7]-PN'N[,$O(1*= *U_CFCY_*-?V"2B(X?JNQXNI\5 M<1?=!??BYF([ 0@JLHJ?CNV_Q#7GUP7:*@PH.S1 M2]95P)?EATU^LJX6W:9;G#58KDO.*Z4A*2C _[EK[6'B#/<]L"_C]$UEGD480&L_%G([8 #'Z,GPC=-117RKNXI 2,_NG O M<.JCO>F ]_KQ.KL$7)PZ!0:3Z8*)^I*S!.,L7[[#GV1EJ01/#><6!&]=X.FS M]YPD#<+HQ2?R&_HWGD@HC $3[0!CSJ*#G' ;)CO_;_"5+]WA7,Q(3/I"_\I^ MB4^#,B$+?)XD7S?X01:#-EMKNS>GZ0_?40H4_AJRKF$M.:5 M46,[F"^VPU6=_?7O9W7I^9,-G-J%08W+,SE^-YM7U I*+<:;CV>C?&P#T>(P M5_3J&4M3U,6VGL>(,C=X%M6>OS4(LD\"@3Z+\XB2B^D;:5:A6G.B4F5W"<^! M='C&%PCP#Q[3E@$]6@"?@\/G<%0X+SJ6?07FJ9<:K\:.[ ?NE$P-@?!R>>W1H M71P-IQ X%M9*,@P!/GJ_M0$+]IQ#/!K,@?2/C:,U^#ENSOO?:L+$5O^M8/? M>\Y?#L H&=P]@W<$XT*_.I@QT &'&Z^[AD> M319T!)N.& ;3^TKE'#!78N6)?H+GT0S5T-D?W!0<*["FXOK:RL/!!G;P(74@ MX>.>*8:G&T0^<&X"!+(=<+HZEJ0&%M%?8A/J#;\C*5(06!-P/U;^$\(D0*8RZ\0UF M5P)2[^DP)/^!5X)H?-8M *;N0Y[V?9#G%Y=&%<>W/+5+\ME:D&N@,S@.^P3CF> ,> !S@41?7)%"0VBPY8CV_@^L.>''WZDU#>*UTXJ,6)X _//>I MC_KS(D_1MY/]Y*[H#RLY$2^6R8T)\5F$@%><,26B0(E8)*)!"#1-QX=$) A! MI.F8$!$@1 Q-$2%$#$U1(021IJB8$M>CQ-OK?#]'DE>-NXCX9FX+Q3>.(WQ# M4'<00G;^[T,D]XT-EC_>@4S$-^#6'/!IZY#4!N/?2KM8![G!.1JEG#DSZ3*G;5""O MOTO^_PD4L>A:CL532(Y!#'I=KA*6.KN(!A^=TANSR)I^=,NA;UE0&/$!2ZZK MR$6*+I^BN 6NW&BU-/[G.KV+@GN;:"WMTWN2?5*$]/MZI9P&:[W0>;5'K?*9 M K/AFZ+>:4V\$;K*PDPK\M>_!'[>.B;&@1@'GKTDB=;:SH$@K#_RI3PP-U3Y MOKF\W?[^X$-:7\ULCZ;2=&HC5&M?-O-55J#Z_ ZI9;+":IN3 M!["00N;7OVB2PL];QS_38S62A9R?%JNZ0];.44VQHJB:-(L]V@0 HNQZ:J4>&= TZL.\.^94O::M_G'I)2]YNS]*1OQVLG\]?;A M(>N'_&C6#Q;YC./>W%:41!W\8>XD.+]\_Y5RPEZS(G\D/U!I\L6S^N[\T%#- M%]DA/ASCPS%*A^.?\OLA;SI(G;.FB;]@5,_?"1C?/WDV#\])K]P M;9,@'6OB]EW:]HDBA3GW7 @VOG@>7$^;W52E?RGI3E:?0GF8Z MKKBKJ.V+9\F-$^8?.$W9+F%F5Q+V%[MZOGP O/=FO7OD)A,1*+%VC7(H0:!Z MM*JA@)=DHT'WV"CG)AR38 MIOGX64.!JL3/$4&_!@9KE.MH#UU]DAW5\HBN6EN2(M2O;:BVC=%AJ> MT!\UD,I<9+<\MD702J:^KJ&-V:%H 8[0MRB?%ICQ$=?D8HSX2(SV3P6)R[4N MK@$26I979*=G,ES15+SAN,,BZ.RVZL-3D&#RRYTJ4MJ",P2KM2MV2W7-@%H# MBD*4R&#D;5#B3GI#%%$B N4FKX(26(P2-U$E2HM4KUNT5CI2Y*E5#FM8F4+V M&H6/WHX2B[YA&U61KW%B:2MUA0)-33@?)8A?_U))!B'>6@#I::VAB)@#D2T) ME!.=>0)F#SB)J6T91X5]G(2CN*ZNR G15A*VLK1L6,!'=!+2D^]82P4R*6QO M#VBS5EU5<=(/E9\@-ZNF)P94BP@];ER"*JAKU!.W>=61=,OQ[ O5I$Q]52@T MLDB;5R?E0E'+C&TGU0[$'VR8(K/N"^,$. S]E-I3+T:=6JZ28,(ZA&$Y)[#N MHWO^3^_T_JDB^?*\!HHO/(XW683%LUQQF]!5T9\?$).$:BPM6"1KLDL8GNZJ M2UU)+#Q;=635QSDGG0 /D158HA0&^,+B6Q/?">NX 'W!YEO3H'"7"61,3X#S M4)'\NESP3?Z=@ @&B](\H4+X5XT$D%;5DA.> R46^G(E7ZZ#[R]M)06_J8BV M"?[N),$NB:[G6O;NX8D.& R^L!95W:^'!3\'Z&/"+P P@$ !3SV( HD<..3! M,>#[E=0I..Y--V'9X%3T'/@Z<-8;3K!'RE*$#]=WQ[7'PF)B*T\$X&/#7X%^ M -8"/MPE+$GR[&3X"7@R^,]SE,1:M,,-WAV^?V%7?.0Z/!<0)OS1W^Z'"01[ M!K<;KGBIF*+N4\U/J +3 ]_S3"EM@ 5,]:$XI+#A%&J)M"RRYIXARMI/E ML4W!1(CF7&")S:]_;[TI;SP9[[,I \0M%TDE,]94M))SV]QXKFS;O_[%F#1R M09=\\L%_THG"!68$4 N7^L!Z21^.'SA95L&D;<"N/K; +_/I;CHQ58!2!;#N M$4CM$+$9_ MN>HLC F^C2)'1V2_^.UFL=\MYWMD5T46\GQ>KB[;,\#LZ)N8'1SZ*JP!"HY> MV5-\+07P+M!,P #(II!QE:,3+%0 3%CA4_; 0Z 2 /ZXM,Q#84\@G4 <%.-P MV#G7/.W>H0L>>Q.@:N/[$XY="%/_?]!P3QS.PX@>GTT -2=X.@$P OP)4NU.=]6@.0!G;@2>[&T4Q$SB< !F\+IU@)O[4FRT1S?PX]:M\(K]@%T2P_YX)U=BIKY'+2G#B^8T0?#+H#WJT MH;AS2TXG\@HXX> 1!_7HXJAYJ/ MOQE)$77_WDIP^:ZM2V>]?QC MQ*.#.'02H\QY_0KX[W^=5.=X.*5@B6G+_GV(LSS:P7!G,-_S/5-20?$/<0I> M_UO4-^+..5S#HVGT(83S]T.L)@[GQ*0)]#^)QQ]]Y^!3LL'JU4?;=E+ .OC6 M:0GK\+-7*I"$-'>M)0RGI)[0FSHC]K7AVJ<)_DB8_Q,3"\>/J\ U%)"I?0HVC'I_5-+LM.N'/^_J?@!>K#ND(" M/'YX2K@SB@1_!#(B_05')/X''(_PFW\_H=4)R=&CRY;PA<%'SSS^0, G_N"7 M7:&AB_,FIW3H-7O \(0$%.D=.*LVP(((762/9\^#=\MQX8DR\UU;C_X,'UAM MQ5!$Z.F%=R_P@XL'Q9-#RU8Q'9Y\\/41][Z+/MT%A<85AB8(04)I12!H"A4FC,@(6$;.$.)T@F(RI#X4 M'/%P4U0?-VAS+F.HEIM5*EIA@1*#Y@:8;\C3D=18:C.:NR81PV@Y6C_?+DIS M.!)[.E(P)KO!EJ_5^")MR@-WONW561:,))Z.;)8]2B^TMP6^N<4H(#$G*R'2",T#)?OKL7E?-=38(V^ ' M:RUYO)7+%5GZ"S,>-"MF"*\L\'5E;&1/!MJL4E^O: MO$EVE@9-SP3L_)F\NUCM<1:SN=5L-I<7^Z:1<]M@)/ET9%O+$#C>SV2T(J)3 M.%&JKQLR?.;9V_=ZO2B5UWL9*PR52[<^)B6=VD(V[$8CSD3RYTRUJE"&X@3PBV_EZ M!ITK,#[I;/&ILK8>]S.RS@^&*Z/8QH>YRH(-0AM/1XXW5#ZG"0P.+G4S-T3/,( M6Y?;K$"=+VG#Z/-)HR^7N=VH4]K*Q9:Q*K "?3XRA9?UCJ#B_VL]U)0:^4LP,6MNPY&]K;9\LC:6AVN &&B8BN,H5N MNPV'G@OJ9)/%/3&STD2I7=CCO%F0BO[0,T)59SN9KFU+%*_N1N7=@NCP'N!\ M] *;5F8,OEFOJ2XB%J>\W-H6< 7QAYZ3:LQ.BOEUKP'@AQZM*+?=G"Y'8.P% M1MUR#6PWI)02TIS:%(8Q76&RPILR%MTDMQ>[.P7GVTK5HK[#7M,5T06K-3;UG8.7UK,BV MHW'1B2+A3>?#XOP3_;"\!%A?PE_@E6\__4O]0PG KW !_K _>472P7[(OEI\ M3NQ9?S+:[LQ6C5?ZXZ*'KL=./;^Y$;%?O:M=BJH<1#?(#_25/1NJ9R=^?WBG M%_11N6/)VYT)@)1^5,\V+KG*E2C:O:>>?O-3;E\\COG;- M*Q@/9LLW8(.7#^F8#:+%!I#TB9:HRC^<_EI+\P+K!R<%&]0ZE)D] M]3/_R2EY[_(:;_=%^P'-N("C3[(?'ZX:8+HCO'T0FG! &WWX2YCKB#18IKW+ MI"2D.!.'PDK*[15MC,#",#^[ 3\/ MIKJ2&G!W6C];M"H'EC&Q5?"8DJ*O%;@T^$C1=%+GSWV/*OENC\+=]^A;R$-S M&B@RS\F#X+$Z7Z=QCA,'T_&@M+%;4I4-0A/JHBW-$SAZ0V& A^'="7VS:@ Q M.U^#G8^XN6=E%:B,/*!?+ME^!PH!+M"#B/4 ;3U@7$V#'[JCJM8MO! M6RIQW *L/II>EK,,@&M=UY*TQP/Y$' 3:J%_1)_:G!$[O@ACBA*G==6>8ZBV%.*.BBRY0;5^0JA M1NW5RJKUVEOZ4ZR+NI-K3HV9+?-=IM.=,B[1J13#^,FZN$O@-[8K8LQ\\[5D MS.,?M!@TIJ@/UQBF\:F1-1851.PV&5;PXRDKGJD<:@/<3L7ZAM9!S*?7-@7Z M*;*G;CE6XG?-HLHI@B)VEI!-"NWU]],H;\UY'RR M0C_9SYKU^7*RYW=%I(&1'"?#Q"?\=@K]W8WH-YPKKY1B?H[(^%,B:UULDE6* M0I_S)DNR6,HZSMQL?X:./UV4936OSTN(6!QYVRZSFR'%=I#YQ'HSSW$3\?7! M_37_N^_1MQ"&UXP!95GCY-EB4=84?4NLYCDF,QF%R7V/U<(PYO^S]Y[-B3/; MHO#W\RM4<\ZN]]EU@*T F;..U4D8X())MG^0@FI 8&00('@7W][=4MDIQF" M;.O6/?OQB%:KNU<.O=9W>ZBF MK'B#[=R(L^8TV>UTA@N,ZCQ)Q[^0_? %C84 6T]O&]AJ3.P]-HHBFT_$["$* MCVO#81TC*\04))WDCG*4+T>_(*[ZB"\'884@K/#>/*&S\YT+*_G5YTYQT6K< MSG..T\IVI]IRTJNF,!?ZUH&%[3(Y7CI8]"T@1P_3P6ZRW8PYSPDW.52]O8GU MY\/.()RZA-:_G%CAH51,IEMYZV%90*KVU)S7:?VQS=4$[HSB)8@M?!U'K/_I MX2W3H)5K+C/+>!3EJJAB]+NYP:VD0#V^]=4$/G%F7>OJ@ [B"KY&YP_8#F:M M_J@\SAKSEJ.52[-QNJ$-V"J'C8'/HEB![DIO62_$Q:W(P7+?'1 MF-:UTBS!/ETDII! BT&\UULTV&I2NKU_NBL6PE.W9C%<33BW71'P3+\[:/V/ MXV]9#$V9[][?C^KJ.%\34L^MR7-C:"\PCGM7$\YN,'Q!ZR# TU.; HGBJ+A( MYU9W;$-+5%+IT?,T_ !HNKZ:<&Y+(&#&00PAB"%\^&K"V5C.A15ZL:/=2@\E M^18K],*=-ITE[MDE,*!O'4&('RVT_R:0#W+!;BKYJM*-.6)KUN=&N1G[Q'>U MB^CX;:2(RER=%L9.RKZ[F>C/'=9*T6XC1+ (0?3@^HK_U<_H2]#"FXE%1OO) M7,2FB=:JL9"RMF&;L15TWMF]F1#_3C[7 *5]A](?,!N20]VHS>K+%%L:.U.Q M>9*G73RPZT@ SK_>:'/\A391^'S"VL_2BA?^+\X>D0X=MFBOYJ*\XM$&=2BNO MZZG;-WK30$NU&-J$= C2!MK:/8.3:EUA[9[1V[_M! C2U/5)DW 9XY*6ZG2 M%FOPBMOV?:M7.)Y8(=7M0]"2:X$T#?X+GP-H.F0BRS:]MO1D(GN(Q=5.(VT+ MXR3^E((':V@NX57V5J2S:MJ 9K!X4UF\%BSH3.N47>-/W^[KS$W=&O(0*8Z& M->#]?GYIR5)EK#9D5>@P\%*SMV$XEY96J;O&.)_MAQ]:W6C87J:NTNRM27K_ M0G.T'M*,!3/%>$)P#< N&Y.I8Z][K/=@@1BBBUD,)@3\VD;[=RL5;764^X/!6_.[_>G_?4H$ M_&M\\V5[N41$B)^@O5R4BR2XH(7'>MKK-5,!*1T P@> X"+Q@")\ 0@N$HT% MD/ !)/B($,#!!W# K"F @Q_@@#E3(*Q] 8E((NB.Z0] !%VJ?0$'+L('/1G] M D^P@#Q/N3Q5X"R9O^OR!:^J9G[DL=T;H1 M9>Q/&U'RB8@8^]2-*)LDNG%'@QJYW: &[4HIL*&3-G)]RXP)4&P7Q>(14?C4 M*%:!L-D?8-@'TX/]P=[7)_9]V/5ZRP>P_U-B^?/&P$*$BW]J8J$9=R=AM&]X MLK]P>^BO@ 7"9Q&W_D4#/B(F/CL:G(X9O.ZA"=# UV@@G$(UNGKJ\*M:(N2X M2;9A_CP1QE/=Z.I[/MNEB==S.K[AOFD*A;\2O:]R$D3Q^X8( !D#WW#;-$ ? MX+VKZGY##(CXX5KT-1"?]]W-GBLQ?/Z;JCJ"WV[$70SSDU\)\_WNZEW?Y.+H M3:X*LAE5EXT)^@).W$M:)=5\?N6K*O'[7M&%+NB*9"KEM MVL[HRXK56V7&"&4+&:>XXCJW'[MF.F/;TE -3WHM9Q)CH[556^#1SJ71L/"! M.Z.8\@J$\,J&9:TOAPKKRZ$IM9CHJI5HBN43G2$2^''[U@B%!4. MKX=^ E>[3RCX^HA^%@(6K[\O/Q'P7@>[#-L4GU:-4IEM5.0E9S1K5:=]/@)& MK?S3["FISUJ3NZ)<6(XG#^TQ$+#XXW*BT7,0\+63$BYH)WY!"N:OZ]_W M#P5_["[XF2AXQ#DW?#M3-%I\S9YH]],D>IXM, 4G?_SF>#&4Y/GSR. S1[C\ M0<*"#W#]+#2U(XO7+X1SLU_4G#DQ>GYB!$^*V'SU3;Y5[<37 M"/PYPQ4=HMXCA9'P8J4!HF6E+5*W^FB]Z\,:US^#&,8GCV%XMR:_9FCBCX.N M;I>,^TE>'?2+(Y:=*'?/R]JL)[?UU#73%SVB35&:K3A0!:/:)R7WK:IC6[ # M?,2D_/Z1N*RI/9N5P:-5:^7;%:N9M OU6&R UP[IC4)(3)XIM2*(UGP)"O== M$.8:%'[>_,:_I?!RM,AV1F-YV,H8):TH31\E]1X::HJ$P@4A>;[\QVOC^C>- M2YV2Q/T7;KHHB5\D ?)O27S>CA9O*G(AFFNLRJ-Y:M1IC-) XDDJQ-G$^?(C MKXWKWS4"=U(:]UU@[1HT?MX$R;^E\>7-O-;,#TJ+5FF!2E,M7GAR*D#CD$") MB9R/QTZ>0'F-^Y )\@'2)4R=(P;C(9))US@+VOJ%>Y(%'HH%AK451!P_[57) MD[L9OF"BMV]]#@5=IGT7)''[V1"""Y9_HW+X]:>E; M9\192'^QX%JZ6UT1 M_9?S4YQ'\"_K3Z.&D*ZS8FNQF#9S[?+#4QU3?Q(+_MA9+F=_HSR!:]/'>7T6 M ?%?SH%Q%N*_"7=KX<*@T&UUIIEXCK\MSSH%T/K)M=#DU[L3^H$DBY=;B0=9 M%J?/LK@V+[ET%L:U]^L7WGG-+(TLI? #'_ 11IDPBNEZ0KV/CZL]KA5[6H5O MA? 5OSC=RP:$E_U_@9Y&J?)T[@VS5PZC^/:^_49C[A*GL<'>,3B;ID,S\5I MJ>5DE=Y=+IR,%9=UO&*1\ @AQ@69'N?/]+@VT5PZ$^3:^_4+D[AFIL@'F,2H MQQ6T<2R>'J\*]=FR_JRUE>("KSA)F$1,/&,MK>_()%[(%;DVU5PZE^3:^_49 ME[A*KLD'N,3=<\[*-L="<^QPVDWA <7+I@+F!LDVB8:X^&NZA-^S3:[""KY1 MJLE7WV1PN?W+@C:XW/Y5T??[!/R_^AZ#R^U?%[;!Y7:_(_#GC+OF@KOJ7^ZN M>E!O]\K&P#=$ #_\U!O=UKFQ_?$ -\<=LWJ+=[);OE M>E=@R47@(.[@V[C#";M]?J+@9U:=JPHB38C<\*?08L5)LJYUV(L[E.JA".)5I"-V^FNAP/ M.95W!^'V+\T^S!*>ZO+MY M6J:X3 KHF)KN9ZJC&(2&/S\A^R[8^PUL_I<).5-=M4;)='24R^M]9U+)=N2\ M70="=JW^URB96/W_(269SFB?"^(AW6V]M7XIK*&^3;#FO51)-U9Q)G@I\N&_ MK[2CY)_OZ-SL;O?8W[FHG5,]A7#;Q?4&U.L>&IJ"3"LW<_!J*H:-,=Z2-<-R M3-3$7TMK>(R+\[VN)6=SSIV03H[%IB6-A%6RI7)U2JZJ[B E9;\RK@O#N!\, MPK0TQ>NP30>=C$VYO(\"/A:-Q#W6I>KX?.V?8??9+HA>:Y\,A\%P',"%XW]M M'Q9Y%/_%T$-;MU8^S48T54?A(5W):63H">6 >YB$#-]"=OC[IVICT2'_.G*\ MM$0=0XK&^WVU/CKH#F)4R\*D=OF26R[?Z-8T2:]@3I):JE9W:JJ3;MG0!TUD M3NZ1C5>-9X A=P@NM7?MIYN57I >I%9#S';BW;(5C6H[!G.A$4RS6ZY.*D:YIT<8_E% M[GEQ8\SR^4(=2V\N),0.+6H&'^GE2P_\V;$7E6ZX':Y%:^S*'$^%%-OI60V? M'/O4C(Z4Z5.JU@ISQ4:_;^H+G<7'SG,A/GI8)LVKP&CTH0#CFFDPJL[80\1@ M?0TQ^*D]M!B$R49A&FAJDU-@!#;$ .Z&".C@.$,,GFJ*9.A=H:U"&'R8HS.& M8S(:/LVPC8\3CW#/DYGB/3#_ *GS[*]R\YZ!39%_G5<\6)4$[^L M.Y*&EZ=C&I0FV,BV8;1'TX1'[/ ?R<;3*%A=)D/[IC$AV\+B>HQL!D-:1CLL M8L,=/L2Y"&?96>_V$BU2?9;.2?D;' *9G125(8UY]K^_D"P&0UAV- GJU]*6 M/7CN=Q((G@AU>_W*Y"$9C69:J)!)A"L=O6=: U]0R'L,?OC,SRSJ(]-$"M9% MITBWR%JWZB%C6I&AG/( 5?MNI9X[ MP,-I" E@#$5@L?7D'/(A =*C@/O&H^ M;A%FP)7F4+(SAJ,I:>01FI)>U;80:.9*[)\]5F>Q-KQ["K]][AZ!"_YR'4L11^9 M@528DS.TAR;ZD *\N+X)F<=X:X/F(=F.14C)^^6U^O050T>NSN+2U\M427TS M!1V( BL#,(!G.<$S2J=2*RD6:_=L_FZ5#,]7B=JH=2[K:+.E;=H]:AEEIC6V MG'E,1G.2?C]XY!I\;C3'-!0-)?G##.MSVZ/'(^!^@:&1=5I]>?ZHY-2F-7Y( M36:E^Z?!]6'82D_JR]0H=C-6<]7;:2[^<"=S6%%.A!*QPTS %XS;?3-5HFJL MQS=G#OX',H%G;BW'^Q7/'_8.F9F0T[*\W](&Q@;X1U8U\?2&:448EYD<=^TK MZMS[7_P_'FN3-2S (6HU_(4U8&PFKWZ2:(;G?W?+2/+QB! #WH4?N3Y-@8WP M\,B-:['LOX#-;DV],U]81IKVZ[6,2&^&DT>[ .N0Z;%=/KH5AJ \&"ARNGM" MY'__:WLWFXA=6#8TP_SIU=/<.D'W9'CBQAZ@<,]$TC@L]?'G?TK:0EI9[EX3 M7(1;MXSYN:[)*<":DI$H]R]F\R> #LLX2'A U@_D]BL$S$G.R_FX;\LK=7 M!\Z@[7A[W4<_?C4&.B('._-I5:MX)EK]#.=K0J MS+&1S;Y< &P>[@+N "+T1U"4_X$1S/]B80]O_GL/5CL@WXFP#$ M/,(-^5"^\VIXR W[G"7&]B?^OXNH/Z\;O-<6G8_1QM/P>;P06KRH%!3C_B:F M5A;7%YUZO]IJC9QRKY47L[.'J=(SBF7PQR=# GO8:.RZ_OAK [&?Z\2TJ-(W M6XW1PV/6,G.IWI,/@!A]OG\0E8;5R4DSJ5Z,ZGIZN1S\^"V =_^($GM]!2BP M)O>M22"L=_)5QC9L28,#O9HUF8)FX\W5=(MT[I%E8_T52FSK"D9D0@68D B2 MPWHLEXI6PC)5D*JLVG+Z^VW!*9LFH=9B$16C8N5DI9BEM7E+*26PR\HF0*!RQ-R[# M,\\ *2V1'W?NX[5;MI.?#[F:*-:3MW_#[RX-J?(B/1*!FW MP!A9-L2S1^*>YOIH"-2FF\-Q?;8 -RO$Z(CP1?QC'ZFVXW6KLZ4EB3%"U@KD MM.VS5.*9Q4 $ZPI_PC9V&##Q_>(!9-35G Q_@S#%ZEB1*]7[NY9J+)NI^-S( M9V\_$VFS@^KD7EKF,ZVP5BJ.9NW5SC9Q4^R$Q\[] M9.Y,)LEN Z4^$: J#Y+3GEJCYW&GD1CQ,9&OC4306T4^)!ZYFK%-V7]&R2^2 MK>8?F,1-],DU:C4OR2=$"!"CI3QDD*8.5/ +]1U-"]MX8XQG M94",4M_D"FQLFM>S!FB =?W:.CH+BW&3G*SS13ICE*/SP-%C7<']QW&.[CW= M21IQ^;?T4)P,.';9'4OW2$'3!]:YZ?[Q71K"FGMO<^_>/O=>I[# *>Z$--W@ MZ/&X9;U86Z;GA>(R%XZW:I,\>Z]5;[&4/5+29AVWU(P%#5+O)WP >.%9#V$L MA@"K-\CH]Q%AS%-B53/ U?%CS(Q?&!%9(RC&(UD&Y$<3-4RS5(A%#.B_Q"=H M8W;-O"=9_-SPW@)QV$+R3RR*%H:I6$C?B63_L7@F3]=0)J>4 B=YBIS)/8(4 MF2W WO'=7JDX< .QB5D@R71F[CED+',R#),Q#X.<0TW-L2'W0 ML>PF ;F@<$%V-!#*P/_YT["VW1?))F$:[2A,X!4#S# PX"ZYPXZ0(+97:,[ MKC=K\YPX0N*BJ#=G-]T_1(+U5X[@07T?#UP/E8L*10I>+\N#\NE6_GJT>M MUU+[V/X60]$C%9->2.P%\:UO\E9<.8Y_.!3B;R3QGJ7*Q#D@]J'[<]M?J"YT MK*<-U2G )->HUO;:WNT); K4=<[141B*]N(6W:_4:DZ4I\VX$N-O$B*&8306 MX8Z8Q.M>$AM:>Y];TR<>LM< -WS0NS?EL))CD7,WS=\]W71LTR>DANQDU7H: M*5.VL^)-)'7#4FJ.P<3%0C$A\>EH[7(@\Q.M==-@YQH31\'E>)IXJQS,>&F"5R_&>6:Q< F9]HS2D+G/VLH?%X)1NWG9%= M6;5EN'X8BR2.1.&V:.V"I0(^RWWDCSN^"8A\Y._^7.==T)F*,5]?A>"H7_PP MJ861''MHF'A6S&].?I\T976K_2['N3R#ZS;$7/&6*V8Z+776;LA/DT:3N\1=:L92 MTCZ2>>1=2B34OFJ-72#*IHZ4?P9M6]6L])38CX.]\39W$#E:K,\> M_Z+53FVI= MQ%E+OPDGM^4#IKZ%=;K]>YT1NZFKBJHPNF%O<%'25R^DT/D[K^T_>TG$9R]W M4T:6A5 5BW,\ESXH(_"\']:X60RLFT'8[C9;CCT?E&IB[+%X J OP+DFH-'<8R8+1#TL-)5,(H,B3'5OU>1%O!;-4>AU7S?&OC>.D3!QVI8;=0]YHU*R;$*F MOJ9*/?=$UT-@Q>ZPBJ'+CFG"(>R=VO:;Z_0:;ZQ[I=Z=$40LR,6, <@#=AK^ MRS(T52$B-2UI)/.N,41XH>10L5PR:.$.@ 0]$A+ Q2_)*P9IB (:[YH>HGLD MY-@E>([7A9&-%!W!Z^)X3Q;@0]4PNR*'!]P>"VBX\Z-X:D#/78P%BR$G07?K M5A.A+\)+ YUH@.Z-[1>V!BGL+D;@511T#'T$7Y(8H ^@XS!4I8*[UQC'L"9! ME2+Z25C\*26-3Q)37EZ&=S]-U4FIKAY(CQVNPZXO/'GEZNCJCJ/\-NLYAK7[ MH)1L(N01!C^A>@#AYE8\U3Z0!;_,H M*Y&5.FX!#[QBDYP;J?1AFC34:QZ M.^T(0P0RWB&$OA&M'/("8,A!K6'_S6GR==%>W: %D788SA+%W,VAN!B#3Q[, M+0E@9*J&8Q%(PH^FX0R&6-L6HMAH(VRP[_+NB;1Z!=_79T\3-ITI_/:*1DL- MH(T*BPV7[CU(8X&^D#2H7K%E!.7584T?V<5D2^2,9T/LZGVUC8V@&,E:.$B9H#EL:W+% M!Z:YZ(U/QB+G!)J)31/X#(UZ/$U$"9HZ8^%R+TU)9RRGY[TO@PAT=2ELY$!2 M*$V=(3:/-TZE\@I_8Z.? #^P5$PU6!N3(,UNC1S;ZH_+. NP'Y@5LBE,4$F M8QI6%4CYH50\<"1ZW8O(YNU1)(\75$@9$Z$.Y3'\;W<%%[S?=\&;"RYX!Q>\ MO^,%;XE(@VZ40U$I$9.[O1CBNE&9BW=["B]W$_%8,LYS"8'O\3_HD4E>7>Q! M/9Z83,3,@.5[U?2TIG1F$S8%?IO]D8(U+V2;]TZ-S=>*\U2UG5K%8PL\,G$P M9\N4&\7$.,Z68N7YS)9F3_/%H,L?SJE&)\GE8!)-C?,/C\5%J9R]K95@9&Q_ M)!H]="LW"[,R#D]'SL,TW4E4V04>>?!U16O?/XK-E,9.5JWR:-1(EF+Q5)>V M]]H=6HREL_:-^*BR/%=,J:UP>"H44EVAR^Z/7%:Y5LP8F\:X-!>&PW*T&(V) M=3SR8,Y)"VD5-$^E]B45JMZJ=T*CZM+K<,/2L_FXA@&E I\)AY78QW6 M219OQZU$9K5="_7;TL9<7 ,!#%.- KY[-.T MU3#X6'62OTG$S:,@4)V;AZ=I;U7)K7AADN[.L88W7W2CAPA0;F0'^9Z57K*E M[%W#[*C-MO":D6E\41+*G:!M25C6<V!DL- M-+# )$(0O ,%&$K$ $CZ !!\17NTM' #B8KPI&E"$+P 1\":?0"+@3;X!!!_ MP0=P"%B37R 1L":? ")0F_P"",R;A 2IX,$:2-*_N]/0?*F _#J>-);I,T1; L^(.E6^/ K43SU0>(I>DZ")PGQU=A,^"+HD#SO':SBC_/_S?@]V> V$""M^=C0(N,8Y MQ2IUV%P10SXD=Z]T1M27\KG)2#B%QKE)P/[YW[*,4+]_6=38O];E98W]P_W[ M5"KFM;?X1_<,3I"&<^U]_\^)"#5VE:UL$2?)'MQ.J!<@BW_KJL-["T-]N#?Z M\3*5,[8M#=7PI-=R)C$V6ENU!1[MMHX7/E Q:/=6$R2=KJL["#_6Z;YJK\WE MH^EN:]**/]93]2R_:D'&M?#CMY (<4>:,YY,POL+^E>BZ.AUR""@Z+-0]%[1 ML S;%)]6C5*9;53D)6)@F%\] M]%MPG2GYXS?')D-)/I#8@<3^B+'L*YA>G*3W)'9ZY?"/=FKDC*NBF1JRDB.$ M\X/SDG2R6##46^FQP(JIE&U'I5+=29![A_R/W_%D2(CQKY T\0_\AURU.@NJ M==_Y_SYZX^OO%NP$5L@EWD!KTFK0S'_ME7ETC93F/Q;I%3?-[UJ_S5 MNO:HC^ X7M(K])B-EMZS1ZH4[H4K4 MT<(9HUL?-^RGNO*@),N%S'7NA$+!D+>K,D$%L4W1H'=5#ONB-TE%/I((;C#Z M(UY_FWISYDL'E\&73YT+ZWL4\?I6N!C"G>**@#]X M[97CI&: NI:X2WCK126>/D:66; MK\!R2;;U%3(E7.;RO3(E]KLQ5/CDM#[L*\M<56"%6?M!U#+R98VNVF8]6Z4W)GBXR$^&3^?(O)-M8Z O+\R>5]< M*7F5OKO9M"X^W23EUJI;:"A2H=#K)0:8OK%>PHM"*!J+GEPQN;9:?7G"#MPB M>_O>90,"9@.* >W\KL/DSFMG77VOU^=YEU9ICC"Z:38WUMIYC6.KJC%>#9[S M,:T\Z,9 D8E&A1 ;/+[+.&;U06!1=OJ< MR75J?.81> %<&X\E0PDQ=ME+:!^XV/-G.7+[+5_W&L9]NPM*'LYDC,E$M4DS MX)2N9,B1#) NJ\C*JI:L&99C'KFFI(H#99;H)9SQ+#5.I6[$AZ>L=*YK2N\/ MJU8,&S&< ,?(\;^V]D9:S._L;AU]O4S G 0G51MS'OF/@^97(K57E_[C=QD- M) U:SV,.#_S:6M\*?#WIAH"( 3!T:']!R^F-D&Q#VW!9D]0)!9IV,#UI%F_C M/<)(\E_)Q >H#QC#(;Y5Z++=<_ 39%D1!F8G@5_2EAPCM,7(VXC +(9(A[;; M^"GM;4X:I$MT*/F8YJO3B'9T!OS8Q3/ X MCQ%^#V\$>GH;>( 9H@W:C04#S=KQIW;>,J$$N((46):J(?*CH\%7[?5.H"FD M)U.@Y3B8U KC=@VG$UH(&H/;R"0[4- 4$3R#VX%]Q\:33VQ_H M(=*6?8QU(SW"%'2\>;A2J\(T@'4 %D8E*#+%N*8"@/&B,";-58R&T@LHL(;& M^B7 U!!@YAJ/]GY:P%[F*N81<" (&KK#6<+90UQB0)NFPF\F&CB:9!OF:@U) M^(7!AV_B?^&5]"1+);O6@)[IQ^"ZI4K:SIM(P]/C]?6QV@#-XSNR+C M<73)Q6?)DK'Y(+EDL^8J'H0A&/8*NP^1QSNH8>)_0HE!0IGN- !(1P/\M? 7 M"%?"U@.@-9[.JT=(&#L=AZG;PD: VL=FC4YD#GV3]+YU WB&3O )<4O%\UMT[91?K9%]3>5;9[DMJP@?PP0 C%91,5-Q"!KCY;O MD 8#3/ 8&B%F*,V!Y7@HCH\/[PIJ.?;[()0-RJGE[5O=1T\LQ/157<*2%<^! M1U,8P"=ER1HR_8!2_DC)2L-)8D1QU29WP4R*'/[Z+@,CL"$&E']",U[^.B-P MY*E 6.)0PLBO*E0R&I.IA@B >O@#(+0M2)"#WS!*66#@$O0T8&'X#VF**7-) MZ!?CT?](=Y3&HQP %:!;(];.=4-YM;6\=):MQ4)-/LQLUQ=!1_>A+& MXMQ*2LX*FUCIU(_?\X*!NHOV,*(]F;$M*-SF[6:V5=7,=.5+6( M6D<,4S '5+P(:>,/(US?M2: (=/),UL05! M;15P(84=_ +FYK(#7]H!J*)BFP&#'"9S#0V$:=28 )\92L!T\<:QH2X3;HM@ M1^X$U 6D2\2MXSJIU@MS'2-8?UWMO/2+^F-,0W&H9"/FHP5ERXY.;Z^FQ(K$ M5I)ET61,R\;F$[8K+6^'[@N$FN._K/4BZ P3A#44K"^3O?=6VV]L>W"V5Q]: M8_26BP7I<]4T=,]YM;W4]9>]Q5D![H/Z2(!&S':J+/;!LX6PD"#G.S#!IX// MOZ_:Q-_C0<7TY! S=4R@#GRPX!RUB0<9'* S1\4X-W(4^H);T Q,?_C(QB2/ M,,#4U@@_D5:>(KO!5$DFZ\ ;P< S@:V!V\H=-3)4//]Z+*QR#6.@EPFX2+!= MMO4ZUIR-+5_9(=WO;#S$> X7;.X;LF>7J\2]3[[V[RGUW'"_% FN#@4)"_L?@@3KA56V.K M9(BL('BT6U=D:^J=^<(R MTK3]8I,[&66GK4SRXI5&/KJ)C+O1<9X_K#X"__M?.[55UBD 8:_-*8WS;YV@ M>S(\"?D/4)B6;B'NM)^2MI!6EKO7!!?A$INBGM[:!%A3,A+E_L5L_H0S.0 ; M% ?<.K:=^H#TK=T*@>ZS-^K';%4DY;F(N =O\0#8IU;_"$R$#6#^3V*&)NCQ M_]TTY)>=3:_=E&Q21VN?A$RI[NK2B/1:[]I-MNQ^=9KCM..>'#G_,,=&-OMR M ;!YN NX XC0'S&-R/_ ".9_L7D&;_Y[#U8[(.>VLDS<#])'+TSO 5 B=DN7 MB_42T9B@=*.BQ'>CJ!_M2AR;[+)R$LE\3$[&8LD?],@D+_$BKD_3EEY./;.- M830^2]?B(XY?=/DNOS_2O.=685Y?WK#.@L7,M&S>3I)P7^9@)!K51,>1D<%* M3POG\9ZO5YX3<%4NMC^21U;+%!X>5^-\>]07FLYCMRL_ST63"?^LNX@M<9/?QZMSS,Q5!T M$&57C6Z;%6:/(Y:O=V.'7Y]D]'XJ@VZ5UHQ?5GE5U.=-#48>?'TDEYZ>[HQY M9UR5GH?QU&+0?K07>.3!UX?.(Q>?255[W-!:3JWIQ"OVI-X5#[]^6ZL@<1KN MK%J-0>U9;RLYI7NSZ,8/1^;;/=M*V<**7;6G=T]/^4F]]CCH)@Y'FF%I9HT6 MW9M6N%>=L:7*4(G9=3SR8$=IKM(8IS,C+K>ZK[1K1;[%ZI44'KF[HRZ2E7Z, M3>!5R4*_&TURR6Y22G+=I"*A),\F6"XN[<]M]>XTM=>=)-F,P-[UQ%PN=_=8 M!R-_?^2\8=7Y63E7;"&EIR=;"2Z6ENK'\'0R%YKA?KD5SDU2)3,[SH6C]<8 MCSR 0'NXB'?*DZ=8:S*5Y@^WPC0]Y@%/#TX+W33,I^(DUV6KT732&A4?HMIQ MW#?ZC?3CW;158$L-_3';JLBWZ=CB&.Z7'Y>U^J31K[#Y[*V<9QNWA<;=X!CN MESJ-VJ0V*-R.$2MH#;:S1(_RX!CN)V\ZD]9C^<9JS6)/CID2'_F6L#B&^Z-R M0J6RH!OA]N(8[B9Z M=),83HL G!5Y4 M]N>NK[1%'(5KC18_F-ZJ2XLS?BP /XWOC^2RXB"CVX(Y%NO5E-&X&Z<:Y:.8(M^' MT<-#.&ZPX0>A&#/CXWSE"49R!P?.YUG0)7#26-\-)%.YZQY*]R)='YL9 ?'^"1?3#^S^OV3 M/4:U:)*M/Q9F I?"(P].M,?9MWQ*MLNL;ND)K^HN&W]> ML)W,LM@>6U&]T#W*?-E;]2;<3=95-G\GSQO.N'A;R<#(@RU5^PYO%&Y;M^/5 M8&*T9M8B=2_#R(.%SH:U0O\^;'98L5]:-I?1@6#'!L<(13742BR:&DY:G6B% MF[9Z(M=]J!]CZ 4S/HS*Z=QM2WKFY[>Y[F"6,E+'&'JA/5-DI,257/AYHC[7 MS/#\M@4C=]?9E9*R*/:E:#?*\UPWVHLGNY(4$[J]:#^6C J*$)42^W,OGI]; MB4E4-'.E;KWV%.]*=QW,4H^0U$-"'_!#8S4:BWP]GY6+1TGJH<<-NO7Z8#B>:2LQ MG8QF!+D^.$I28CJOF*B#4JU5.1P?BZJ6K4V/DE2U6TSG:MG134ZMIYECGU/CMM9UKU)RZ<.D92K@ M&$G9J43!=F*U9:O4$P:59FW:56;'2:K9T[3GKAJU652XQQ;G8E6M%HZ25#PM MY(U9IQUNY3.)AXS(J[DG=G",I,)/XU(+\[);5FRPQ2B/#="FDCI&4@]9)V?W MXP\]ME3KC9ZM?H$3A_5C)#5=LC.$'"[#-A+3Q]+,XI,%=)2D*J.E8]>*=CU7 MJLQ2]YU!V>:Z@V,D==M]F]K\<9O/C!!Z(- M_&DM[E<=7K12/DDJL1B)Z9DJZC,*LF13G7HNL!>3240/U1)(?& M-)S!T'"SO"#NB12F89,?P86U\8B[F3_KA+J-&W?C1H,Y5-VR)4W;)-!!W!*; MS#2HW6=T+^=N"0YO_!+Q;4L:,Y#H)Q%D&$($SK&IATU1P>?7<]8SVG@1UD2U M+'A@K2P;35QOLFQ,)HZN>JX\]S=_>]@NA0:[<:,/X$!&TB5%>B$%ZX,0"4(X)J)A!\B;LDT:GH"@<9\$MT.,A;^^G1BYZQ96)%MBJ",. M0UQ39X[:5_%JMW%HJDG$"[L]_U =#!<2S7[%_$(9H+T!"IH8FDK_)DM8&.88 M_VFH&@8/28-]ENC/$XB1H*4LS=T'?2K6'P;& "$>Q&3;9I:N> (#.3D+J7!8TPO1$6B"CX M"86YF& ;)EY6:&M0WT&:^XDI@NT@9[+YESQ$$W"[;OGA0^ +7R!-@_]:@#.0 MY"R9;L(O!*R 6 DCAKV>DA0_!^5!B@X^' O:O/0VY+=.XT46H+-"$BVPT,H, M09IM^D=G,<$1/GK!__U' M_8UQWD"6FRU,,J$A&9C&00!O++P:P*J>9-%N-NLX--G+E7CJ.W(#R6P*Y+ 3 MC L#(?UT\.PF_'7P,YV,Y'"^]]K)N1-%,)TICH:J_?V4D8).DX7P%](K]\?# MY)'Y))8?R_YDUVD#M6YX^/.FCQR7DCO!E3^ @^V28:$4D_/ M-6 -7DCD\W S]SBV&=E">K-]E5\UKU.UU=J.VDB.;>R&;,B3=W?>BG,1GCM! M[RU!)*&ZH(?$U;MY1"-\+ "$#P#!1V*) !!^ $0TD@Q(P@^0"'B33P 1\":_ M +SIJ +V@DA\<&"<&_JK=^AG<-;;/D[G,%;'/'RS5 NL^VW=*,ONN_+H+SO MMOV-L?P"]] IOF5P"_>[B_VIYW/8LF(P'_JEDTW!JTY9 ]-A)@)'C"T MX"(<1(_?U4PR(*. C/ZV@2 ?C\2N6R'=1PT$ ^0X1([/S6/_NBV>RS2O? 3O MW[ ;>/TL!.';QJJ?GR^N0^\!)GQS)G@4$_Z0#UZYX<(Z%_=D*'WM'5W+9W+M M?9^B++SK[/-7+X"S5WU?)\G%CR;)6:;=S:RK*N)Q! M):$[8FRN?R?)R_!#VBWRXHTCLT ]K6XKI2M9]['[=B77CI6&Y9O8& ECJ5"> MS3/MZ)\7GW>YUHUI3.#2.!Q>1[6'&;>R16[I9LVGH"Z+A92FM#Q2F+ZP4/24 MJLEUUAGEK-+2Y#G'2=$F%:(HAOCS-*GP!V\Y6:NIK\4RKM,PR4\L0]AF&<+U M6$:J',YQDCQ$X]7H-ODD\^+X[N[:+$,LM.:5X6)YS^87K<*BM7H8/9&[?2)F M&3$V)(HG;.!U#:<QY5._5]/YM!V[N0KOT$,NQH40L M<3[-Z:N3VW?A*9<-4E^=IUQ%KSK&4_+]6?'.45(/N0Q?[:820K'$\]=6K,:Q M7.WA":U*N5)AMGS.V&*^D8)*-%BQ2B3BH7A4.+EB=6V;I4#NVKIW?9"F3E2= M7J[^,D:FCQQ8UVZ%?.US>=$==NV#>;UU)O./[U2];;+-;:C6Y:ZE58Q_GH]9 M+M=9Q9SPPA$GTO#/6Z[^&7?%AXF_[U.?7([[J2[TXQ@ M"V/]^=*ZWHOI_/LO7\;-%-4)^7&$V&V(3X17Q>IPX-7AO7SQ8HO/;& M_$3$>YI+AFV*3ZM&JLQ! MT4<1B#C&)T/15XGX#+WHOVJA%2X9%%KQWX7AH)C!9P=$4,S +X# .H 80,(' MD AXDT\ $? FOP "\R8A@,3I(.%W7^/170?W9X-KZ-/37$/7H6#V=[F%'M"- M#ZX6'_C(/Q7=!/?.@WOGKR''9[]W_L%N]9_LXOD'=W?A^\:?FS,&-\\#-AC< M/ ]2Y;[X-5+Q^UXC/=Z>Y6K72,MF5N^UHR-SG,F/[IWY\+DSCE_[!A67;L73^+?9QJQ'*?5'F+]96ZE9Y3VW=!6VAEH5DNR5Q*" M$!+%6'#[W!=>D^"FZ"FO"KP:9_]Z7- WM\]32VGT_"!5:FQ5O44/A;#97Y0& M5V:#TX=5JI:K3 2V,WA>M I6\CFGUFG5'CZ4%+A0D@]NGP<\Y6_BXU^/I_CF M]GE&31GW\6Q.;974IVAUFA#YUNS:B<&QY]MROAJKJZPJ66$USH<'$=I;C;^[KM'10@@L)B>#^><"-+J8 M^O!@KLR-3GW_O-IIV3DS^6#F2MEB3^XFVU/1N;3W_45NU+I?FEI>*0CC3DN6 M1O.".DO7![3H$*F&D0PNH']O0_CJ5SS/%IV\]L;\9!SOZ6 \'\[?#M-WSRQ? M,WOE^*,^2MQ>V_NOR.R M^'@SLO/-19T6O(F&N&0R%!=?JSGOQPOH)\0D5<=?L;&FM+\NYDA*,OS]4\4J MC2H?IB63Z3 H#8HC<"/>,']Z9+'_JZ;JZ">V I )?QW\3#]%E.!-,BN3-PW+ M8FJFT5?MTY\'+"3LW)-/ ,%QD6@R@(0/(!&0A$\ $8AKGP B$-=^@43 FWP" M"!#706&J$T+B@P'7-[T;GZMTPGFXP>2?WIL6DY%H_%/?F_9J\MA# M$UVB*$] 1E^7C*)_2D8"'TE>MP2)CTKT!,AQ@!R)S\UC_[I$3\ T+T$79ZK. M ^)M>@).GG1PE;;\=R_MA!O /. )08L,2"/3ZTB'V6) M?Z8@7]GA'8@!?W0HX.*1^/6QX6]H@ESCH::C=[\IP)33*HF?&#M.6\+_:^%$ MP#T"[G$!?>H38\U8?9IRJ]K%0RPOGJ,PBS]8QLEJM7B*L;_IYYWD,W5,U.WU*Y.'9#2:::%" M)A&N=/2>:0V^"OV\AWQ@]FW:25DU9(+*( U0M>]^T=4(UG05YM>$U525^V)I M'BOD2N$LKR;LV<.-"H05^_&;$R+< 5G]Z\O052"* U'\=Z+8+\U44N5PCI/D M(1JO1K?))YD7QW=WYQ+%RQMQ6A[&$DIK,IQ4$FS6TF,W"\PQ$C]^B]&0&'NM MC/>CG$J)X/'MX&#ZKR?NQ>A\/]W+"J-B(0>5FCOWQ M.QDYK)3ZK[\U[R]*.R?K/'1M+]4E587O743:TS+\6S'Z>UC_Q[J,Q-7&\TK* MICIC]6Z2L@O#IAJ+_GG=Z==UCELU']6R8NTAE]>?C.=;IXQBCEN:E>.X4$QX MK2U;P&FNFU/E.[WC$Q'1)12/3BYCWS;E=CLG58>#H?4PO+DK+_!A@0^ BQR6 M2SV=#^"+TU8@Q0,I[AO#YQ@#RO=GQ3M'23WD,GRUFTH(Q1+/G\MST+<*+2O5 MJ-^T5F@P[N=N\M/! TCQ!.8S;#+$1P_=C0&G\4L:H.^D^"-)K.9,8&ZVMV@*/SJ4LC,Q%:9(I1^]:JTRCV4O+U:@U M&W03Q.1/)D(Q\8S*PK6)/PCYG]/>?QN/+^+N-\5B_@9E^99HEJKIU&!>9X=U MC. Q(J[/:75?&[T#V1;(MFO+MCWK(<,VQ:=5HU1F&Q5YR1G-6M5IGTNVW6>F ML;+:SR7&DZ%1+#R:8^B6/)$/8J"*LI[%U"" MPN+?&1!!TP.? ")H>N 72 BD(5X B*L#(NA1Y!=(!"3A$T $XMHG@ C$M5\@ M$? FGP BZ%%T_1Y%%TB,\7=1BVNG0)VI!,Q?]2CZW$4^O!Y%NJI?JD510$5? MDXJ"%D4G0HY7%:YOB!Q!BZ* :7XQIGD>_\1W.(.@A/$W$!MG\FA?712NZWZZUD>!DAPHR8$\".1!( \^LY)\\IX7WQ[F 4L,6&) M'I]813Y5ZZ/KQRJO* 8^9;_;T[0IB5X=[CYM4W)>WN>['LA?HIT1\\W!'["$ M@"6*V4SJ_?:T9$YSN1' M]\Y\^-P9Q\]5I-@HK:25S=:6XTZK4J\A24K?2W7:HXB+QT.B>*XF1?'KTTY0 ML>@T51T^'0%=HIP$UR@V4_'TH,/FGZO"V+[K-0O:PFU2Q)ZO5)(/Z"J0Q8$L M_CM9[) M^0%M4L2)T1 ?/5>7(A_PC*#"TDEE\>'Z1*C:VJM^BA$#;[B]+@ M3$I'3INUQHF6T6J)\<[J>6DZB=)#BG8I$J)L*)DX5\GBJZ8"?)'T)]_I'9^( MB"[2J;@PCZ=7TB3.9L)5I=F)#M,C5%]W*3KTK9W."?#%:2N0XH$4]XWA6KYF]%.TL6Z==BF)?QN/+R&O]?1@:.E. MH3%&#:Z02LT?N09W=G7)OX@AGY.*_AM/+Z$ M;.O.DIJ#K,13:Z8D;QL=,R\-FGIGOK",-.W7:S;[:6L1OWA%@8]NF>;TP*'8WWZ]8?C?_]JIIKPF8VC_ M9)@_/:&T=8+NR?"$K@=:L FPIF0D MROV+V?P)9W( -N@LM75L.YVCZ%N[O:/<9V]4C'9A;AO3GSP'?&('WN(!L,_B M,A&V>)/$#$U@*O_=-.2CUY#A;XSXF%UH.U>1W4<_?C=)^RZCSV0,TH?+6E.- MM#N?!]28*,C_+!<#FX2[@#B!"?\0T(O\#(YC_ M97CRYK_W8+4#F-X#X!Z7H.RQUWU:Y*?)?+.RS&6L*AN//QNK MWF#1A:'\RV_-)['\6+[/F:U,N&95[[K/G>PB1=[B?*2G'W#&$S(<5NN8WY5H@!\YW!&A.31;+[E"-/!4:UF*F)+)!%"J/J3,6P$1-C M8+,<]XO\E\?\1GT927[\]D!&/E' VHX^4(&]I2P+V1:9@L/GIOZ.,"<\MI,B M\@=0U4>XX2/RS2-C@&V,H2HS]V@ [)>@$/^+\2Y; W+08 /%BX# -P0^D4:& MB1<#I&LX)J9N>F:8.O'Q8P&I,'W3F#"R8V'-%)D6D"I4VP=K"$KL0P3.8A:J M/62DZ=0TEM@LL9&V>J\[X)0Y0>MPX 8G)&T3"JP8.ETU7;0;#$S+2=59WED& M*S5J-[-2L3E4N#]S+KH(MS&]#DRMBF2:W;8^;*XD5+P?EZ;3?-E.6.'GV>+' M[V@D>6AF$>R]0F3VC\YR,1NDI:36*8PSM^'IC9*ZK^;8/S-FWWF6O>EME"VS MUJJ%+.5)4TIU7GW&9QD[E@7%#) . 64/J2V,\3+&7L.Q+54A6O$A:BN.B97( MMSI,[$H[.,40IB5KBF30,K55" L[59?5J:1AVL TE)%T29$BF"5]1&J& B(C MG)PR\K>08UPI5/1*LCX>-_(.2J6MY\(\AY%#.-9U^7*$QO%=@?M+2IL65@^Y MFLBR8SZ5-[/%1_NVO_JS%(8/'.C"[#M)&DKY>:;#$%!WJ$<^T3 M % 7D<(2^1:S0"9B-$,F]/@:";Y$.VK@K\2R_ZEZ*!?RGP+WU'_Y)/ M>)-$6'I7249YF6.5KA3CA&Y4EO%?DBQU8R@:9Q."R"H('%4 N# MR18:F5:C@=?)I"I9_'^I\F.CT#CQHD]OA%(T@;1,_@Z+W '14JRL:F%KT,)8 MCK6AE"YI*POK*G'AI)CRWO/>#C9.341Z0N(W8,T,'V&8S;I=:%C,9OU$Y7-W M0(#Q&ER)GGZCXDW+*E9B,'M3"*F32>Z1Y6@V&>+FK!JZY7OX^L =1MKW+;!. MS90-8PR&UEH=#OPTWKI>]8$VAZK%U!W)Q&P*J\?W:&J8-H/Q$A_LA I5C@W7 MP1@@JO5L/10CJFHH+UNR_[@^6/P%#!_W$_0G^A77P?IO8O)(JF[!1P"88LGMH6'A-^E*K0AS\_(A83-'<[ 9 MI.K4=@/^@@]71B8],,=DL(IA$2VI)P)>#,<&UND8&]Y7,A8C FV!:DC!IMS[SH- M/'#[L3V4; (,W; 9C/VV88*-P_0E^#)\R[$<8BO*F)Y[^#2!L-2^ZH(#F1-\ M%@Y U/(@*.$!8&&"N>F!T/VIAS05S0^?RX:C*?L/D643W\S!:+0$4_C@L0I* MLG+P>"*M]A]1,.T_-$#'QO+HX <3*>J1[TU-8W1L'=;PV&X@MG+P# 9ZSS . M6BKF>9+)X UB_+,(BD/(Y2(2YM-PZ<]/\VM4NQSUSPT-+VRL&PLZB:/3OTW5 M&N,O.G!&('<(FX;X;_<\0BZFX>E#$-@%W"+G M!7)Y -C@QG@8S,+(()=9@ MLPTGIR@H6Z;:YYMX>YOP"%P,C0X+ATL@")1'K_@__]RK?)+ J: MP'] Z8'/8X*>JS+"DTZQK$ A!J.61*J5KNA>*'NFU$/.C,*5C*;$I6HA6(4# M7QU(%GUMZP&CJ3-'5? GYA*&R68I6R=!E!_"-,B!DDH:J[H#4("U) M<)*'2'& <AV$+UGT ,P$<8$TSTR@M/N#SN?Z),3]\X8D E+HLU9T^/5$?X^_+B_ M.@W!(=,S!EEO[R$'*!:8'=B,2:)8,(6E&0OXUIIF/$8.85^9RF[Z58R?MOA0/>.?F%FKVK N8 F>F0K?6ENF(1NO /!#]>(!XA->1V4 M;AZXU&]Z\MO A(W/0L9H2(4$!!D,^(0@/+E.7 MDQ,,VBS834 KJ<3 0'XA$6D22;%=I>' B#:MQ@>/A05P[ZG>>>)<7.%)5_8 MHB8@9APFY"DA:^=P)J WP/$0VPTP#>,CC"'*!7QR3[VP+$-6B4E'DAT@/&WO MA(X)"X(U&MK.Y@W,]T 5]R!XAQ55#(RG@+D1,ZPN\1-_O[X;;- M>B@VNWHO/3Q*FNX.UVKWMFIN(WFH&YHQ6%$>:SI3=S*"=FNLP[P.0XVL",M8 M]V0 ;TVL2&-. B]K&J*Z'7Z(]V6OZ*EF,-EC#6#ML72/)<2X+IP]DI$&GFS> M$ _^$# /K!B276O2PMJ9^__#V]VLB2P:T=R"*2@O1 1@S08?Y2\BEX"N/35B M"ZMVE2X-#8B>NI%^VX1 W2 T, +_-+;M"VS!>JA,1!4F2KRT"=$DW)4#XR=; MUJEJS?3QNBC*>CX!RHHIH\&&Z4 '68U->P8$DZO6[!Z"F^\$XA^BTH3-JZ8+ M?X*]!*VP1F?!HHG>3]GP]O$Y,HC/OD/CTQA9 6,IJIEHH](B"_(03VH:_U6: MWB>QGE_P\3,=!/0+OGR,*/K*!2[@&($9YED*UDQ5X!-,#5,&4P@Q)## I3QG MQCT>R=Q0H;+V:5"J2NDZ4.:N/Y7AV'!I[4I=(?![$!_B87XK85:.QV_[^)A! M/A)JW'-0PLBUWQ&CYD2ET0G/_]K(93Q79(1Y-!R&.FLP[DJ@FZ@6\Z*'-G21 MK>0RE-D@DI,$H]>_$>W-@KP9R@(PE6Z9X7L^#%?+?]GB7KCF +763NUF^@ZT M].-W'HM+W264'5$98E8;W +7ZE3#% <0= C;5JE3PWOW58^%9AFAUX(!)G)S MOZESX#!(1YRN?4H;Q.,U=4USG?HZ7$:N )\E?[]&!1%@%=1OAC>VI2L"\W:F M9)*W-N7J6R21R=Q]#PC1(C*08O4:+8,4H)=3@&)!"E"0 A2D )TF)/(JP_>D M*XE7'?$;*!AQJA ']XL<,43L1D;M$P-AVT3J(:P.@&)#C4(-!9+Z MSR+[() TUVNG[*:M2&[BC2>P>XCJ@]2/.L*2G8!B2Q&3L!E&4M_7.2Q;TLUS MMMEINS(%EH)Y:R]J,#9=D+P[N":?UDUBWXJ%5) MBA]&&. DFT-87_4"6B2RVGL?KGVM@[.8,&420@*.;AH2R10*XR<@/0B\23,+M_INY\:8-3WI'N>M#!&6YX2@\1XW MW(EEP\31712VO-^^)=0I:?T!R"D_>2?TJ97D@H+Q6>++3T(;ZA3!-)K-W*\1Q1;PZAK%G!^0UW[)+1S0)#P8JN;:+N) M>>."<$Q$P4^9.,4$VS#QLD);@_H.TMQ/3!%L!SF3S;_D(41I2!C#"^F1M,0% M@@OM%M7.\%&"4]^-OO5]0*?V$2EV(.]RCM;^1X7>:*9^1^H[ M<.,Z](QIK(6&=FF88),GH^&)T0[R[W#"0\!157D+/_:NK=&E> R7)J]0HGI] M"1YG?FO^[0C' 6KN?,-]MIYP!]%V1H(XWU9+UDH'T8 (KP Z AW%/:_UXC=Y M/*0N!.CSH;5AL?X(Y&3.(5\$[TG#7\+V";% %6PKKFC(G[AHJ")D,1HD*N'_ M"J)[]9;.:HYI$:J::@XF$+25,12B: YY M*B0+8TA2\#81"XA" >+U50UAO-N'^HN5%M94M!A"[-^2L6X!H[ 4G#GTVK<" M MY+@8>@#,*8#VD"A+JH.QJO>K7.2'%QS)L;$Z#F())]Z3J^MW:UM3"H]8)9 MS#,8 7.:&(@(YP J5:TMKMM#;HYEW\T+(#=R#"S'AQ> M#6@>S! 1C&(2QHV(L P UBV.\&Q$MGCE2: M0*5OS@/;@BJD]TJN8;:>:.]@)&N]L*V+%YL+V=O[ QD$&53V^@.;^8%6MN < M83)>PJ&;7;25O&FB+>,13FE;/A&?E4E#=[I%O4E$+M L+&_A ;,#XT+6L%9, M3L[C&.96+9L!U'FDG(7F.GA&"+7HB0_$,2'/ADI;C/HV6:*;F<&,',6U6EP8 M@%>\;EK_UF%A40\E$:UT0GX)',Z$U M;W$SD5;>.'FRUNXOY6 MG#EP7^ZI--O:@*<"[)JSVPKY)F]^2X4GKU'W),%]DH..:"K>"RY0HL]3G1<( MDO( ?9/%W3MB?^SZ?T(O^92(@4%-#DRFKK7DVL$;6_R/C5ZF2G01PK@LF^9( M8GP#7=E3ROY?>V_:Y+:1) Q_WU^!T,@;TK-HF !XMG8<(F1RE/ F76 MVG!;'1T"*C+(X:M2!$:W("B_PE7!%DP*!_S]#VSA%MT>H4.% 55:I<*PJXAG MTAU%'C*E#7J$7+0M,=Q,V3M4PB,R-&,M^KUR_4]JW-O25F)4X@;+='"D.)MP)QU M1_5.W"(PO.(L[SPKE1<"M)9.Y]B2SM'7Z1PZG4.G MY)>U,I2C=Q\Q%.!U;5*K+5VXXBH>KY>,E35[57LD]D6(7MY)FN0NDS$Q5[6H MJ!U4#C:9/:2#ZA5$HG3*IYB]2&:GHJ_2\B]S8X0> \5^2_&%$*]71"$61HW* M/8N$FSG>X]+GE!AA&>_)G0>S S,A,! AZFYXY>QI_?#Q8GV328HKR_AL3DM@ MS.!VL9RNJ,^@N#("KO%46E7$<&\ Q5>"#5(>:7^398TZ*D8L( M+55#&4"1(96^T3W7I!)($4'P:HUG1,7YKX2%&:$*+SHLEE$;44I,GAO:$.7) M[J8\@M<1HY+'";NE>TX@:HQ+45$Z]B9&E85?4+0:=0](Y2O\;U7_8WI,66A$ M1D*MTJAB99$Q(=)8RA(PE1,@*EH68T=H6I6AK4KO" 86T+R,WJE&!4@7WS*1 M R,#(\A$&'5354+K&$322$FO$DY5M)"I0UO'2 [080K^.+P[Y:E93(I.I=B(Z+C*N4)JBH*%RU3M5^2';".ZI$<.D& M'7PN;A3IEB(\E_ 9!<,R-\LRX[QV8I' M5HLBD/L<^& ^ NAFQ<7F\LVE[!E/?0DHQT'RGA#9?!7:+Y['/I M0G1CL"A,8R$R*2^Y#H-U"9=D0I?%W[7F,<7#]:2J:OBH(I+&5!1:)-P4&0:+ MYU:RB!H9X^QZ5HW7:4TN,VC!#:**;$Q8*$QVTN>BC)+\7OE]*8CJ[27HZD9Y M@,*IP)LD&8*L+F<6>1<<$\'"()UR461;N7VB"F-/A2RIO8 /Q)2*6ZF/'/L" M(>F]$17D[]2]#0UZ0)W[!3%<)A+4#^7S<4:1455S>0?\H[QN'=89-UL M%TR$L:W.=Z58I*X!\N_+;4BH>9BD(^5,%3^1%VFHE^I=[I_WK*XZ=9-\V]:K MH]TOVSZ)# /1Q\B[]T+$L6(%@5/:M+YS@]?^1O=L*]JE+79V+%MDEJV<+..3 M]$-1UQ2?DX=?])JA9"#5(JN\18"%L)^':5#*41K%=ZI[%+9\0CTV2U6328P$ M*/\>/?)*XPAYM;[V/N\S2=M4DD012J(4 !%-J681B&OT2IT;5/S3JJF!AD MG:E40MGW9SD!GWHJROYMPAVJ3/'@A)#:6\% P,$.H@3)%W$!V5E")O,(*85@ M%0VOB-FDM%9]UT@MJ-:39721;O!X4@,^O">B(GIITZXO))*"M^CXU$$<.LU53*I43EP,_:UO$9: M[A\B9'"9'2*R##'SAM)$2,_*^40BKBP,)(5S?$3G@FS)!1GH7!"="Z)S01I1 M4=CU(10Q(YFX!GNB[+TU0FI%:R2^J>5#71Q6I&#-75$ISH6XI*(R3#24"7+2 M^5PO>&>4)2#RHXMJ$14[J_57I' ^BO/*E5U=L=1-H,J1P.:5-A-B/ \K;1_) M"P.+$_OK"M.<>Y33H*K/,E;V*S%%58ZJ!RNOD46G3+*?9"6(Q^:*)\9<6%[, M#VCV0+&#PM1>H=-F/)O&/O:3I!3XWT"ZB?N .C037H\G8)D1_D->35-5 MH1"T^3>>P!EYK0Y#Y?XOM16OM8>I/*$ZQ%#\LIAN4!C#Y1Z]:FPO(,*[+W/B M9<%661Y5Z^J5+#D1GC*_JM9!U?RJ \?G*3PQ%B1#W4D&&QOY%8-1=NP_@O2= M5#,6HKC(G"GBXJH/]>Y;!P_%XRO;G1RM5T[5"FZI:7Z(:4LM,;H?X*\ #' D M-DD<":'SA,EV1V1EUR09,JO&:PMEBPK-D M3AR,(H\KRS:3J!I,CU=SSVVSWQU9=A%A5.I(T-962J3*4'7W-H'E[)'55XN1 MH3*PAM^92P'CE,TJQ9>EDBM7NZ/6 *"H$C1G9%1YM612S%(G7 MU^QU9'?-OM.S>DO(WDWJ+.*Z"VL-:K@&M\C>![*7DS.$.4JV;#R98.MLO.NI MW?VNO)NY:"'X-RI@_4 W;SIJ6 !$EC(+<3@:EO+KJ<+0Z2[R1]=RFN./ZNLH M;;GHX$'"L2B?IA2P&::]47\:,?]G+8,8-:!04XEY,9>]ZIF7.5NP%]O!-(P' MPJL*!]NVNN4"*R!2/7]"W4F0X^L@V'JXBU<'RQ3?LU=1_.,TPA"4?8W@G0Y@ MM3&"7[C)7JT8UE%[C2<>2^4V\.\#850C\H[E;B1R]0R7)Y MK/O@+FK,_I+&7%0&0C:4?#KG,7;V*$;3J<%@BJ.E65FI^I=RI3):1]8Q+0SO MB2-1C5,9_&,9"D(E9':5)CUK]%WM9&":?U?)HTZP_$..;EL0EA>OQY:A+NC1 M&?9+%50ER,XH-!L<'G.DA[3$*582*E^R',+A#G2A*GWI?=UFOO2V2+K MLT6&.EM$9XOH;)'V"*OSWM?N;NUOF9Q0'<]J63#:A877_AI'5V6V\3*0C G M RS$(W>_7\5?DEE/3@4VN*,;W=1X01E!<9["+]*7UZTF6-F\4JHP4C>HOD(V M3_FU^DMU&_A620DHJCPA-6ORC>597!=N]$E-("W+H\Z2]L@2M3%%>N*8F5\< M"[*H3D^Q2T*K*RLCXV&9@ &A74U+]IHN>U4-AW *>MNE(:1C4I MR\8TD/H0X[:652']$+Y\A#WX?>;O /;*"-0HI@&H\IC6J*L1T0I$=%V-B!8@ M8F@->AH1+4"$%DVM08063:U A!9-+4&$%DVM082M_8@V(&)HC48:$2U A!9- MK4&$%DVM0,30ZML:$[% MHE#L"@/NUU2-B'];^EI<:U$IUL\>>7S' ML=R-[NF3SS^<;[B2WN$BZ#-=7OPB[BS>TIU%<0=T"JC?=O8V$0- 9*.P/SHQ M_(KW5QMH04M7+5W;Q%!"NLK;1VG+V/-O!J' 4'DT+6:XXGI8)(6X'5-EAV@1 MO$<1?/84L[N@;H=4WB*'ST.8/A7U M'+?RX)BX)/G,?R"9;:CDZ:3S#5YE2D MJ":,PQ*&>TJ$T5HR&)PZ&9R4?&@E&8RLP;D)@\=93F4.__5?/(_SR>2PQM2[ M.(%SX2@DV:+L!CO/O0CC-'UI&A'/&B/S8Y_T414J#628'/O/,D\XW6_ ;XQ>SVW:\#\V@C5AGQ=A[TK*+^R7 MFI2;N<\^]KF;(67,56D7*3].1MOF<-#5I*U)NY[KK\P%5B'Z/<4R3SBU=3A;:.3 M._^.\=&!.>R-=)!4.NQJ62?'DL+C]L$4_0<P>>."CYIT-3=@G2MC]I4+34R5LU^QWG#4.P_?4"+J]?:H/ ML:^5USD/'5>HAHOZQG/7#Q3&=[ V Y+%B3P^'V?&F(4L\G"X M_>K9IL_!="I>FD>PE1!.[QM80H)SY7$67J#.F; ,=G+'YG(+W=HV8;&.Y:Y: MC*I2]#"?G4NKW(8EQ9W*RIAQ4D+%O\+J& M!SFT%5:;]_4[-X"\C#0?_\&]C)B!?3/"@(W5Z-9@-H^1>X":9WF8!3A+[8\\ M"5(_\+"G2VH9OR,O G/D"&1H,?$LVD&[)/1!!CD,!9%.0L-/IG FW#&(;Z) M*)[!CYDW%7P0S!0;YBD.ET#6]W#DFGP>%2\^R5D" N &&"_-6)9G<7)?K"AF M[K);%H0TA $_GP.?X@-&3./?\HB.9QEOP&I!]DG! @@F8+]$&0Z:RZ,\Q=>) M018$(PZ<"(L#@R?!#T$0>%Z>F/(36!G^ M/T^Y<0M"10#X7CV_ BJ3))X5ZP)BY%\)W,4&2MF!)P8AR4+"&G6S$V(C!_$D MCDA@D$WL &[!!!ZZ-W&^1LD82M0>28RL,[$,0W%&]=?U,M<6L=7G-2BM:*XK MTER2UM:+C@!$R\15AHM*U:GB9G]RD#8![Q.#H!^C@,VB^>KL[U7 MO"](JZ/ 8:_=RKNKSP(GXW-BB4L@DJ>'#/3(0(+@JI&!(STR4*Y*.-U A*/'X;0!$2";7&TVM0$3CC5P-"):@ C0UGI"5!L0,=)*HAV( M &VMS:8V(&)@.5HTM0$1FB-:@@C;ZND@1QL0H95U2Q !HDG[$6U Q,#:V(). MXV%?\TUWNP^ZC,%.&Z]B3@L$#-"5'JR&MALY/#;W;(1%J/W-= MM;D\>8[V].2QT^Y+M4L]326 M.OGYWT^;_"PM_R.#X,'E;HW-/-^OR=_:D>>G;]R_^#R-\Y1%?OKR5&S\-E/# MB5OS^Z"&/1OU#SKR"H.^#@#6G$2\:#O]*0E3FG^6+'1-2!ML+Y$!?,)4\QUV M@5 -")I.9]BS@[8HQ"XC'*T"Q!*)V*YE?Z>QWOC%M!9Q+1)Q_:[9[S6JSQVM MS\MP0JO@L$0A(VOTW5/# P?EW;<13V[N3^""OSU>_YD?@L,TZ+I-1P,&]IV^941")M3PDI MIHO;#KW@DZ0*18Z-Y;^4BQS[8'NBWYXS,;K/T>[D)(D8))!"Y-&')TTTFQW"RW&6BS&!JXY'#6;^W:!VKM]B22VU5U,)/D^ M8T"KK?%T&P1*$,%;LFNWOW%?XDG\^W60 1R]5YDGL1_<"\S[N+D*SX0 MYXDQC^_@'3X/ ^#E>P,>_QDNG<"^&8@.%L(^X\DDA7<"G/" (<=G ML:,+@^?_ BE^3C-:,7B!!LW#U\2=+@7PY:F+)S@:@@=Z^+)4TQ^FM/DIX>2 M7YVD'2#A&DF[7:O_W:.)= 9[NH6GQ&X%-4U!XL .$L%2EE';/% :PW6Q6Q"[ MX8CB9(GW8&6J98;7)*!H'LML6"U8D-5.YX%-^GG!+VF: PZ!?M,8'@[Y#?/N M%2VGQB2)9T3.'W[^'SQC/C>-]Y%G&2^02)S.*_B<_F:_>@E,^&<>B(&7!O^& M^^"1QRM;2;,DAI/"-X!>(!B/;^46<6"$.!ZP@F8><00U@%:B0F 'W@%+%V($ M'V^2LTZ"D1ZN,D4%I]:7.^E+D-5V3;H &X\.KS$3X( [- ?A'80]I0,OB]Z+ MBR:C<2UBN0MVD;VK#I'(JBL)P2J9)^H1REO?H$C0 M4 K /F+I,E'*<\Z#.0CPB!>*$O0 &$J!?_4Z"UD$WEC52,)%X64L,_S -Z(X M@[/-.:M(_57@6J%"X"VS/,P",,_@63^'G\!3I0ZKJ8'J<./*S&8OY"Q!'W'Z MR@_2>(D])#_X2(Z.=CN6@Q_5!SM7EJZM=^6!Z?IJTVUM MLZ.AU[8N=+J5>UK!.6YG>?PS_OD?M>'6Q;WZE>QR+>,F%0A*R#CD1=_P*S$[ MFTW@]=7D+V7^W.W$@9B!O#SY*_/_O(Y M]M:K]P@9(JRI=_G1LQ\^DZ( ^?$&O@5"2 L9S5;.(NKT^JYG5^X%*V&6#;PC M(4?PO[([5GDNB8#RPSKBEC BO@0>\5[@+XS_ A[&)U\NX*J&Q"&HEO2:<$:R MIV!A$0(%3(=LGO)K]9?J>7#[DN 159Z@FCJ#+0.[L\0:6:+>*E>S!47OF+GB M6/V-4;D*(536!VU 1&=C<%XCXD"(0)M[I#'1 DPXUF!CE;M&Q,$0 M86^LQ->(.*!LVI@IJS%Q*$Q8O8VIUQH1!T.$QD,;\##25E,[$&%;&[/V-!X. MA(>A-=(,T09$;&M9JA%Q.)M)^W-M0,3(5R/B8,K:UF'P!A&Q M>R7S6M;8=D5T.$ ,'P"(O5[&M/K(Q?SSWF/GGSO@0Y[V)-YFA^]NBS&=^I30 M@F)&CZ68;M?JGC;%B+2P#Y0D\+3QH>V2ET^EC7,0H(WQQP5+U'?;DV5$)I/; M,9N>!:Z%[YD+WZ<2EQ;1+131PR40;"(!@=;E/Y>D2,$OSF/Y!8N"EAKEG!2_ M8$9B0^)U6V[':;%"(\3AG#IMN&>K>F7R](3^]VI/M--]M)4' !N=.O$T)5@. M,Z"NW3IV5:>/HW;6/)9MZSY:'(^LTS9ME\7QXXS5(X-@]P,7):X-F2?:2CU5 MTG_Q>1KG*8O\].6I&*MMIH;3-DN;)X:]6Z:9%Z22?&4 MI$C-/HOIB9J.-EA>(G'PA(GF.ZQ'EO:8T?25Z)Z]NSUI8NW''5+HNMIFV=Z[ M6Q/2@M2UC^_N[E?J/C("<.21A$77Q\;<^F.?Z!BS)SK'&2%3.W=#W?K)I#Z# M*3"V.1ATS5'?:;0__^KI4V=/W_;JZ5(G2=_'&:.\!_H>NJ[9[S?8P5K$7HZ- MYV.T;F_!L9OIU7XVTGLP -IN<+:*"(Q<'&G+:$>[*0*;FS4Q>&+M2/0S1_+: MJ9@G*,#AUS)%KFR-GV+3G?^;XWM:'[#S5R=:F7ZVEE\LCI]\U^=]"T4W]IVFA;.YBC2"C[R?[ZL0-P[S&E M08U!X&$P"R(QM$]?[3=_M7_L;)]C:ZFUB0+'!LP#A-TZ,?]B:)ONT'FI,P?V MECEP0E1RR"C$:4-J+3\Y0[-CCQKD)YVI<+)$B")U6T2HA!*-M#WGHYABB_,UX06? MXXR%ADX >5!V>N<=E*(JG]M M*C!S;#3OK<#CV ?; _W:HY$YZ'=TNL=3&VN< YVO:GUQ#F3>LX?-WK#JC(\C MW:*. <9U74[YG#48%::S@)I!_;MCN4N9H%\GS$@UD9W M$T0 T>S:[6\4/>))_/MU )YYX#VZ34<;MUYI/&$4O26/N.46@5(V%S%\[B6< MI=PWQO?&\][0&ACPNC"((].($P-;!YK&9'N/?0/$E8$M@$W#BV=SEL"764Q/ MI6S&C3GL,?:-(,(?N:8Q3P+8#QS,\&$7ZI?Y.,U8E 4LI%5"CIE%V!.%&3/V M!^Q"_((^G2?Q']S+<,DX3XQY? >[\'D8@(2XAY\G7SE]20MS+XY\8\K"":Z& M6S 8?!#20\S+@EM BEKJAJ5&#!L6>4UR*1JD!7;&(+* M/1IMBWD\+FTV&P*OUF@*'PI*U@2UTH$ MFUI&[4Q 7PQ?B/V%V U'DI8_K+P%7DDES_#^1%'JPQD82PP++MKIG+!'/R]H M-TUSP"RP:QK#PR&_8=Z]8HG4F"3QC(C[P\__ P3_9QZ(P7D&_X;OX9''*Z]* MLR2&@\ W@%0@$X]O97YQ(&0L/$ %NSSB"$F W!3T!3PLD +O@*4+7L7'6\-B M)Z1V19UG2W5NFT35QR6V)37L#JQA3? XCM4[D"(NMY( D]RA80KO('P*!>7G MP(BHHI6&6BW(2LMB49/-@SDG1=DR'7;Z"FO0M=PZW0RLT:X:2^)?RD.E4!#G M4F$]5@MA8<[3M!!ESC],#:FM *??95/\85W0+Q$WR7P\[0HU [!%PJW0/@J0 M>:$BC,]3#@J;S4"J@%H#9<17\H3<0I4!$+"H'\'"#?RKUUF(]J]7M6[)6LVF M+#/\P#>B.(.]SSG+2@6U+)^)\,25JW%0:BXN>U?%.AXQB;8R8-<+.4O0X9^^ M\H-T'K+[:W*;Y=M5\ =(WNWAGN C.>?7[5@.?E2?PEM9NK;>E)RX[H(I+FXIY'5!;8L_XHP64+;C'V[JH!-QE^N0C[) MKL53ZB,*G:C/MDQ;ECC/XCF.SNDOX+N_A.R])#:XE9@>,Z8)G_SUV5\^Q]YZ MDRE"B1+63";YT;,?/I,T BGZ!KX%0D@+GF K)QEU>GW7LROWM8L\%_L+X+Q!'^.3+!5S54&Y7@G#RA>*C-P,T6O5F;V1WJ!$7#S=P9',)Z M =TGHC-HX@'YHJ8L#($4[, $L.D+7\\#_0F.8)(J9?[/*,C0 ,A8!ENZ"T!5 MLSDHOV^@SC,.RK,+!HQQ@SJ:96J5%%[AH5N99VG@$\\LK_5@@P-,"$#PG%0V M[.X-BYC/FC1.VXK>W9GB1] L87RCR?Z5&#P*HB!A8!'F7I8G&&9,;@,D3 \6 M2L#MB9/4-,8":(8'QQBC08UV),;Q8 &@W$E.SRJ.@=4XFX&M_5,PF8 =&67" M$HXPB.WS"9(R6JDH=G.0E+Q8'VC6+YZ!\P'+P#*_<_64^AW:[6AC JEGY.6) M%Q-G(;?DD8R]8O R3D2X$3;*OP4IQ3S5Z8!?IVCIIEX\)U9G/O\S%VPKWND7 ML1?0C3'\](X3&- YB"/0=_<&AS61U<%FSRCL*]8V;ED(FWJ!R'4ZK]X%WV W MDOSH,_O5RS*PHQ8I3P,6]2^ &6#P3P(IQNN;A',,1Z3%JK]\>JW6$N9_Y8O% MEQ$DYPF8^0#=["XV9G &0!R!1H+V%;R6"U,=1$F8^_!M;>>TXGL@\I2(Q&^9 H0@CIA<"H [BM)$^D4AX392 M@$6L5Q:N/BBW8WA@+S,@P9(XI(17A"HC^1/:L3I1A8 62:5."2;2%[YOF<8L M8?_\7I)!#0AC\D-C]/\PN(+;QBME96$]$7R!(<8/%F4,$!>JJ0<*'R5 M=9ZS;4K?G]QMD&J3. SC.V!OH#P9!$E?7A\S3(I/CN#+'5%![F?AQ8F4!C#V M0S9/^;7Z2W53N >I.-%:]X3C4/>QENWMSI)WE"7JK4H-BQ/MEE7N]JW^QORG MBB]061^OS2: , 42]6]*@;@6#BE(97^K+R@=_YH7P<9I'.;9(;R(-=&7W=%> M\^:?F.3C;DRVU(@X$"(Q]8Q&Q*$XHF/U-^;/:TP<3C9I)=$&1(!LVICN MJA%Q*(YPK([&1!LPX5CNQMQVC0@MFRX+$5HVM083VFYJ!R*T;&H)(K1L:A@3 M#^PBL37>=[A3'V]"\;90VVG!P(M#_/"OSWK/'BL=5Q4+G]3PW>+:0=XO=$SQ M%[R :&R&\V8_X]*(QNU8W>,.M7XJT:@[*4-=1SUI7+.6K.$ M';T5[:93%GT-FN.#MK4ZKY/$@?HM]HXS&+A54) I$^UJF]H&N)"NN'3J$%'P M2X>"#$%K'EEI=E\Z=6@>T3RB]8CFD8OGD;:'OXOJ^OZ\+%,IBAS/+))]0!?J MH$=NI*/WMC3QEG8)[0VL?M.:Z7CT>D#%AH[[E M:AFJ*?3$*/0$;S46S.U*+;B^PMCW%<:QQ^8=66*MO]0X-F :EQ:V.1PY5O>L M U;'#5$=FV2.S4MK@U;'!DSSWHOI](=-\E(++T@T+VE>.HQ>&@SZ5D_K)>K)9R7>.RA:?NZQCGZP?:@.T>] MCM7H6-:+"5,>G1KV%<<\^L'VH-9G3 M.F'ZP!2@;Y(NZ=R:\K7,UY1_%I3?]EN:S3]ADZKV^?-#4W1KJ=LS>:-1\ M3H]"]=6E03 M?^Q(0$MS MJY/1S;V.K:XNCP+:D8>M&[TN:7<&NEJF_5&Q2Q[9W#-[@W[S.52:2#61-IG(U!_U5HP6UY)4$VEK MB+1GVJ/A64X1V4=)?*LLYP M \JW/UR5RJLO-C0O:5YZL%X:=JV!UDN:ES0O/5TOC58-"CZQRY<6U?I?HI=X M[,JK?5WI'/U@>PD"[:%D_\P5@IZ8?&)D;MNFT[?UM9&F\_.F\ZXY&'::[]BL MR5R3>9O(W.Z8PU%WW=W5]QF#TQW*OL:_7P<9',][M>1L[$B^#8(YB. M&3A@ MBUN7OHV13N,\](THSHPQ-[PX2@.@#NX;#/XQ RA/.7QTRPU8"6@MBQ,CGAB3 M/,L3;B3\EDR&XT_B/%'?&T%JP**PBF],DGAFS)/X#^YE MJ9%-668P6 G?/V=)AD\R8RPW![3MY2'+@CBRC,]37GS!TRR8L0S@$41>F/O< M8#/PQ&%%6E]][1N_?'J=FL8XSV@_7IX"S?,D+=X)!\X2YF4Y"\-[(QX#5=)S M66S,\\2;LA26CN3JN#F ]6W@%8<<(+(!BW+$1N M G9!VF0^O!A #!#S^22(X!1X4,FJDO )(HC0DN;5^0716@V*E! V<345 JT9 M37WH\L&? \"E#[LB%+QA> @B!JXM0SWG#:[-J*&&4<% J:![(#$F M-DC"D0GY%0;BPX 3A9.<0E$'NH,;/A+S! 0D\'\*H$AA&>!#$E:I8((9YUE- M5J(@D&(8?T4_XM^XEV>L- \9*(7?P1',BGO-8.@7. M"%%>PJH9"9DQAU-'*++@& M)$C3N.$1X"N$UR>P$IZN EM\@U#FM J=MD)YH,D)4Y_X'* [!@2Z'=-P.D[7 M%*(;D$-&!#R= 0HB-)0-,*YAE_"WJF'PD=_&X2U^_4:@_9W8X[V)-A9H'="D MH1'R+"-#H*".ZL+TLN<]QQH:P/,AJ7L\A20T4,S%JQ&@\ + V!UHN>?.P+$< M]1#9$FC4$^4\X!P(HC?G"K_H0_E,#R0LX2]%&F MK_P@!>Z]OR;#7,H>Y8\X \OMH42"CZ3D=#N6@Q^IV&OG.Q2>E:5KZUVA/?1J MTVV$6J%Q;P:M7YXH8>IT*_<00K*ZSA*$Z,__J)ZFO%>Z\N(P3JZ57U:!H(2, M0R[:#;\:@X'V]8I-X/77++P#"T:>=6A;]E#Y?->%;^?BGD96U_[.*/^*,%E" MVXQ]NZJ 33J$HD&7>$I]1.:;^BQ.B<*NE4F[@#&)\RR>7SNVU5_ =W\)V7NY M'W(K;B8SIF",_?797S['WGJ_+HJ3&0MK?IW\Z-D/GXD)@0G>P+KK M*:3V^JYGDY:W^YUZ^&(#[TC($?RO[(Y5GDLBH/RPCK@EC(@OT<5Z@;\P_@N$ M&S[Y<@%7-93;E:B ?*'X:,WR^T(@K+E*,#]0G-I61PE&-*,+^>;'X%(EZ8X" MUG8W+].D!;[9>YYPWS]RCP>W!.Y/ MTMSXM[!RE,XT7N AG,XKU*SJ0_K(?O52V#X??GUC_,BBKZ;Q*ST+U/!:^JND M]6(CF(%?!G;5HGT')A7&$M1NDF(WI#?_GH/A@H2&1P!KC-]Q?V[U.278F6K0,(P\ 9?1O+>.?A?E1L39 *Y+5-)$F3PIJBWS&- =/'8@V M066.7F:*WC\\'23K@8):G^Q],K)!&LC8!N(4O(&80BIW$;FDT=^>DQ M&&*?T'D&Q'S(P32#T[V-,@0@0H#V(WUKBA<(NQ6\XKGXL8@%B0A!S6@1YCWY M^&OW3 8Q&=5C#OY*"GXA01^C7EY\$P%)^^B!/Q_T*FS-UMB"FZQ$,M[]A84 M^J5$*>1(OH0LR]!2 P@U(;C$I<&?YA,@BZ#F,0F1@L$3)KW$!==B(8034>@' MXSO@3S)P3"SC=TY4SS'*A.]+6("1/VDHHPLA5QK?D_M$BP-#DOL5>U]1]41D M=")>(Z!P\#+(&1)^1:*X&Q\DUW-9F92&]DK[.@(:3E-T=&%_Y%7C3TN'&E^B MOL$W, _.++0R4BA(J\)YYHWJI-.,FP;^!(UUST7:B(!.%(<9-2.'ZB\^PC8$%LPB(R,#_FK@(4N$=G!JCGK&&$258CT<>,I"*?41 %*"@>0@* +@WFZ8J&(L_X2GGM#MQ3FVYH:+% MX$V6Y%XF])>?P[]0"A9H"=#AP4NB(FB%B!*"5& AYT*(?^4K<5E00LD.OJ # MPAMB5]V[6,9/8!5*(1J!Y%%8%&'^-7H8S D,#\V!+K]1E!RLBN>CH>463(KO M64UF=]/ FY;A]N?]CC4J'HM%"*HJJ2.4&MTRY"*6KL*P"%A9102Z!@U%J^)* M0QPVX<5)09B0$8I6EP"T$#O"(!ISH&XP;)[;G:K]@KMR:A9C[5Q@[U2M%&%@ M5CZ@NY1BVQ?/%AOO&-Z@<'R'PK'AZX0'P*I\,\A=^F+Z];;>10M+((^HFD# \C!O.47ZN_ M5+>!L)0[P.".)^),M8@0R[.X'@ZB3VHAG.4(3J>(MPU%M"9+U+[4B<4I=\OV M[H^L87=3EE EN%19'_SQ! E# 4W]F](\KD6$$^QZ?VMP44:2:V$I-@9'+\\. M$)9:PX;V W*NJ^'A)V8R;2Y%UX@X$")L:]#7B&@#(CK68&,S)HT)+9LN"Q$@ MFS;F]&I$' H1MC5T-2::P\0#JQ2WVJUG6:%WB&9%>SHR.$GXX5^?]9X]]OA# MR]XORH>;4D1V"";\NN09U\M1-8UK&M^)QH]8F_Y4'BAB02)5QNV8*F?F?#CA ML;4B+6>-X8,BIP*MRW\N5> 77.$\EBOL555>)\45&!-MJ#7!!9.!:_5/G@S< M)@1AJ_K;[%!+]^R'-U,6W6 A#%U'7S6P0%SVT%.SV9*5Q&/RW!NUK+R<&0O,[*F\5-Q;PY%XZ?@ MQJRE<:=G]IT59'Y*OHQ23I,@8I&GO9?V>B^'53NGP'^#KMEQG,;5S/E3ZP'< MF,,JD%.@UC[XW(Y[+M[-V\D$"\6P_=(W3]SG4)\>\7?MU^S!KVGQD(*6W?Z< M$*36BHMNIZ,=J/TY4"=$(D>^4&HQI!XY'[O;/UF7K98Y82ZW/\!2RX2G61)0 M<3%^K^WB!^G=8S?9WMM>GV4")6L.4W1QVSV8I>_$\ MJ.L#M6S=2M;@MQFI'I)QVY M@4X876MPVMU>+A/S^U%T9WCD;2JEO4?6PON\6;@QX7W"G3IV:V-TF?2A1;P6 M\:T6\4O\?!XRO[V-F3K6:'C2XE[WYVJ"#.Q3U_K+_;DT&5R@-!#-RI[6J$UH MQ%9EWS\ZBTJW:VO(^KV\*.1V/]GMKH3SR.>P>..>H.M6>M";S]H:)'FE"VV6V^R?BQ,:TI_ Q%^*XD M_6)H]CK]I_?P.T)82-QCIM@[B*4IE[V"PH 1_>INKVUV.ZYM!M MW*@ZUUS-.SJOL::C,]%+MO#H3E<$?(_S5C5WQ@843$< MFH4<.R#/$^R6E-V3187=&.J1[%FOJ/ZO0U\[D M[XS,?F=%>W]-_IK\SU_X@WDW;&!RWQ'B8K]E4YYH'^M!O'GDCO![C4N?6[=[ MNVL.5V0):#J_5#I79M:Y$?K ['4ZFLXUG9^W/!^8[MDD?153*'?O0:X=J^8= MJZ//3-A31F<;C]JX/'#LCMG1:3::/1J)M!W]K(W,A37M[HI@A.8(S1%:88#" M&)A.9WELUAZ&"YWF?)R55NG3Y^'G:>E<>#\-7F[R49ML8KVT"XW1+)I*,Y+K+ MK8KQS_^H-6(NI 6.*HJ3:R42*A"4D'%(.MSP*]'GF4W@]=78E,5.3F!MZ1D"/X7P'7E^>2""@_K"-N"2/B M2^ 1[P7^PO@O8&I\\N4"KFHHMRL*2;Y0?+1F^3VV#,=.YUW+7=95(Q%6/<.#);2A-2HJ(.W M&E0=ZS58^<,'-%@\U+RW%,1>, %!"T!&K1-'-"X6N #A^]QUK6&I?(HALVN M_; Q< F\/9\ASO\-ORCGP%T;!T'+,B*J5MX$_@<2>R5N'C"3[FG;5BJU\@D* M7,(L:4K0F7&>74^";]RO\JO2%N+4]?"?^%FOB]]]7_WB21M>4-=$>+#7#3[$ M<,DP_L^_C/J#T:M%BWW!>EYBK<=N>4>U@-H@0:E3I70E3WRPW$8=JZ]XQ%P6 M8U-8#NC>YQ.>H$F7\%L>P5RW-W9/4V$"U*\2R8 M(4&"*E"T&>>)X>4IH)8GZ2MC/3%J"7E)E/;:\T!I HG-V3TAGHPNSTMR7KEIC4Q-L&XDVX MQX-;PGVIW9%.G;YK.1MD9?EK1;/+Q(ID PH<_T5ZOR9)K2>1ZUX\:_S_@;/- MEZFZLIV3\VWL7L_J[,6Y<S>$L?X:K#T23]I>U(*P*@CM8:^,!NQ#$&YP M;S0M7A(M+OHN"W3H#*WN0^A0TY6FJUUB.41P>SM$DIDF,2(S*1D"E M 7%$ZV(O;L7N7"(P!AY'I_(#V;(W8]^ UB9YY).'JX,OFMX>%GQ9$'-]RVT^ M^-(&3W:S7_CP62?OHUN>+B4;-^W-GF9&S+L'7/B9]>258 5812I,QQJM3H1Q M>N5%2['.[KDN!X-*6['U4Y[0#=/."+OCQCQ/O"E)C=7-+"@L\GPTK$B3&LZ& MU2"O7VX@9:#38+T@+K (4@C6PGP R_B=&V,>!B"&Z*OX+@+W0BB;6(**[\,?:45;=K5^/[*_E7 M8PP+IR:&;;(I+)B"U9CQFWMCRL,Y"3P>I7DB-E=[-;ME04CO0\"0F)1W=\;= ME.-M'@=H6\9[>#'HC8R,3'H'F\,OF3C^7'P.^\KD/&"2$3$+. M,R(Q$>D0M.T!8M(RLT2U<)$&'/SM^6A0>IU54MY1^%6YHCNH2++=N>+B)=C# MM?>[(&*1I[7W2NV] C9"KY*F1IH?="N>R$/2>Q8(OM]YW#HN**%I $)Q9888 M+B+"ZFB ZZPA[9:UQBW[H)PCX*+28/'Y.".^ZO5*([=-H2--,T>DF9\"K"H MZ[KJ6:/% K:@]W4*"@V,8&&*E.;#EGP'34&71$&%U*$D;J%[,7!X%V13I!^Z M=HLE05V-R:]#/0W>C!BP@<35+XEK0SSGH&D'+4XTV,&(.C'CIWEC5@NA"Q1" M:RR??K\L9]M@^>@:M/4U:%U=@[9XCZ!KT"ZA!DWKD4O2(]H=TA3T- K"@GV M9T(F,A554;IAPOT@,R;,4U?C2$/5G(MCN#U]5Y@LI^/Y/#P8_T9 _O5-PJFL M5T?B*_?H#&SDU$N"N7+$*[3*"HB91LJY\6N<<6. F[6=5P;^UP'E'ZQ'1@G[ M),$\=PG]@ [LV*_PMND]>)^&;1K2HV6A\2EC&9^52?-!:GR>!HEO_"-G"5B) MHI#W(Y_'2=;DW6-;+Z?JVQC7UER@]'@VPT$0J*G^^_NQIG!)X4'JY6DJ"1S4 MRRPUV&0B$\*)X"N ,XUY2$7[!Z!5?(D)6=QG*?P_A2355@FTT7PYTF0?DV-*,Z \1)@ M,LHEF6#]!?>5-51[(65%3-DMAX=6;&=2QCK+C5%PV?C7^[>I:"=4Q"3A77/8 MB[#<*R1A&O$8+$T*.*>8T".\/?C'-)C+,\#90M\8<_A+E((7@/?(,V#(!%ES M,YR:9$8="M4.R).2 M3JXPJ9VRV]16YDE\D[#90I:6 M8*A H3SB4FPA'X/(H2*1."'I= /ZGH&PIL2L"6(6MU@>0?T<@/[S$KCAS]P3 M:6>%(ZIR!$E85!9Z/1/W0(M>$B5L(CY 5#PD@<+D**BUI4HO^.(HH3= MT6PRP#O23XF0>R+&.R5P)0!]D2\I\2^:+Z5I+J"(_UJ$J4G;A)5F['YY'0^$ M"B#"FX(D(OQQED3DE*O[L!JM6<;KHDY7Y.UM,\'H$'Y,RJ[,' 4B#2@M,PR^ MA M2AO'D4^V+ MS6)T&%$R8P[VMP"E TB+YYCP.Y8A0;)M$SX#=8._K.J"TIQ% 9M-8P 6OD\D M%HOD;WH%OKK^!L<:J3>@FEQY+$O<[3Q%(H+^ ED_Q^<4-(7 )UL?<(0J>(5@ MK&IJ@<"JI;VI ]">W*K= Z>5E#3@F]3>7#AB"M;$'Q/:;,R,A83NB] MGUWV,0#V&0.ZI%0H+7 AP_((W5JR8V.Q(PMDAG ME/.0EFD=P?F-&T4G&-X+0;=9LC5]&]3 MM,Q4RY+W3=8[1V<". TE0)13Q00N5@CU29ZAJ5Q_TH/?DJU5?1XT@U?_H8&% M,U@ .\>;O%AH%A*&1I23F -@$Y@,>3C5M-/+0*:1)&*AE\L(@2%RUN0Z/I^A MHS"?!AX)1RR)(1RAK%-ND/%6K@MR,8/SD$G]7A35?N)>GJ 5_MJC[!1[-.A2 MU0^3MKBTEG\AZ+]5T/\@H4\6N\!>L<"P@U[/6$A]A2^I!_%&'T]4+\L4142W M,F6&%8!(9,0R57H,5;(X'ZR!](5&/<5#\"D2U=*56D,M2 8")NH$'Q+8E%"Z M\@1.I]-'IPM6P-S)("U!"I0&T M)$.NIOH&V37.4Z"X%;^!E\F?>8 D%#GR*PI32=4F*ZV)9@LE5P$.>8VDV=;# M! CE]_*)*G8H.D5L(-", "@+:5 /6.R:/.4D^R0;HLT MW$608L:^5L)!*R)MBQI[2ZJ)YE;-K>WBUG?+ 51RX8'N8^I:4H0ZTS)R6WRF M:E1KES?+AO+>&\C"V)@=4]MB@IZ3?0754_#'PYD8TD/'_EZ)&3/B>P8446 M%QV^F+I�HX8\D8Q.EF5@_F;J0NP6[Y@*E]6OOTU$ M:E)11,- BIEEKP\3_$X>$E)5M!8=<)"<-U.Q38.G0-YB3V1AIW0^X:1C=H:\ M'F7^'SF\0[5W%Z$:,L6EJ3UC?\25&\XB/O0*SZU2,Y1A@.U\9G043D#$O9,5 M49Z,6J", U_<;B>T6_PK1AKNXN3K*_QP?"^<"OR"_ I4#" RK_"_E\XP%E$OL3FY:')2ZG.\2J\BV+](*VT$)$A'=&@S6-S MU1,+W7\@]C&GP,VW3(2-9 L/=!K0W!KS[([SV@@;3'\KZ48F)F,/%^G0$)RJ M:"'BI*W+]C$I!K \!*M)3U/ +!144T*< OS\FT=M9\H H/HQV/=F>11 /5^. M7'!Q^UPR2IDE-,935;KK\)LX"S 0YN3UN$B$1'A^8G(5ZKVF!7GQQI)$5=! MBA#@P-M97""(9(^\XOE TD']UNDFEI6N=RSQ]YH0U!;CDQF!_]=G7WKCCFL/O"]#/G*_#"9=-F23WF#BCIX)U2R>P,1']Q\Y"J*,T [PAG^& M\E\_!:D7QFF>R(<.J\[63"JD9$W7,HSJOHE0*CLWBJW#UEZ/P;DT?F')5YX9 M'P.A_3:I49VTFVV\"*Y= J-HXM_ $I+9'I1U6*E GPFX P.+5)XB/4G\LJQL M!E$0YA@-"G.43T(K!U0S#:"+9*S7NT>!)L([)!M-5!,@OD#P25DI[GYG,094 MI>8NXCXIYU_%KB)VPV541^Q$*5$\="X..BD2@E'3W0K2PFN<)*]E6E4^$J)1 MM6]B0ASCN?SZ/HWT#L2OU./WZ@$I^PI0K#UZ(5#-M3Z79(DAJ M8&YWUN2A)@9@#MP]7>3)/#*GP!TD*_0&5C(TNF5C?\NH ML/MEU.]WOCCVI.MUF.L,)N,E1Z#[1ER5I[X]H#NU$/8(N) M\#B7H LN@3H!">/B#%OM_8NL4]HA<+>MHK=TLM9 7I?XRGUM3%H5M1>4E$IQ M)#36F*AZ*"^BTWR.*;%%WA=))N%CR)2G:N6P<&]$O% X$ZK$\LTTX!/C+0EO M%+>_34#FP3M>R&2;-V]_DWDV+V7D&']?5D8N_?Y=\7M3I:B*"""L3F5I*F^5 MHX05V;*C<)TYH^ M4O*2[;(KN_>"BU/9/5_\Z^*,V!_+%#H 6Y76B#K>_B:P_NXW1(%T7%&=FAO, M,$+O5MR)4I2"-@Q10V2@M19'P@-*50U0R&]Y6.NTC<4<$25=B\3"2H')N'B[ M".;F11 ]H5QH?#-8 B'9AVD^1FU?,E:-5H)4EJMPWQ1;3U/\:W68&R5'XKI< M<*%\%]GH(O2;DD$C\N#43H@(\5D\0\$4G]Z^,97CE\]R$311 8P\ FM$1E&V M,'6)-I' B!8LN/E,I(^*J#]N$!O(P<[$C4#";U@B\OL4-$LL7AQCO(^DB"*7 M [O<2]Z0%QS;"=Q(&![Z>U76!$+$R!ZPX!^Y?R/:Y$>+D,7(_Y5,]ZJ5 ^-[ MP1 '$@G7 MTRT"W?0?J(9&<)4$S(E1#<"7@!]ATB7JQ K4T?]'7Z MB4X_T>DG#8Z9?:S#2&DH(L?A/7)M! Z%]!R-WS EHO0S1!D;'/@(-P$8^,$_ M0"5[:**0%F2,C(5>W2AXU>'?_PI:_C6 MC5003ZJ4#RQXD+DJ5"G!DHHBNR\*GN/E!\R'G:/=X:Z#I"_1#WLZ$[0)53S0 MJEBKXM:KX@HN;-N2Y<5-*V<9JN]TG'YW-'&_L+Z+H?J)]V7_,MEL M&WPJ6@"Z#VL!B)T8 Y&"(0)DE$9XP\'*X=4.F&8U2T=D $4L]P/T^*,X*PU MK\B_\*KY%Z7EE):= ZM+!A+2QV\Q^."VKOAD]\&YB';/D MUFT:T'96,$_=Z'@$K!\N2L&E!MQFOO^(%MKQM$>T 98.K6-SGI,8+ M5MZB ,'BK8EA]]F5_6+RI_OA_E^NP__QS!#@^>NSX!M" M, ;%'TU8F/)G1L1F "/N^==P&-R>W1GW[-=)\MJ/P5ORWX7LYAF1TJ\L2;Z\ M^^-O_YM>?0M>O\W_/OCX=_9/^_][?7L#B#[*EK?O=_@NO7G_K\_OW,YO4_?M MW__]VYN?_O\A[)>)7X.PJN[[A\5_(RY;@8W/R2S*%@_WTVQZ;X_??1A^_?T? M;_R/^=>O@[]__D<;D+%RN__[HQM<)5>#^=NK=_'OW9_C?_WYRQRV*UI=L%W0 MP20'P6NN["+7I=HYDWKBPB-7VWZXP)DBVZ$S?.&]1([^R&]D?PSCT]7_OEP1 M4\!)N*(D@>I.5&,+NNLZ->UR.(__X)LZD&*>3!S>Z??Y%YM[]I?NL#/Y,NJ- M!U^<07?4GXS ^>C;2XJY__;;%-Z1I5_ZR'V=UA4$],&(57L\6'5;B\BCWGN7 M2TC('+A0]&/!3)'"UOQ'(1N$B8DI >] =H(@NOI'JZZV'M"F0+P5@2,=)@P" M>"(>48LMO_J5>CT5;+G0%V%CJ-+J=]>#C1)! M<7K:%VX3!@0F/W!7OY/24SXM\,;&%(.>RBZZEH7P<.0I"BJ,R*EG)KDT#_ MS\MJU/[,6;-YFM=A"YQ3DR7K"@0T+I$ZY(VTB76U3ME"PW;'-M[_^DG3YL%I\WV$VSG-R/@I]JBKC\C,M5_1B!DUZ\CPU;=^S,4T8C:?B^98)*JI#HR)C@ _ ML8R!B ZQM2AUV*7*87I;QFY$-@-61=%\FDKI?75;Q?LH_G3>C*"%>=L91E]@ M+$GN3V_^1Q/B427W9_8-._+=&V^Q8S5U%/KD3?F,E:)<"T\M/(].LUIX+@G/ M-Z]_UH38-N'YIAQ1:?P<1%]Q2J46I5J4MHB"M2A=$J4_O_Y1$V+;1.G/;,Q# M+42U$&TC[6HANB1$/WQ\JPFQ;4+T0\)30)HV2+4L;2T):UFZ)$M_>OM.$V+; M9.E/6'' B?$/]0S_@2+W5%_HO1%^63'0BJ I= MT>T^PC%6HK^)K#TW0"*A;&OTO0X?;7YQ19S3H^%TVX*IOIWCBT_N__?KZ\S\_OOWT9=0==CI]^>V> M>5=2Q::6-,7.MG8R^G2)O<4^Y$F*L];5A& YX*?2NY8;G[BGI@37!FK!U_;( ME3/"RK(,8XH]#?/PWJ \7[_:CE".])*3>N*(DH#'?,K"B:KOH':DX@>TQUSLA+/OAA/GQ\_\MO']]_,CZ]_?BO]V_> M?C+>_/;QPV\?7W]^_]NOCXO*:(2T/G!VB%.MBYMMB)+]Q#)^;?P:WXHA,UTQ M8^;!^#IB&[IE?'Z??F_\+X\BGDV-7RSCI]B_X5%[L7:^C*61T(;#;)R+4/96 M^%?@<S-GMJXUQ%MO:5\RF31;Z!O=F M=7=HC"^WKK'V S:EXT_KXT^CYN-/5=]"!']JSD7M(XSWN)V50:O;./#7Q*S* M:XIQ[-_#?Z;9+/SA_P%02P,$% @ %8YD60&!$ B$"0 940 !@ !P M&5X,S%D,2YH=&WM7/MOVS@2_E=X*6Z; )8E/])VY31 MZKC8 &V235S<[8^T1%E$*%%+4G9\?_W-D)(M)VZ;].ET7:!)1 Z'P\?W<6;T M./J7YXWRE.81B\D?X_?O2"RC,F.Y(9%BU$#IG)N4C&51T)R\9TIQ(<@;Q>,I M(Z03M%^T.]W#=N!YQT>@:U@UDGE(.AV_XW>#;I\$K\)>)PQZY/(]V?\P'AY8 MZ=.+X?BORY'K]O+#FW=G0[+G^?Y_>D/?/QV?NHI^.^B0L:*YYH;+G K?'YWO MD;W4F"+T_?E\WI[WVE)-_?&5GYI,]'TAI6;MV,1[QT=8 C\9C8^/,F8HB5*J M-#.O]SZ,WWJO0,)P(]CQD5__=K(3&2^.CV(^(]HL!'N]EU$UY;EG9!'V@L(, MH*4/U7=D;KTYCTT:=H+@WX."QC'/IYY@B0G[[?[+59'BTW19)MW00L4$-7S& M4'=#:R085>%$FG1PMX--+8NZ72)SXR4TXV(1/A_SC&ERSN;D2F8T?]YR)?!; M,\63YP,KK?G_&*B&X0F>,R]EULQ.N_/[P+!;XU'!I] ;E@[IV[ MAA,I8J@UJS&$$$&/J$9-X]>'=B'1ZU.OT]^F!WSF,W5]N5H>C MJ_'9V[/AR?CLXAS ='7]X>1\3,87WWNJOV9(UZ,AFEOMBZ!++MZ2\1\C;D?'3M7?SWW>@O];L.FN1<0IZ-!FUR?MH*%7&HYL6 MB9@R/%D0DU(3;O4L&3H1C$RDBIEZO1?L@>E"5/RXO-8%C>KK2KUKX452"%IH M%M9_#+['^#R@72,S.\S&"8"7UGY/T(4L39CP6Q8/&M3LK*RGQRCX']8760F+A9_U4#F>$&B*BH0&GQ"28/YBDWS,/Y9&$NYXH6@Z4=+]&.:NHK MDSOMNU:MUZ^M^%<9["Y1$=BE,BH&3:JHBF##DY3.&%%LQMD0MM'!DT0F\/TDB%<@R4D#G,B8LCZ'Q-2L,RR9,D5[0(NBC MM(A,R*7BF52@]YJI&8]@&( KT$OQD%UM7IP7'Y?4MWM@![$=Q+X$8MUM@]@; MJJWK3K(%N8$!" 9.?NLC2(LEF)!+B!- %>4YH?F"E+E1)0.;(0BP002 BI(, MKA2G@B0T@B)%9,8-,=+)W1/(&2!/4[5 D8S>,(O?I4X-93&8!5T*M!_[0(&( M*XA<0"Q'X): ##TPDO <8(<(7L&L!8P XE"M&O4\3U ?'JCP M=R1*/(X!RALQU0)"X'A9 ":13I!FA%CQ1055?<<(H*38!L8ME"@%" !)2$"R M[5A;RR*J4Y((.=><]MLOMX$]#MO=>^2Q3P^VC#U.F8;Q 'JL9_YY MD+!+WW"0.85CVY>$"6"A04&-UKZQZ %,NM'DR8K1R+IIOBDNN M^RH@6"&V5;DP6,G!R0!;M!0\MK= =#G1/.94<1P =V&+=9QRU%1J#"4L86H; M=UAG0FH&!AEP7K!107']2T'1M8!A62-6(0FT< '.Y@@-RB8,FX## II@2_]P M7EF[ U)M3KN+.2Q';D*O*EOQ#ZG_KQ#5W)T5;*T^BY =/3UY>IIL-ST]V"^X MQU(/]R@>3%9 <#,>(P=1+7.[JZD&_L*D!Q(357%-$D!;G#IL8("SJ5ND3,LG MEB [K094E*H JM(V((LBV'_6 )L^F;(-K4B9 M&\=%0)F\ "=IQT8[-MI"-HJVC8U&,RI*ZU$@5%F2L AO]>=,;TA<+".Q!WA( M[O)SN0Q+0Z "_!SMJ^:4SO8>_1J;7/JL1URS36AW:Z$TT\;TZO]$/>$2L=2\9LS2-EC$W M4NEE>&,+0&66<6,8^X37-)$00&%]S,$^JV0?2 5<$XVN#_S&M%!-7>SODH/Y MEJ;*/+*WE@YVR=LGQPA;[3ML7?+V1 B">0H.>,>[%G@G).(, %K%%,LDZIS1 M&PP-7)[ !@!)H SF&# MM%Q\HB$XT64&^PMFQ0[&=;WY!O8NXMBQQI:RQM;E5$\@G$@4G,0MP#"SS@.P M@'W\JJ*+EG/N>3Z38L;0P\_IM'J*3%7^!LL*(1<,:N>I=$X&72,C((]O$J^T MG]XICF^,V$WS>@^AO%W>FRWM&'H*0Q&W MW'ASF(3/OF^SK*<3+45IV*"FC/51_O"-T&CY<)IV+RE5/]!E_[F][]VBWF-@YSMU!/99A\_9"W$0TW8&@$M9>* M:8[A=8L,4\X2,KIE48FN"[EH)#Y/J[3AD<]WY+J=P_SD,N]?NL=3(!2\M\ ' M_[A%K2->Y[INK;UWO\*P]KV$9A*HOO/S0X*(C[X8W^TW,G)NV)U[<4*ZC* G M-+J9*EGF,<;N4H6U$](8YGI%947WCE6UV]+\'$55TOP:Q=WO7!1TRCP7N]$$ MAA'2F>1UJNSW3CMXL?277%E@4V+N^QGV@QS'_P=02P,$% @ %8YD67Z[ M:WF4"0 2$4 !@ !P&5X,S%D,BYH=&WM7/]3V[@2 M_U=T=.X*,W&<+]#V$LH,A72.N18X2-][]Z-B;V(-BN63Y(2\O_[M2G;BA)3" M]5I"7SI3P-)JM2OM?K2[_G+X4Q#TTH2G$<3LM_['#RQ643Z&U+)( [?8.A4V M87V593QE'T%K(25[IT4\ L::C?JK>K-U4&\$P=$A\CHI!JFTPYK-L!FV&JU] MUGC3:3<[C3:[_,AV/_5/]ASUZ<5)_\_+GI_V\M.[#VE1V+\*$SN6^Z%4RD ] MMO'.T2&UX$_@\='A&"QG4<*U ?MVYU/_?? &*:RP$HX.P_*WIQVH>'9T&(L) M,W8FX>W.F.N12 .KLDZ[D=DNC@RQ>X7F-IB*V":=9J/Q@;-)=G6#=R*P<-U2I#89\+.2L M\[(OQF#8.4S9E1KS]&7-M^!O UH,7W8=M1'_!62-ZDF10I" $[-9;_[:M7!K M R[%"&>CUJY?D$ZQ%H.E6:=^X$#)&#M[MXD8"/O+B^:K1K?=K+<.PP&N7O8] M9(W0E$&O"$OCRYDGPJ!P4MA9)Q%Q#"D2_/+B3:O1[AZ&1/BDDMZWK%>?/O18 ML\V#YOXNWPN;!['_RZ_S2>^J?_;^[.2X?W9QCNYU=?WI^+S/^A=/O?CWJ73= M.R%Q"TMIM-C%>];_K<>NCZ_>'9_WKH.+_WSH_=C5XCRP<2V$#I&/3;G<8.BBYE M@9?S:Y/QJ+PNV/L10:2DY)F!3OE']UOH%R ,6S5V:E9.!+IT\@>2SU1N.T-Q M"W&W M5>RG)YK,;_<:F!)VN]KK*AH-H(_V%!II 66X>0J9I#& M./@:,@OC 6C6;M08Q2PUIH;L4HNQTLCW&O1$1*C&B=+(E].ANS!>6I>0MC1T M-O#-7&PIGBBWR6VH0"U2VPG*QH4SLO)_Q;RJ6U48L6/IS&7KK,_?65N;YJSO MN'%) 1O/V TJ( %/I]IG?#96*$*J, -!5ERDC**4%EVS((VS23(V%959YNCL$*: /&ZYG1#+F-^"08,[38%N,8N&4DN2G.8@@ M$AIS(B1+"0)R]#7-<$>BA)F\UX@BETB <*,0 M$]S$QDD6<9.PH5134V*1AI$P5G.09XQJ<\Z,S"S(WRCS T-8)DQ Y MD8TQP*$@AZYC82*I3([C*/312GH4R+2*(,9FPW;1Z6- %/&>W;N-$IZ.@!UC M5'&52S!%ID-5H8-=*&I!Q,25AZAIS_$45)E)/0[13(R"D H\:0<2)-7CIAS> MG7*(4Y995Q6^D()2N,YW!Z)MJ>(KX>-@O_YZ$]#CH-ZZ QZ[?&_#T.,4#.J# MWN.RA2\[>8T2F8CGYN%#**,8 +II,9//452ND4%&M0OC @VD@M3QH7+@(D2I M!CS^5@+Z?9&D+#RV5@1#U"DP7$%9C)(B=C=\3#XP(A9<"U) ^%3*A6 I<'IP7' 'I1X>43P8K!#@)B(F M#.)&I]^@5&G=M 29#D\<0'BT6R*M%') *^F,(,6,32(.80]5D6-'DJ?68Q%"IL@P2-JBT1:- M-A"-HDU#H]Z$R]Q%%.2J,!Q"1 \VIE$#FF=@#(B1_^:6JB(,A9(%QCO%5 MF %N^^=E>4@TQ^?40,6FX6-JOVQ0%K0S%F4>$>%0>J6B*-?DW)5<9@W7L3(6V^E9&>1ED]^#$J MO>Y)E+A$F=KBT*9HHNK?B_.;XH!'Y%IWBC%ST7@>"ZNTF:8%U&GP&\H-?!U I<RRE MO*W[*+8SHQU'@2U]"'P04/B +ND; "+FH^N!?I1,D) M4(2?\E'Q9)LNX@T89U+- 'NGB?)!!E\"(P2/?R1?J3^_4YS>CW%&\W:'7'FG M]- 'N9T7[!5.7LA$[]70(N'R+R-.8V%LQ3L[U%+Q'."2J7I[P.R$TZ SPI;H(IJO_%]XKF_7Q@E,PM M=$NP6-;ONYM 9>3# =J_C%7\7 :#[?(_P?([%%D^2?[F/GR/!3A%6.ZP<]Q, M]Q; OG\)P&OVCQC3IN+H,]RKOZWFCZW=8S>Q."*+D+&9W3+W- =[T7#_GG@9 M0A/>?9UMNY6;J.9VFYZ'FF+Y@'=)C+ H:.3>T88HIRB%_4M$P"XU&$$)=HV= M) *&[/T\:[CPI<_#4&RA=3/5O'>C=R_],RFXDW?V=.__;E/+--<'KALK[^J' M)I8^"5&M_)2W6;Y+"O'9-_U;^Y4RG%>[>2=+2.9I\X!'-R.M\C2FA%WI3AF" M5-1<[BBD:*U(508MU2]N%"W5#VZL?LHCXR,(?.;&AZA&AT^4*.MCOS;KC5?S M:,FW-5P=S'\BQ'USY.A_4$L#!!0 ( !6.9%GD L&W 08 )@= 8 M<')I;2TR,#(T,#DS,'AE>#,R9#$N:'1M[1GI;MLV^%4X%VT3P+HL)TTDQ\#J MI%B!IG5;!\-^TB)E$:%$C:+C>$^_CZ3D2.J]+6F")8AM\?KN4YS\XCAG18:+ MA!+TV^+\#2(B6>>T4"B1%"N8W3"5H84H2UR@C M]1UG.@%8L_J0*"(4!%[@C?S1&/E'41A$_AC-S]'>Q6*V;W:?OILM_IB?6;3S MBY=O7L_0P/&\W\.9YYTN3NW"V/4#M)"XJ)ABHL#<\\[>#M @4ZJ,/&^SV;B; MT!5RY2T^>)G*^=CC0E34)8H,IA,] ]\4D^DDIPJC),.RHNID<+%XY1S!#L44 MI].)U_S:O4M!MM,)85>H4EM.3P8YEBM6.$J44>B7*H:3'BSW]EP[&T94%@6^ M_S0N,2&L6#FJT8>$N07WEKM'9)T[L;/%>L E(X4]LH8X30 C8\>W(T\L-XXNF-MTI72X8) M.!F5/R#$&96*I2S!6N%HOI;5&@-?2J"/--%S5KS'_N%M2_??<"%2I#**/F*Y MQ 6MG'?7G&[1KXE"L#+R_1':"X[0A?O1G;E=QH+PP-__7QL.*P"MBL+#LN=\ MKPN4B**PTK(16POY_1I+T [?H@^T%-*(>"Y9+B2K0+;RBB5 U4Q(6+16M:>/ M::Y&?CP3.<3\K1D%\3[$=/1*R+Q6AN^\1ZF0!D\)/ B"*)!' &ZI:+ZD$H7^ M$.GX/T2X0BGC33(Q^J?)6D+H ORX(.CL&N)R 2D%D.:LJC0M\*]W$D@H**.2 M O%M\BQ+#75#2];K(5ID(.$*G;GH/ '6N577!)]T^Z'L([54!_.M^BR$!L0V(I& M]]K:%5YRBI9"$BI/!OX !,AYG>-VXZK$23V&$Q(^I$%C4YDQZ/I40XRG2'OC ME59,@GD==HP[0"Z.-QE3U-$8: 0BDQBF+,S ??$IU%N5HP,96HG:49IW]]WOEX;?W ^ZQ\];4NC%SM:O7(+ MN " *:BHD5 S=G2HC):2XDMG Q+X9O^]6\?+2G PI;@)'ET6[]P*6B=A\3MM MPKZVJ+^_GFEV&A@?N\?!HP9N2P,FQG>K@W_N#'#8=H,=0?R8^=7AJL[E07F-P!@804]\\_>39>)5WN>:SUXF?[!:_E[; M_J\BRETP^*BN!Z6N">N&7?T<,06T)K ZA\*:Z5+QRZ][= %X"CULHH2<>&SZ MJ.R'JNR]N6307)7077VBYOW/J+9IH&S2O;<*ZM\HM6Y^"*M*CK>18:37UHY> MN.&!;H]@JB;(M$O=XJ@%MP/,T2\JXIXU6,AW4UY]\3YA-"X5\F\^^CW:IQ64 M^$4= M6]WB%-B)\)5@I);EBV,WW)4R=LHW+WWLE:.YPYS^#5!+ P04 " 5CF19 M!+E[#OX% !]'0 & '!R:6TM,C R-# Y,S!X97@S,F0R+FAT;>U9>V_; M-A#_*IR+M@E@O>TTD9P JY-@Q9HV;9T-^Y,6*8LH)6H4'\W=WTN0GQSDIO$1'ILJ"E0JFD6,'HBJD($7^N$(^?MQ%,1^ MA,[/T,[%;+IK5A^_G<[^.#^QQYY?O'S]:HH&CN?]'DT][WAV;"=&KA^@F<1E MS103)>:>=_)F@ :Y4E7L>:O5REU%KI +;_;>RU7!1QX7HJ8N461P--$C\$TQ M.9H45&&4YEC65!T.+F:GSCZL4$QQ>C3QVE^[=B[(^FA"V"6JU9K3PT&!Y8*5 MCA)5'/F52F"G!].]-5?.BA&5QX'O/TTJ3 @K%PZGF8(1-QI?CTFVR*\'A14N MEI1CQ2ZIIMZAFW**93P7*D_Z1WQJ9]7NRT2IG P7C*_CYS-6T!J]H2OT7A2X M?#ZT(_!;4\FRYXE97;._*) & 3DKJ9-3RZ<;'"2*7BD'<[: T_1H8E42-]J8 M;YVZLAOG@A.8/+G*V9RI9T^"/3^)0C><>'/07W5KO&ZSIE>WYURR&ECA3*WC MG!%"2UCP[,E^Z$?)Q-,+;Y6OC@Y3"#(JOT&)4RH5RUB*M<'1^5+62PQR*8$^ MT%2/6?4>^'NWK=U_(X7(D,HI^H#E')>T=MY><;I&/Z<*P4SH^R':"?;1A?O! MG;K;@@71V-_]7SL.*^%8%4=[52_X7I4H%65IM6416ROYW1)+L Y?H_>T$M*H M^%RR0DA6@V[E)4N!JZF0,&F]:D=OTU*%?C(5!6#^VMP%R2Y@.CH5LFB,X3OO M4":D.:<"&01!%-@C0+=2M)A3B2)_B#3^#Q&N4<9XFTR,_6FZE !=<#XN"3JY M EPN(:7 H06K:\T+_.N5!!(*RJFDP'R7/2M2R]W0LO5JB'ZEH @XY9/[-O=UA=/F'G9(^)#V&)OBQB-@H-G5,N,ITEUXJ0V38M[ MD0D3R-')*F>*.OH$&H/*)(8A0S,,W?%-JK>J1PVY( D*80$UV&["65)_UPR27716&NG[07##MZUEP 6P7B'M'=9 M'P,:Y'GW_X?M^>/]]GY60Y J;'"'%*@QT"(P: MYVT# S.=8RM(*SH&AGH:0Y<$VX 7R"HP44%0U$.S*]MD&R!(3/EN2XH_.BM0P%?;\LT\GM>"@R3N'3Q:X+8L8"!^NSCX[EBX"Q4< SS&Z V8T_1_(]O^?2K'?\VC&@!JLG-0 M72&P+R/HB6_^?K"<7NW=;#-[F?D!F>U[$LA_AA!W(>"CK1Z.K29L&T/U=5%Y]#=0 M2P$"% ,4 " 5CF19'7JT0 "SY@ M%0 @ %V$0 <')I;2TR,#(T,#DS,%]C86PN>&UL4$L! A0# M% @ %8YD61%3'2]^+P #-T" !4 ( !5B( '!R:6TM M,C R-# Y,S!?9&5F+GAM;%!+ 0(4 Q0 ( !6.9%G*DLEL!&8 +!1!@ 5 M " 0=2 !PK5# "(R@0 %0 @ $^N <')I;2TR M,#(T,#DS,%]P&UL4$L! A0#% @ %8YD6>T#C0?T2 ( >^(< !4 M ( !)OP '!R:6TM,C R-# Y,S!X,3!Q+FAT;5!+ 0(4 Q0 M ( !6.9%D!@1 (A D &5$ 8 " 4U% P!P&5X,S%D,2YH=&U02P$"% ,4 " 5CF19?KMK>90) !(10 M& @ $'3P, <')I;2TR,#(T,#DS,'AE>#,Q9#(N:'1M4$L! M A0#% @ %8YD6>0"P;&5X,S)D,BYH 8=&U02P4& H "@"F @ /&4# end XML 83 prim-20240930x10q_htm.xml IDEA: XBRL DOCUMENT 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2024-07-01 2024-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2024-01-01 2024-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2023-07-01 2023-09-30 0001361538 us-gaap:ShareBasedPaymentArrangementNonemployeeMember prim:EquityIncentivePlan2013Member 2023-01-01 2023-09-30 0001361538 prim:LongTermRetentionPlanMember 2024-07-01 2024-09-30 0001361538 us-gaap:CommonStockMember 2024-07-01 2024-09-30 0001361538 us-gaap:CommonStockMember 2024-01-01 2024-09-30 0001361538 us-gaap:CommonStockMember 2023-07-01 2023-09-30 0001361538 us-gaap:CommonStockMember 2023-01-01 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2024-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2024-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-09-30 0001361538 us-gaap:RetainedEarningsMember 2024-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2024-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-06-30 0001361538 2024-06-30 0001361538 us-gaap:RetainedEarningsMember 2023-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-12-31 0001361538 us-gaap:RetainedEarningsMember 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-06-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-06-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-06-30 0001361538 2023-06-30 0001361538 us-gaap:RetainedEarningsMember 2022-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001361538 us-gaap:CommonStockMember 2024-09-30 0001361538 us-gaap:CommonStockMember 2024-06-30 0001361538 us-gaap:CommonStockMember 2023-12-31 0001361538 us-gaap:CommonStockMember 2023-09-30 0001361538 us-gaap:CommonStockMember 2023-06-30 0001361538 us-gaap:CommonStockMember 2022-12-31 0001361538 prim:RestrictedAndPerformanceStockUnitsMember 2024-07-01 2024-09-30 0001361538 prim:RestrictedAndPerformanceStockUnitsMember 2024-01-01 2024-09-30 0001361538 prim:RestrictedAndPerformanceStockUnitsMember 2023-07-01 2023-09-30 0001361538 prim:RestrictedAndPerformanceStockUnitsMember 2023-01-01 2023-09-30 0001361538 srt:MinimumMember 2025-10-01 2024-09-30 0001361538 srt:MaximumMember 2025-10-01 2024-09-30 0001361538 2024-10-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember us-gaap:FixedPriceContractMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:UnitPriceContractsMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:NonMasterServiceAgreementCustomersMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:MasterServiceAgreementCustomersMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:CostReimbursableContractsMember 2024-07-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember 2024-07-01 2024-09-30 0001361538 us-gaap:FixedPriceContractMember 2024-07-01 2024-09-30 0001361538 prim:UnitPriceContractsMember 2024-07-01 2024-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2024-07-01 2024-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2024-07-01 2024-09-30 0001361538 prim:CostReimbursableContractsMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember us-gaap:FixedPriceContractMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:UnitPriceContractsMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:NonMasterServiceAgreementCustomersMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:MasterServiceAgreementCustomersMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:CostReimbursableContractsMember 2024-01-01 2024-09-30 0001361538 us-gaap:TimeAndMaterialsContractMember 2024-01-01 2024-09-30 0001361538 us-gaap:IntersegmentEliminationMember 2024-01-01 2024-09-30 0001361538 us-gaap:FixedPriceContractMember 2024-01-01 2024-09-30 0001361538 prim:UnitPriceContractsMember 2024-01-01 2024-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2024-01-01 2024-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2024-01-01 2024-09-30 0001361538 prim:CostReimbursableContractsMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember us-gaap:FixedPriceContractMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:UnitPriceContractsMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:NonMasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:MasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:CostReimbursableContractsMember 2023-07-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember 2023-07-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember 2023-07-01 2023-09-30 0001361538 prim:UnitPriceContractsMember 2023-07-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2023-07-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UnitPriceContractsMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:CostReimbursableContractsMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember us-gaap:FixedPriceContractMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:UnitPriceContractsMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:NonMasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:MasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember prim:CostReimbursableContractsMember 2023-01-01 2023-09-30 0001361538 us-gaap:TimeAndMaterialsContractMember 2023-01-01 2023-09-30 0001361538 us-gaap:IntersegmentEliminationMember 2023-01-01 2023-09-30 0001361538 us-gaap:FixedPriceContractMember 2023-01-01 2023-09-30 0001361538 prim:UnitPriceContractsMember 2023-01-01 2023-09-30 0001361538 prim:NonMasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 prim:MasterServiceAgreementCustomersMember 2023-01-01 2023-09-30 0001361538 prim:CostReimbursableContractsMember 2023-01-01 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-07-01 2024-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2024-01-01 2024-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-07-01 2023-09-30 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-09-30 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-08-01 0001361538 us-gaap:LetterOfCreditMember 2022-08-01 0001361538 us-gaap:RevolvingCreditFacilityMember 2024-09-30 0001361538 us-gaap:LetterOfCreditMember 2024-09-30 0001361538 prim:CreditFacilityWithCanadianBankMember 2024-09-30 0001361538 prim:ForeignLettersOfCreditMember 2024-09-30 0001361538 srt:MaximumMember 2024-09-30 0001361538 prim:UAndDSegmentMember 2024-09-30 0001361538 prim:EnergySegmentMember 2024-09-30 0001361538 prim:UAndDSegmentMember 2023-12-31 0001361538 prim:EnergySegmentMember 2023-12-31 0001361538 us-gaap:TradeNamesMember 2024-09-30 0001361538 us-gaap:CustomerRelationshipsMember 2024-09-30 0001361538 us-gaap:TradeNamesMember 2023-12-31 0001361538 us-gaap:CustomerRelationshipsMember 2023-12-31 0001361538 us-gaap:EmployeeStockMember 2024-07-01 2024-09-30 0001361538 us-gaap:EmployeeStockMember 2024-01-01 2024-09-30 0001361538 us-gaap:EmployeeStockMember 2023-07-01 2023-09-30 0001361538 us-gaap:EmployeeStockMember 2023-01-01 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2024-07-01 2024-09-30 0001361538 us-gaap:RetainedEarningsMember 2024-01-01 2024-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-07-01 2023-09-30 0001361538 us-gaap:RetainedEarningsMember 2023-01-01 2023-09-30 0001361538 prim:SecondAgreementMember us-gaap:InterestRateSwapMember 2023-01-31 0001361538 us-gaap:InterestRateSwapMember 2024-07-01 2024-09-30 0001361538 us-gaap:InterestRateSwapMember 2024-01-01 2024-09-30 0001361538 us-gaap:InterestRateSwapMember 2023-07-01 2023-09-30 0001361538 us-gaap:InterestRateSwapMember 2023-01-01 2023-09-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:LoansPayableMember 2023-01-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2024-09-30 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001361538 us-gaap:InterestRateSwapMember 2023-12-31 0001361538 us-gaap:InterestRateSwapMember 2024-09-30 0001361538 us-gaap:LoansPayableMember 2022-08-01 0001361538 us-gaap:MortgagesMember 2024-09-30 0001361538 us-gaap:LoansPayableMember 2024-09-30 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2024-09-30 0001361538 us-gaap:MortgagesMember 2023-12-31 0001361538 us-gaap:LoansPayableMember 2023-12-31 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2023-12-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:LoansPayableMember 2024-01-01 2024-09-30 0001361538 prim:O2024Q3DividendsMember 2024-07-01 2024-09-30 0001361538 prim:O2024Q2DividendsMember 2024-04-01 2024-06-30 0001361538 prim:O2024Q1DividendsMember 2024-01-01 2024-03-31 0001361538 prim:O2023Q4DividendsMember 2023-10-01 2023-12-31 0001361538 prim:O2023Q3DividendsMember 2023-07-01 2023-09-30 0001361538 prim:O2023Q2DividendsMember 2023-04-01 2023-06-30 0001361538 prim:O2023Q1DividendsMember 2023-01-01 2023-03-31 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2024-09-30 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001361538 2023-09-30 0001361538 2022-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2024-07-01 2024-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2024-01-01 2024-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-07-01 2023-09-30 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-09-30 0001361538 prim:SpecialPurposeEntityMember us-gaap:AccountsReceivableMember 2024-09-30 0001361538 srt:MaximumMember 2024-07-31 0001361538 2023-11-30 0001361538 2021-11-30 0001361538 prim:NonUnitedStatesMember 2023-01-01 2023-12-31 0001361538 us-gaap:EmployeeStockMember 2022-05-01 2022-05-31 0001361538 2024-10-01 2024-01-01 2024-09-30 0001361538 prim:NonUnitedStatesMember 2024-01-01 2024-09-30 0001361538 prim:NonUnitedStatesMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UAndDSegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:EnergySegmentMember 2024-07-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UAndDSegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:EnergySegmentMember 2024-01-01 2024-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UAndDSegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:EnergySegmentMember 2023-07-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:UAndDSegmentMember 2023-01-01 2023-09-30 0001361538 us-gaap:OperatingSegmentsMember prim:EnergySegmentMember 2023-01-01 2023-09-30 0001361538 prim:LongTermRetentionPlanMember 2024-01-01 2024-09-30 0001361538 prim:LongTermRetentionPlanMember 2023-01-01 2023-09-30 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2022-08-01 2022-08-01 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-07-01 2024-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-07-01 2023-09-30 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-09-30 0001361538 prim:TopTenCustomersMember srt:MinimumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001361538 prim:TopTenCustomersMember srt:MaximumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2024-01-01 2024-09-30 0001361538 2024-09-30 0001361538 2023-12-31 0001361538 2024-07-01 2024-07-31 0001361538 2023-07-01 2023-09-30 0001361538 2023-01-01 2023-09-30 0001361538 2024-07-01 2024-09-30 0001361538 2024-10-28 0001361538 2024-01-01 2024-09-30 shares iso4217:USD pure prim:customer prim:instrument iso4217:USD shares iso4217:CAD prim:segment http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent 0001361538 --12-31 2024 Q3 false http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2024#OtherAssetsNoncurrent http://fasb.org/us-gaap/2024#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2024#AccruedLiabilitiesCurrent 10-Q true 2024-09-30 false 001-34145 Primoris Services Corporation DE 20-4743916 2300 N. Field Street, Suite 1900 Dallas TX 75201 214 740-5600 Common Stock, $0.0001 par value PRIM NYSE Yes Yes Large Accelerated Filer false false false 53713084 352657000 217778000 941011000 685439000 805923000 846176000 122961000 135840000 2222552000 1885233000 484426000 475929000 447589000 360507000 212555000 227561000 857650000 857650000 15521000 20547000 4240293000 3827427000 489052000 628962000 657101000 366476000 386267000 263492000 3223000 3202000 76751000 72903000 1612394000 1335035000 826998000 885369000 327297000 263454000 59490000 59565000 56119000 47912000 2882298000 2591335000 0.0001 0.0001 90000000 90000000 53712733 53712733 53366327 53366327 6000 6000 281563000 275846000 1078288000 961028000 -1862000 -788000 1357995000 1236092000 4240293000 3827427000 1649086000 1529486000 4625508000 4199760000 1450525000 1355591000 4106861000 3768869000 198561000 173895000 518647000 430891000 98106000 84404000 286812000 247984000 905000 1084000 1977000 4677000 99550000 88407000 229858000 178230000 553000 -1000 1874000 1301000 61000 467000 16000 1540000 -17859000 -21065000 -52984000 -56443000 82305000 67808000 178764000 124628000 23869000 19664000 51842000 36142000 58436000 48144000 126922000 88486000 0.06 0.06 0.18 0.18 1.09 0.90 2.37 1.66 1.07 0.89 2.33 1.63 53692000 53339000 53608000 53275000 54675000 54351000 54562000 54171000 58436000 48144000 126922000 88486000 818000 -1440000 -1074000 53000 59254000 46704000 125848000 88539000 53672740 6000 278830000 1023075000 -2680000 1299231000 58436000 58436000 818000 818000 11357 564000 564000 28636 -1819000 -1819000 3988000 3988000 0.06 3223000 3223000 53712733 6000 281563000 1078288000 -1862000 1357995000 53366327 6000 275846000 961028000 -788000 1236092000 126922000 126922000 -1074000 -1074000 46201 1960000 1960000 300205 -6591000 -6591000 10348000 10348000 0.18 9662000 9662000 53712733 6000 281563000 1078288000 -1862000 1357995000 53328873 6000 269031000 881628000 -1127000 1149538000 48144000 48144000 -1440000 -1440000 15074 479000 479000 8664 -278000 -278000 3568000 3568000 0.06 3203000 3203000 53352611 6000 272800000 926569000 -2567000 1196808000 53124899 6000 263771000 847681000 -2620000 1108838000 88486000 88486000 53000 53000 65023 1742000 1742000 162689 -1668000 -1668000 8955000 8955000 0.18 9598000 9598000 53352611 6000 272800000 926569000 -2567000 1196808000 126922000 88486000 72948000 81454000 10348000 8955000 38490000 29603000 -1202000 3001000 3286000 1546000 263175000 185815000 -39517000 128360000 7076000 -32961000 1045000 -633000 -139074000 -34855000 290636000 106042000 3903000 -3114000 106551000 51182000 11407000 114000 210054000 -7147000 98338000 82500000 97447000 47579000 -9300000 -891000 -25621000 440223000 420223000 55878000 66055000 6591000 1637000 9641000 9582000 -1912000 -2749000 -74022000 -60023000 -400000 346000 134741000 -92445000 223542000 258991000 358283000 166546000 49831000 57351000 15462000 -6622000 177675000 181328000 3223000 3203000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 1—Nature of Business</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Organization and operations</span><b style="font-weight:bold;"> — </b>Primoris Services Corporation is one of the leading providers of infrastructure services operating mainly in the United States and Canada. We provide a wide range of construction, maintenance, replacement, fabrication and engineering services to a diversified base of customers through our two segments. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have longstanding customer relationships with utility, refining, petrochemical, power, midstream, and engineering companies, and state departments of transportation. We provide our services to a diversified base of customers, under a range of contracting options. A portion of our services are provided under Master Service Agreements (“MSA”), which are generally multi-year agreements. The remainder of our services are generated from contracts for specific construction or installation projects.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are incorporated in the State of Delaware, and our corporate headquarters are located at 2300 N. Field Street, Suite 1900, Dallas, Texas 75201. Unless specifically noted otherwise, as used throughout these consolidated financial statements, “Primoris”, “the Company”, “we”, “our”, “us” or “its” refers to the business, operations and financial results of the Company and its wholly-owned subsidiaries.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Reportable Segments </span>— Our current reportable segments are the Utilities segment and the Energy segment. See Note 14 – “<i style="font-style:italic;">Reportable Segments</i>” for a brief description of the reportable segments and their operations.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 2 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 2—Basis of Presentation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Interim condensed consolidated financial statements</span> <b style="font-weight:bold;">—</b> The interim condensed consolidated financial statements for the three and nine months ended September 30, 2024 and 2023 have been prepared in accordance with Rule 10-01 of Regulation S-X of the Securities Exchange Act of 1934, as amended. As such, certain disclosures, which would substantially duplicate the disclosures contained in our Annual Report on Form 10-K, filed on February 27, 2024, which contains our audited consolidated financial statements for the year ended December 31, 2023, have been omitted. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">This Form 10-Q should be read in conjunction with our most recent Annual Report on Form 10-K. The interim financial information is unaudited.  In the opinion of management, the interim information includes all adjustments (consisting of normal recurring adjustments) necessary for the fair presentation of the interim financial information. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-family:'TimesNewRoman,BoldItalic';font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-family:'TimesNewRoman,BoldItalic';font-style:italic;font-weight:bold;">Reclassification </span><b style="font-family:'TimesNewRoman,Bold';font-weight:bold;">— </b><span style="font-family:'TimesNewRoman';">Certain previously reported amounts have been reclassified to conform to the current year presentation.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restricted cash </span><b style="font-weight:bold;">— </b>Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 352,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_esHUHJdWUkWNq0IvVKl5FQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,626</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 358,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_gKee-TuBf0yQGt_krNxMug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,764</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 223,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</p></td></tr></table></div><p style="font-family:'EYInterstate Light';font-size:12pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable Securitization Facility </span>— In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association (“PNC”) to improve cash flows from trade accounts receivable. In July 2024, we renewed the Facility for a two-year term, added Regions Bank (“Regions”) to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Fees associated with the Facility for the three and nine months ended September 30, 2024, were $1.3 million and $4.0 million, respectively, and are included in interest expense in the Condensed Consolidated Statements of Income. Fees associated with the Facility for the three and nine months ended September 30, 2023, were $0.5 million and are included in interest expense in the Condensed Consolidated Statements of Income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC and Regions up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. The SPE owned $232.1 million of trade accounts receivable as of September 30, 2024, which are included in Accounts receivable, net on the Condensed Consolidated Balance Sheets. For the nine months ended September 30, 2024 and 2023, we received $10.0 million and $65.0 million, respectively, in cash proceeds from the Facility, and repaid $10.0 million and $0, respectively, to the Facility, which are included in cash from operating activities in the Condensed Consolidated Statements of Cash Flows. As of September 30, 2024, we had $75.0 million available capacity under the Facility.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 35% to 45% of total revenue; however, the companies that comprise the top ten customers vary from year to year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2024, approximately 41.9% and 40.9%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> For the three and nine months ended September 30, 2023, approximately </span>44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” which changes the accounting and reporting of segment disclosure requirements primarily through enhanced disclosure about significant segment expenses in accordance with FASB Accounting Standards Codification 280, Segment Reporting. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively on or after the effective date. We adopted the new standard on January 1, 2024, on a prospective basis. This ASU will likely result in us including additional required disclosures in the financial statement footnotes in our annual report on form 10-K commencing with the year ending December 31, 2024, but is not expected to have an effect on our consolidated financial position, results of operations or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures”<i style="font-style:italic;"> </i>that requires presentation of specific categories of reconciling items, as well reconciling items that meet a quantitative threshold, in the reconciliation between the income tax provision and the income tax provision using statutory tax rates. The standard also requires disclosure of income taxes paid disaggregated by jurisdiction with separate disclosure of income taxes paid to individual jurisdictions that meet a quantitative threshold. ASU No. 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively; however, entities have the option to apply retrospectively for each period presented. We do not expect the adoption of this new standard in 2025 to have an impact on our consolidated financial position, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Restricted cash </span><b style="font-weight:bold;">— </b>Restricted cash consists primarily of cash balances that are restricted as to withdrawal or usage and contract retention payments made by customers into escrow bank accounts and are included in prepaid expenses and other current assets in our Condensed Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 352,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_esHUHJdWUkWNq0IvVKl5FQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,626</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 358,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_gKee-TuBf0yQGt_krNxMug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,764</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 223,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</p></td></tr></table></div> The following tables provide a reconciliation of cash, cash equivalents and restricted cash reported within the Condensed Consolidated Balance Sheets to the totals of such amounts shown in the Condensed Consolidated Statements of Cash Flows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.22%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:29.34%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.51%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 352,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 160,736</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_esHUHJdWUkWNq0IvVKl5FQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expenses and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,626</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,810</p></td></tr><tr><td style="vertical-align:bottom;width:67.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 358,283</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.86%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 166,546</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><div style="padding-left:31.5pt;"><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:87.86%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;width:28.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.27%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash and cash equivalents</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 248,692</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_gKee-TuBf0yQGt_krNxMug;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Restricted cash included in prepaid expense and other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,764</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 10,299</p></td></tr><tr><td style="vertical-align:bottom;width:68.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total cash, cash equivalents and restricted cash shown in the Condensed Consolidated Statements of Cash Flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.97%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.12%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 223,542</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.19%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.07%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 258,991</p></td></tr></table></div> 352657000 160736000 5626000 5810000 358283000 166546000 217778000 248692000 5764000 10299000 223542000 258991000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Accounts Receivable Securitization Facility </span>— In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association (“PNC”) to improve cash flows from trade accounts receivable. In July 2024, we renewed the Facility for a two-year term, added Regions Bank (“Regions”) to the Facility, and increased the maximum purchase commitment to $150.0 million, at any one time. Fees associated with the Facility for the three and nine months ended September 30, 2024, were $1.3 million and $4.0 million, respectively, and are included in interest expense in the Condensed Consolidated Statements of Income. Fees associated with the Facility for the three and nine months ended September 30, 2023, were $0.5 million and are included in interest expense in the Condensed Consolidated Statements of Income.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Under the Facility, certain of our designated subsidiaries may sell their trade accounts receivable as they are originated to a wholly owned bankruptcy remote Special Purpose Entity (“SPE”) created specifically for this purpose. We control and, therefore, consolidate the SPE in our consolidated financial statements. The SPE transfers ownership and control of qualifying accounts receivable to PNC and Regions up to the maximum purchase commitment. We and our related subsidiaries have no continuing involvement in the transferred accounts receivable, other than collection and administrative responsibilities, and, once sold, the accounts receivable are no longer available to satisfy our creditors or our related subsidiaries. We account for accounts receivable sold to the banking counterparty as a sale of financial assets and derecognize the trade accounts receivable from our Condensed Consolidated Balance Sheets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of September 30, 2024. The SPE owned $232.1 million of trade accounts receivable as of September 30, 2024, which are included in Accounts receivable, net on the Condensed Consolidated Balance Sheets. For the nine months ended September 30, 2024 and 2023, we received $10.0 million and $65.0 million, respectively, in cash proceeds from the Facility, and repaid $10.0 million and $0, respectively, to the Facility, which are included in cash from operating activities in the Condensed Consolidated Statements of Cash Flows. As of September 30, 2024, we had $75.0 million available capacity under the Facility.</p> P2Y 150000000.0 1300000 4000000.0 500000 500000 75000000.0 232100000 10000000.0 65000000.0 10000000.0 0 75000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Customer concentration</span> — We operate in multiple industry sectors encompassing the construction of commercial, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year generate revenue that is approximately 35% to 45% of total revenue; however, the companies that comprise the top ten customers vary from year to year. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the three and nine months ended September 30, 2024, approximately 41.9% and 40.9%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> For the three and nine months ended September 30, 2023, approximately </span>44.1% and 38.2%, respectively, of total revenue was generated from our top ten customers and no one customer accounted for more than 10% of our total revenue. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 10 10 0.35 0.45 10 0.419 0.409 10 10 0.441 0.382 10 10 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Recently Issued Accounting Pronouncements</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>In November 2023, the FASB issued ASU No. 2023-07, “Segment Reporting (Topic 280): Improvements to Reportable Segment Disclosures” which changes the accounting and reporting of segment disclosure requirements primarily through enhanced disclosure about significant segment expenses in accordance with FASB Accounting Standards Codification 280, Segment Reporting. This ASU is effective for fiscal years beginning after December 15, 2023, and interim periods within fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively on or after the effective date. We adopted the new standard on January 1, 2024, on a prospective basis. This ASU will likely result in us including additional required disclosures in the financial statement footnotes in our annual report on form 10-K commencing with the year ending December 31, 2024, but is not expected to have an effect on our consolidated financial position, results of operations or cash flows.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>In December 2023, the FASB issued ASU No. 2023-09, “Income Taxes (Topic 740): Improvements to Income Tax Disclosures”<i style="font-style:italic;"> </i>that requires presentation of specific categories of reconciling items, as well reconciling items that meet a quantitative threshold, in the reconciliation between the income tax provision and the income tax provision using statutory tax rates. The standard also requires disclosure of income taxes paid disaggregated by jurisdiction with separate disclosure of income taxes paid to individual jurisdictions that meet a quantitative threshold. ASU No. 2023-09 is effective for fiscal years beginning after December 15, 2024, with early adoption permitted. The amendments should be applied prospectively; however, entities have the option to apply retrospectively for each period presented. We do not expect the adoption of this new standard in 2025 to have an impact on our consolidated financial position, results of operations or cash flows.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 3—Fair Value Measurements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">ASC Topic 820, “<i style="font-style:italic;">Fair Value Measurements and Disclosures</i>” (“ASC Topic 820”), defines fair value, establishes a framework for measuring fair value in U.S. generally accepted accounting principles (“GAAP”) and requires certain disclosures about fair value measurements. ASC Topic 820 addresses fair value GAAP for financial assets and financial liabilities that are re-measured and reported at fair value at each reporting period and for non-financial assets and liabilities that are re-measured and reported at fair value on a non-recurring basis.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In general, fair values determined by Level 1 inputs use quoted prices (unadjusted) in active markets for identical assets or liabilities. Fair values determined by Level 2 inputs use data points that are observable such as quoted prices, interest rates and yield curves. Fair values determined by Level 3 inputs are “unobservable data points” for the asset or liability and include situations where there is little, if any, market activity for the asset or liability.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value as of September 30, 2024 and December 31, 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:51.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at Reporting Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of September 30, 2024:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 352,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December 31, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Other financial instruments not listed in the table consist of accounts receivable, accounts payable and certain accrued liabilities. These financial instruments generally approximate fair value based on their short-term nature. The </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">carrying value of our long-term debt approximates fair value based on comparison with current prevailing market rates for loans of similar risks and maturities. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The interest rate swap is measured at fair value using the income approach, which discounts the future net cash settlements expected under the derivative contracts to a present value. These valuations primarily utilize indirectly observable inputs, including contractual terms, interest rates and yield curves observable at commonly quoted intervals. See Note 8 – “<i style="font-style:italic;">Derivative Instruments</i>” for additional information.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table presents, for each of the fair value hierarchy levels identified under ASC Topic 820, our financial assets and liabilities that are required to be measured at fair value as of September 30, 2024 and December 31, 2023 (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:51.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fair Value Measurements at Reporting Date</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quoted Prices</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Other</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Significant</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">in Active Markets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Observable</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unobservable</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">for Identical Assets</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Inputs</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.11%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 2)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(Level 3)</b></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of September 30, 2024:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 352,657</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Assets as of December 31, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Cash and cash equivalents </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:45.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr></table> 352657000 431000 217778000 1633000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 4—Revenue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We generate revenue under a range of contracting types, including fixed-price, unit-price, time and material, and cost reimbursable plus fee contracts, each of which has a different risk profile. For the nine months ended September 30, 2024 and 2023, $3,191.7 million, and $2,781.1 million, respectively, of our revenue is derived from contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. For these contracts, revenue is recognized over time as work is completed because of the continuous transfer of control to the customer (typically using an input measure such as costs incurred to date relative to total estimated costs at completion to measure progress). For certain contracts, where scope is not adequately defined and we cannot reasonably estimate total contract value, revenue is recognized either on an input basis, based on contract costs incurred as defined within the respective contracts, or an output basis, based on units completed. Costs to obtain contracts are generally not significant and are expensed in the period incurred.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We evaluate whether two or more contracts should be combined and accounted for as one single performance obligation and whether a single contract should be accounted for as more than one performance obligation. ASC 606, <i style="font-style:italic;">Revenue from Contracts with Customers</i>, defines a performance obligation as a contractual promise to transfer a distinct good or service to a customer. A contract’s transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied. Our evaluation requires significant judgment and the decision to combine a group of contracts or separate a contract into multiple performance obligations could change the amount of revenue and profit recorded in a given period. The majority of our contracts have a single performance obligation, as the promise to transfer the individual goods or services is not separately identifiable from other promises in the contract and, therefore, is not distinct. However, occasionally we have contracts with multiple performance obligations. For contracts with multiple performance obligations, we allocate the contract’s transaction price to each performance obligation using the observable standalone selling price, if available, or alternatively our best estimate of the standalone selling price of each distinct performance obligation in the contract. The primary method used to estimate standalone selling price is the expected cost plus a margin approach for each performance obligation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> <span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of September 30, 2024, we had $5.9 billion of remaining performance obligations. We expect to recognize 58.0% of our remaining performance obligations as revenue during the next 12 months and substantially all of the remaining balance in the 12 to 18 months thereafter.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Accounting for long-term contracts involves the use of various techniques to estimate total transaction price and costs. For long-term contracts, transaction price, estimated cost at completion and total costs incurred to date are used to calculate revenue earned. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular contract. Total estimated costs, and thus contract revenue and income, can be impacted by changes in productivity, scheduling, the unit cost of labor, subcontracts, materials and equipment. Additionally, external factors such as weather, client needs, client delays in providing permits and approvals, labor availability, governmental regulation, politics and pandemics may affect the progress of a project’s completion, and thus the timing of revenue recognition. To the extent that original cost estimates are modified, estimated costs to complete increase, delivery schedules are delayed, or progress under a contract is otherwise impeded, cash flow, revenue recognition and profitability from a particular contract may be adversely affected. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The nature of our contracts gives rise to several types of variable consideration, including contract modifications (change orders and claims), liquidated damages, volume discounts, performance bonuses, incentive fees, and other terms that can either increase or decrease the transaction price. We estimate variable consideration as the most likely amount to which we expect to be entitled. We include estimated amounts in the transaction price to the extent we believe we have an enforceable right, and it is probable that a significant reversal of cumulative revenue recognized will not occur. Our estimates of variable consideration and the determination of whether to include estimated amounts in the transaction price </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">are based largely on an assessment of our anticipated performance and all information (historical, current and forecasted) that is reasonably available to us at this time. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract modifications result from changes in contract specifications or requirements. We consider unapproved change orders to be contract modifications for which customers have not agreed to both scope and price. We consider claims to be contract modifications for which we seek, or will seek, to collect from customers, or others, for customer-caused changes in contract specifications or design, or other customer-related causes of unanticipated additional contract costs on which there is no agreement with customers. Claims can also be caused by non-customer-caused changes, such as rain or other weather delays. Costs associated with contract modifications are included in the estimated costs to complete the contracts and are treated as project costs when incurred. In most instances, contract modifications are for goods or services that are not distinct, and, therefore, are accounted for as part of the existing contract. The effect of a contract modification on the transaction price, and our measure of progress for the performance obligation to which it relates, is recognized as an adjustment to revenue on a cumulative catch-up basis. In some cases, settlement of contract modifications may not occur until after completion of work under the contract.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As a significant change in one or more of these estimates could affect the profitability of our contracts, we review and update our contract-related estimates regularly. We recognize adjustments in estimated profit on contracts under the cumulative catch-up method. Under this method, the cumulative impact of the profit adjustment is recognized in the period the adjustment is identified. Revenue and profit in future periods of contract performance are recognized using the adjusted estimate. In the three months ended September 30, 2024, revenue was negatively impacted by $10.4 million as a result of changes in estimates associated with performance obligations satisfied prior to June 30, 2024. In the nine months ended September 30, 2024, revenue was negatively impacted by $18.0 million as a result of changes in estimates associated with performance obligations satisfied prior to December 31, 2023. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including the reversal of any previously recognized profit, in the period it is identified and recognized as an “accrued loss provision” which is included in “Contract liabilities” on the Condensed Consolidated Balance Sheets. For contract revenue recognized over time, the accrued loss provision is adjusted so that the gross profit for the contract remains zero in future periods. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of September 30, 2024, we had approximately $223.9 million of unapproved contract modifications included in the aggregate transaction prices. These contract modifications were in the process of being negotiated in the normal course of business. Approximately $207.9 million of the contract modifications had been recognized as revenue on a cumulative catch-up basis through September 30, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In all forms of contracts, we estimate the collectability of contract amounts at the same time that we estimate project costs. If we anticipate that there may be issues associated with the collectability of the full amount calculated as the transaction price, we may reduce the amount recognized as revenue to reflect the uncertainty associated with realization of the eventual cash collection. For example, when a cost reimbursable project exceeds the client’s expected budget amount, the client frequently requests an adjustment to the final amount. Similarly, some utility clients reserve the right to audit costs for significant periods after performance of the work.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The timing of when we bill our customers is generally dependent upon agreed-upon contractual terms, milestone billings based on the completion of certain phases of the work, or when services are provided. Sometimes, billing occurs subsequent to revenue recognition, resulting in unbilled revenue, which is a contract asset. Also, we sometimes receive advances or deposits from our customers before revenue is recognized, resulting in deferred revenue, which is a contract liability. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The caption “Contract assets” in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">unbilled revenue, which arises when revenue has been recorded but the amount will not be billed until a later date;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">retainage amounts for the portion of the contract price earned by us for work performed, but held for payment by the customer as a form of security until we reach certain construction milestones; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:54pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating to the cost incurred to a specific project. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 533,852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 604,166</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 227,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 202,358</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 44,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,652</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 805,923</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 846,176</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets decreased by $40.3 million compared to December 31, 2023, primarily due to lower unbilled revenue partially offset by higher retention receivable.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The caption “Contract liabilities” in the Condensed Consolidated Balance Sheets represents the following:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:56.2pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">deferred revenue, which arises when billings are in excess of revenue recognized to date; and</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:56.2pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the accrued loss provision.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 655,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,159</p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,317</p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 657,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 366,476</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities increased by $290.6 million compared to December 31, 2023, due to higher deferred revenue.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized for the nine months ended September 30, 2024, that was included in the contract liability balance as of December 31, 2023, was approximately $321.1 million.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The following tables present our revenue disaggregated into various categories.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">MSA and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 552,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,295</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 938,563</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,992)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 625,016</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,024,070</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,430,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 344,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 243,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,688,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (258)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,673,451</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,952,057</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 144,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 808,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (768)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,153)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 583,785</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 945,701</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,359,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 474,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 223,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,170,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,385)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,291</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,469</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 437,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 608,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 179,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (136)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 669,318</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 616,768</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,000</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 268,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,122,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 383,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,751,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 486,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 693,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79,233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,893)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,941,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,607,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,076,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 411,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 132,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 536,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 168,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 182,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,660)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,444)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,817)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 642,339</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 574,429</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 312,718</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 294,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,146,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 392,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,551,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 448,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 394,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,719)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,991)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,838,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 783,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Each of these contract types has a different risk profile. Typically, we assume more risk with fixed-price contracts. Unforeseen events and circumstances can alter the estimate of the costs and potential profit associated with a particular fixed-price contract. However, these types of contracts offer additional profits when we complete the work for less cost than originally estimated. Unit-price and cost reimbursable contracts generally subject us to lower risk. Accordingly, the associated fees are usually lower than fees earned on fixed-price contracts. Under these contracts, our profit may vary if actual costs vary significantly from the negotiated rates.</p> 3191700000 2781100000 5900000000 0.580 P12M P12M P18M 10400000 -18000000.0 223900000 207900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract assets consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.15%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unbilled revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 533,852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 604,166</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Retention receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 227,105</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 202,358</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract materials (not yet installed)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 44,966</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,652</p></td></tr><tr><td style="vertical-align:bottom;width:63.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 805,923</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.37%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.77%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 846,176</p></td></tr></table> 533852000 604166000 227105000 202358000 44966000 39652000 805923000 846176000 40300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Contract liabilities consist of the following (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 655,215</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,159</p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accrued loss provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,886</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,317</p></td></tr><tr><td style="vertical-align:bottom;width:62.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.01%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.65%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 657,101</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.75%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.35%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.67%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 366,476</p></td></tr></table> 655215000 363159000 1886000 3317000 657101000 366476000 290600000 321100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">MSA and Non-MSA revenue was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 552,741</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 113,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 72,295</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 938,563</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (20)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,992)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 625,016</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,024,070</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,430,696</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 344,266</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 243,013</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,688,915</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (258)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,124)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,673,451</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,952,057</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 505,728</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 144,936</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 78,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 808,918</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (768)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,153)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 583,785</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 945,701</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="position:absolute;top:0pt;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:49.08%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.44%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Non-MSA</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.56%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,359,495</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 474,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 223,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,170,933</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:48.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,385)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (22,634)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.84%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:top;width:48.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,291</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,469</p></td><td style="vertical-align:top;white-space:nowrap;width:2.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:12.84%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by contract type was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,167</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 437,493</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 140,580</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 608,899</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 179,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 222,556</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (27,748)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (128)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (136)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 669,318</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 616,768</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 363,000</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2024</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 268,738</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,122,898</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 383,326</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,751,605</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 486,792</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 693,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (79,233)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,893)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (256)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,941,110</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,607,797</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,076,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 107,024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 411,636</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 132,004</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 536,975</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 168,237</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 182,531</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,660)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,444)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,817)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 642,339</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 574,429</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 312,718</p></td><td style="vertical-align:top;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:top;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="11" style="vertical-align:bottom;white-space:nowrap;width:60.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Unit-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Cost reimbursable (1)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Total</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 294,709</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,146,601</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 392,355</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,551,536</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 448,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 394,122</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:37.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (7,719)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,309)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,991)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:top;width:37.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,838,526</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.73%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,577,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.54%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 783,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.19%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.76%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:9pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:9pt;font-style:normal;font-weight:normal;">Includes time and material and cost reimbursable plus fee contracts.</span></td></tr></table> 552741000 113499000 666240000 72295000 938563000 1010858000 -20000 -27992000 -28012000 625016000 1024070000 1649086000 1430696000 344266000 1774962000 243013000 2688915000 2931928000 -258000 -81124000 -81382000 1673451000 2952057000 4625508000 505728000 144936000 650664000 78825000 808918000 887743000 -768000 -8153000 -8921000 583785000 945701000 1529486000 1359495000 474170000 1833665000 223181000 2170933000 2394114000 -5385000 -22634000 -28019000 1577291000 2622469000 4199760000 88167000 437493000 140580000 666240000 608899000 179403000 222556000 1010858000 -27748000 -128000 -136000 -28012000 669318000 616768000 363000000 1649086000 268738000 1122898000 383326000 1774962000 1751605000 486792000 693531000 2931928000 -79233000 -1893000 -256000 -81382000 1941110000 1607797000 1076601000 4625508000 107024000 411636000 132004000 650664000 536975000 168237000 182531000 887743000 -1660000 -5444000 -1817000 -8921000 642339000 574429000 312718000 1529486000 294709000 1146601000 392355000 1833665000 1551536000 448456000 394122000 2394114000 -7719000 -17309000 -2991000 -28019000 1838526000 1577748000 783486000 4199760000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 5—Goodwill and Intangible Assets</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The carrying amount of goodwill by reportable segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reporting Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:97.12%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,528</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,799)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,421</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 295,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84,950)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 211,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 295,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 224,140</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 315,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (102,642)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 212,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 315,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (87,636)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 227,561</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Amortization expense of intangible assets was $4.7 million and $5.2 million for the three months ended September 30, 2024, and 2023, respectively, and $15.0 million and $16.6 million for the nine months ended September 30, 2024 and 2023, respectively. Estimated future amortization expense for intangible assets is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (remaining three months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,658</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,661</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,141</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,604</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,381</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 144,110</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 212,555</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The carrying amount of goodwill by reportable segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.75%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Reporting Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 703,462</p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 154,188</p></td></tr><tr><td style="vertical-align:bottom;width:66.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.17%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.05%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 857,650</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 703462000 703462000 154188000 154188000 857650000 857650000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below summarizes the intangible asset categories and amounts, which are amortized on a straight-line basis (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:97.12%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:40.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, 2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:12.93%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.79%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:12.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Carrying</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amount</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Accumulated</b><b style="font-weight:bold;"><br/></b><b style="font-weight:bold;">Amortization</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tradenames</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (17,692)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,528</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,220</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (15,799)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,421</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Customer relationships </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 295,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (84,950)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 211,027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 295,977</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (71,837)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 224,140</p></td></tr><tr><td style="vertical-align:bottom;width:17.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 315,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.9%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (102,642)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.32%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.46%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 212,555</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.59%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 315,197</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (87,636)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.31%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.89%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 227,561</p></td></tr></table> 19220000 17692000 1528000 19220000 15799000 3421000 295977000 84950000 211027000 295977000 71837000 224140000 315197000 102642000 212555000 315197000 87636000 227561000 4700000 5200000 15000000.0 16600000 Estimated future amortization expense for intangible assets is as follows (in thousands):<p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:66.89%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Estimated</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amortization</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">For the Years Ending December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.78%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024 (remaining three months)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,658</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2025</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 17,661</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 16,141</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2027</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,604</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2028</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,381</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Thereafter</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 144,110</p></td></tr><tr><td style="vertical-align:bottom;width:83.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.92%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.85%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 212,555</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 4658000 17661000 16141000 15604000 14381000 144110000 212555000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 6—Accounts Payable and Accrued Liabilities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">As of September 30, 2024, and December 31, 2023, accounts payable included retention amounts of approximately $40.7 million and $24.7 million, respectively. These amounts owed to subcontractors have been retained pending contract completion and customer acceptance of jobs. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 162,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 108,618</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,411</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,015</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 67,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,203</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,245</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 386,267</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 263,492</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 40700000 24700000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of accrued liabilities (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:2pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:75.26%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.97%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:18.86%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.97%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Payroll and related employee benefits </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 162,412</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 108,618</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Current operating lease liability</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,411</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Casualty insurance reserves</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 15,658</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,015</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Corporate income taxes and other taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 67,051</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,203</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 25,403</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 26,245</p></td></tr><tr><td style="vertical-align:bottom;width:54.86%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:16.35%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 386,267</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.14%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.51%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.45%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 263,492</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 162412000 108618000 115743000 96411000 15658000 18015000 67051000 14203000 25403000 26245000 386267000 263492000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 7—Credit Arrangements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 838,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 874,128</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 71,004</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,943</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,615</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 908,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 964,747</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,475)</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 903,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 958,272</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (76,751)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (72,903)</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 826,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 885,369</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The weighted average interest rate on total debt outstanding as of September 30, 2024 and December 31, 2023 was 6.1% and 6.8%, respectively. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”), which increased our term loan to an aggregate principal amount of $945.0 million (the “Term Loan”) and increased our revolving credit facility to $325.0 million (the “Revolving Credit Facility”), under which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $325.0 million committed amount. The maturity date of the Amended Credit Agreement is August 1, 2027. As of September 30, 2024, commercial letters of credit outstanding were $52.8 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $272.2 million as of September 30, 2024.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Amended Credit Agreement contains various restrictive and financial covenants including, among others, a net senior debt/EBITDA ratio and minimum EBITDA to cash interest ratio. In addition, the Amended Credit Agreement includes restrictions on investments, change of control provisions and provisions in the event we dispose of more than 20% of our total assets. We were in compliance with the covenants for the Amended Credit Agreement as of September 30, 2024</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On January 31, 2023, we entered into an interest rate swap agreement to manage our exposure to the fluctuations in variable interest rates. The swap effectively exchanged the interest rate on $300.0 million of the debt outstanding under our Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin, which was 1.75% as of September 30, 2024. The interest rate swap matures on January 31, 2025. See Note 8 – “<i style="font-style:italic;">Derivative Instruments</i>”.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Canadian Credit Facilities</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We have credit facilities totaling $14.0 million in Canadian dollars for the purposes of issuing commercial letters of credit and providing funding for working capital. As of September 30, 2024, commercial letters of credit outstanding were $1.0 million in Canadian dollars and there were no outstanding borrowings. Available capacity as of September 30, 2024 was $13.0 million in Canadian dollars.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Long-term debt and credit facilities consist of the following (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:3pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.21%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Term loan</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 838,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 874,128</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revolving credit facility</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Commercial equipment notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 51,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 71,004</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Mortgage notes</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 18,943</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 19,615</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 908,865</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 964,747</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Unamortized debt issuance costs</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (5,116)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (6,475)</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total debt, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 903,749</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 958,272</p></td></tr><tr><td style="vertical-align:bottom;width:74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (76,751)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (72,903)</p></td></tr><tr><td style="vertical-align:bottom;width:74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt, net of current portion </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.91%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 826,998</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.29%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:7.88%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 885,369</p></td></tr></table> 838692000 874128000 51230000 71004000 18943000 19615000 908865000 964747000 5116000 6475000 903749000 958272000 76751000 72903000 826998000 885369000 0.061 0.068 945000000.0 325000000.0 325000000.0 52800000 0 272200000 0.20 300000000.0 0.04095 0.0175 14000000.0 1000000.0 0 13000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8—Derivative Instruments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>We are exposed to certain market risks related to changes in interest rates. To monitor and manage these market risks, we have established risk management policies and procedures. We do not enter into derivative instruments for any purpose other than hedging interest rate risk. None of our derivative instruments are used for trading purposes.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Interest Rate Risk. </span>We are exposed to variable interest rate risk as a result of variable-rate borrowings under our Amended Credit Agreement. To manage fluctuations in cash flows resulting from changes in interest rates on a portion of our variable-rate debt, we entered into an interest rate swap agreement on January 31, 2023, with a notional amount of $300.0 million. The swap was not designated as a hedge for accounting purposes. The swap effectively changes the variable-rate cash flow exposure on the debt obligations to fixed rates. The fair value of outstanding interest rate swap derivatives can vary significantly from period to period depending on the total notional amount of swap derivatives outstanding and fluctuations in market interest rates compared to the interest rates fixed by the swap. As of September 30, 2024, and December 31, 2023, our outstanding interest rate swap agreement contained a notional amount of $300.0 million maturing on January 31, 2025.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span><span style="font-style:italic;font-weight:bold;">Credit Risk. </span>By using derivative instruments to economically hedge exposures to changes in interest rates, we are exposed to counterparty credit risk. Credit risk is the failure of a counterparty to perform under the terms of a derivative contract. When the fair value of a derivative contract is positive, the counterparty owes us, which creates credit risk for us. When the fair value of a derivative contract is negative, we owe the counterparty and, therefore, we do not possess credit risk. We minimize the credit risk in derivative instruments by entering into transactions with high quality counterparties. We have entered into netting agreements, including International Swap Dealers Association (“ISDA”) Agreements, which allow for netting of contract receivables and payables in the event of default by either party.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_64jSosoU60C90m7vIK4oig;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_LnQYfcffr06PzHsmFdNXsg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other long-term assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,633</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location of (Loss) Gain</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized on Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_zKcDHBufiU61TknstayJiQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest expense, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,904</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Cash flows from derivatives settled are reported as cash flows from operating activities.</p> 0 300000000.0 300000000.0 300000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following table summarizes the fair value of our derivative contracts included in the Condensed Consolidated Balance Sheets (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Balance Sheet Location</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_64jSosoU60C90m7vIK4oig;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other current assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 431</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:32.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:27.35%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_LnQYfcffr06PzHsmFdNXsg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Other long-term assets</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.72%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,633</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9pt;visibility:hidden;">​</span></p> 431000 1633000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>The following table summarizes the amounts recognized with respect to our derivative instruments within the Condensed Consolidated Statements of Income (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:101.66%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:21.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.43%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Location of (Loss) Gain</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.43%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:26.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:21.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Recognized on Derivatives</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.2%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.48%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:21.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Interest rate swap</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_zKcDHBufiU61TknstayJiQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Interest expense, net</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (426)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,825</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.04%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 6,904</p></td></tr></table> -426000 1307000 1825000 6904000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9—Income Taxes</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We are subject to tax liabilities imposed by multiple jurisdictions. We determine our best estimate of the annual effective tax rate at each interim period using expected annual pre-tax earnings, statutory tax rates and available tax planning opportunities. Certain significant or unusual items are separately recognized in the quarter in which they occur, which can cause variability in the effective tax rate from quarter to quarter. We recognize interest and penalties related to uncertain tax positions, if any, as an income tax expense.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The effective tax rate on income for the nine months ended September 30, 2024, and 2023 is 29.0%. For the nine months of 2024 and 2023, our tax rate differed from the U.S. federal statutory rate of 21.0% primarily due to the impact of state income taxes and nondeductible components of per diem expenses.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;background:#ffffff;"> </span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our U.S. federal income tax returns are generally no longer subject to examination for tax years before 2020. The statutes of limitation of state and foreign jurisdictions generally vary between 3 to 5 years. Accordingly, our state and foreign income tax returns are generally no longer subject to examination for tax years before 2018.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Income taxes are accounted for under the asset and liability method. Deferred tax assets and liabilities are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities based on enacted tax rates expected to be in effect when such amounts are realized or settled. However, deferred tax assets are recognized only to the extent that it is more likely than not that they will be realized based upon consideration of available evidence, including future reversals of existing taxable temporary differences, future projected taxable income, the length </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">of the tax asset carryforward periods and tax planning strategies. The effects of remeasurement of deferred tax assets and liabilities resulting from changes in tax rates are recognized in income in the period of enactment.</p> 0.290 0.290 0.210 0.210 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10—Dividends and Earnings Per Share</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2024 and 2023 as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 22, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 3, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 29, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 13, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 29, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 12, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 21, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 28, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 28, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 27, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 11, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 72pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The payment of future dividends is contingent upon our revenue and earnings, capital requirements and our general financial condition, as well as contractual restrictions and other considerations deemed relevant by the Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2024 and 2023 (in thousands, except per share amounts).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.37%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 126,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,486</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,275</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 896</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,171</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.66</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.63</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We paid cash dividends during 2024 and 2023 as follows:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:85.55%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.24%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Declaration Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Record Date</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.42%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date Paid</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:16.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Amount Per Share</b></p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 22, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 3, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 14, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 29, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 13, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 2, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 29, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 12, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 21, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 28, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 1, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 28, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr><tr><td style="vertical-align:bottom;width:24.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 31, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 27, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.42%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 11, 2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.36%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">0.06 </p></td></tr></table> 2023-02-22 2023-03-31 2023-04-14 0.06 2023-05-03 2023-06-30 2023-07-14 0.06 2023-08-02 2023-09-29 2023-10-13 0.06 2023-11-02 2023-12-29 2024-01-12 0.06 2024-02-21 2024-03-28 2024-04-15 0.06 2024-05-01 2024-06-28 2024-07-15 0.06 2024-07-31 2024-09-27 2024-10-11 0.06 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The table below presents the computation of basic and diluted earnings per share for the three and nine months ended September 30, 2024 and 2023 (in thousands, except per share amounts).</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:88.37%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:28.65%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.63%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.68%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Numerator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 58,436</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 126,922</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 88,486</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Denominator:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of basic earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,339</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,608</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 53,275</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Dilutive effect of stock-based awards</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 983</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,012</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 954</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 896</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares for computation of diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,562</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 54,171</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Earnings per share:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.09</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.90</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.66</p></td></tr><tr><td style="vertical-align:bottom;width:41.81%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.07</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.46%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 0.89</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.29%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1.63</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><span style="font-size:1pt;margin-left:0pt;visibility:hidden;">​</span></p> 58436000 48144000 126922000 88486000 53692000 53339000 53608000 53275000 983000 1012000 954000 896000 54675000 54351000 54562000 54171000 1.09 0.90 2.37 1.66 1.07 0.89 2.33 1.63 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:54.7pt;text-indent:-54.7pt;margin:0pt;"><b style="font-weight:bold;">Note 11—Stockholders’ Equity</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Common stock</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We issued 11,359 and 21,245 shares of common stock in the nine months ended September 30, 2024, and 2023, respectively, under our long-term retention plan (“LTR Plan”). The shares were purchased by the participants in the LTR Plan with payment made to us of $0.3 million in both the nine months ended September 30, 2024, and 2023. Our LTR Plan for certain managers and executives allows participants to use a portion of their annual bonus amount to purchase our common stock at a discount from the market price. The shares purchased in the nine months ended September 30, 2024, were a portion of bonus amounts earned in 2023, and the number of shares purchased was calculated based on 75% of the average daily closing market price of our common stock during December 2023. The shares purchased in the nine months ended September 30, 2023, were for bonus amounts earned in 2022, and the number of shares was calculated based on 75% of the average daily closing market price during December 2022.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the three months ended September 30, 2024, and 2023, we issued 4,920 and 8,856 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. During </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">the nine months ended September 30, 2024, and 2023, we issued 19,304 and 31,240 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">During the three and nine months ended September 30, 2024, a total of 28,636 and 300,205 restricted and performance stock units, net of forfeitures for tax withholdings, respectively, were converted to common stock. There were 8,664 and 162,689 restricted stock units, net of forfeitures for tax withholdings, converted to common stock during the three and nine months ended September 30, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="white-space:pre-wrap;"> </span><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Employee Stock Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In May 2022, our shareholders approved the 2022 Primoris Services Corporation Employee Stock Purchase Plan (the “ESPP”), for which eligible full-time employees can purchase shares of our common stock at a discount. The purchase price of the stock is 90% of the lower of the market price at the beginning of the offering period or the end of the offering period. Purchases occur semi-annually, approximately 30 days following the filing of our Annual Report on Form 10-K for the fiscal year ended December 31 of each year, but in no cases can extend beyond March 31 of the period or year, and approximately 30 days following the filing of our Quarterly Report on Form 10-Q for the fiscal quarter ended June 30 of each year. For the three months ended September 30, 2024, 6,437 shares were purchased at an average discounted purchase price of $45.14 per share. For the nine months ended September 30, 2024, 15,538 shares were purchased at an average discounted purchase price of $39.51 per share. For the three months ended September 30, 2023, 6,218 shares were purchased at an average discounted purchase price of $29.86 per share. For the nine months ended September 30, 2023, 12,538 shares were purchased at an average discounted purchase price of $25.85 per share. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Share Purchase Plan</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In November 2021, our Board of Directors authorized a $25.0 million share purchase program. Under the share purchase program, we can, depending on market conditions, share price and other factors, acquire shares of our common stock on the open market or in privately negotiated transactions. In November 2023, our Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024. During the nine months ended September 30, 2024 and 2023, we did not purchase any shares of common stock.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 11359 21245 300000 300000 0.75 0.75 4920 8856 19304 31240 28636 300205 8664 162689 0.90 P30D P30D 6437 45.14 15538 39.51 6218 29.86 12538 25.85 25000000.0 25000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 12—Leases</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We lease administrative and operational facilities, which are generally longer-term, project specific facilities or yards, and construction equipment under non-cancelable operating leases. We determine if an arrangement is a lease at inception. We have lease agreements with lease and non-lease components, which are generally accounted for separately. Operating leases are included in “Operating lease assets”, “Accrued liabilities”, and “Noncurrent operating lease liabilities, net of current portion” on our Condensed Consolidated Balance Sheets. We also made an accounting policy election in which leases with an initial term of 12 months or less are not recorded on the balance sheet and lease payments are recognized in the Condensed Consolidated Statements of Income on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>Operating lease assets and operating lease liabilities are recognized at commencement date based on the present value of the future minimum lease payments over the lease term. In determining our lease term, we include options to extend or terminate the lease when it is reasonably certain that we will exercise that option. For our leases that do not provide an implicit rate, we use our incremental borrowing rate based on the information available at commencement date to determine the present value of future payments. Lease expense from minimum lease payments is recognized on a straight-line basis over the lease term.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our leases have remaining lease terms that expire at various dates through 2034, some of which may include options to extend the leases for up to 5 years. The exercise of lease extensions is at our sole discretion. Periodically, we sublease excess facility space, but any sublease income is generally not significant. Our lease agreements do not contain any material residual value guarantees or material restrictive covenants.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 38,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,926</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,352</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes short-term leases which are immaterial. </span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_XmnmT5x_6kisevlUfQIV3A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,411</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 327,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 263,454</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 443,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 359,865</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of lease expense are as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="color:#0563c1;font-family:'Calibri','Helvetica','sans-serif';font-size:14pt;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.35%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Three Months Ended September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:27.75%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Nine Months Ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.64%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.06%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:40.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease expense (1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.4%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.78%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 38,156</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 31,370</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,926</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.39%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 79,352</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">________________________________________</p><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">(1)</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Includes short-term leases which are immaterial. </span></td></tr></table> 38156000 31370000 109926000 79352000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our operating lease liabilities are reported on the Condensed Consolidated Balance Sheets as follows (in thousands):</p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">September 30, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.53%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_XmnmT5x_6kisevlUfQIV3A;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">Accrued liabilities</span></span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,743</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 96,411</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Noncurrent operating lease liabilities, net of current portion</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 327,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 263,454</p></td></tr><tr><td style="vertical-align:bottom;width:62.84%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 443,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.03%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.84%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.69%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 359,865</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 115743000 96411000 327297000 263454000 443040000 359865000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 13—Commitments and Contingencies</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Legal proceedings </span><b style="font-weight:bold;">— </b>We are subject to claims and legal proceedings from time to time arising out of our business. We accrue for loss contingencies when we conclude that a loss from such claims or legal proceedings is probable and the amount is reasonably estimable. When only a range of amounts is reasonably estimable and no amount within the range is more likely than another, the low end of the range is recorded. While the ultimate amount of liability incurred in any of these matters is dependent on future developments, in our opinion, the recorded liability is adequate to cover the future payment of such liability and claims. Any adjustments to the recorded liability will be reflected in earnings in the periods in which such adjustments become known. In determining whether it is possible to provide a reasonably estimable amount of possible loss, or range of possible loss, we review and evaluate our litigation and regulatory matters on a quarterly basis in light of potentially relevant factual and legal developments. If we determine an unfavorable outcome is not probable, or probable but not reasonably estimable, we do not accrue for a potential loss contingency, but the matter, if potentially material, is disclosed below.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Management is unable to ascertain the ultimate outcome of claims and legal proceedings, and unfavorable or unexpected outcomes could result in additional expense that could be significant to results of operations in a particular year or quarter. However, after taking into consideration relevant factors concerning these matters, management believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a material adverse effect on our consolidated results of operations, financial condition or cash flow.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Bonding —</span> As of September 30, 2024 and December 31, 2023, we had bid and completion bonds issued and outstanding totaling approximately $7.4 billion and $5.9 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.9 billion and $2.7 billion as of September 30, 2024, and December 31, 2023, respectively.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 7400000000 5900000000 2900000000 2700000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 14—Reportable Segments</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our current reportable segments are the Utilities segment and the Energy segment.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Each of our reportable segments is composed of similar business units that specialize in services unique to the segment. Driving the end-user focused segments are differences in the economic characteristics of each segment, the nature of the services provided by each segment; the production processes of each segment, the type or class of customer using the segment’s services, the methods used by the segment to provide the services, and the regulatory environment of each segment’s customers.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The classification of revenue and gross profit for segment reporting purposes can at times require judgment on the part of management. Our segments may perform services across industries or perform joint services for customers in multiple industries. To determine reportable segment gross profit, certain allocations, including allocations of shared and indirect costs, such as facility costs, equipment costs and indirect operating expenses, were made.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a brief description of our reportable segments:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Utilities segment operates throughout the United States and specializes in a range of services, including the installation and maintenance of new and existing natural gas and electric utility distribution and transmission systems, and communications systems.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The Energy segment operates throughout the United States and Canada and specializes in a range of services that include engineering, procurement, construction, refining, site development services for data centers, liquified natural gas plant construction, highway and bridge construction, demolition, site work, soil stabilization, mass excavation, flood control, upgrades, repairs, outages, pipeline construction and maintenance, pipeline integrity services, and maintenance services for entities in the renewable energy and energy storage, renewable fuels, and petroleum and petrochemical industries, as well as state departments of transportation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Total assets by segment is not presented as our Chief Operating Decision Maker as defined by ASC 280, <i style="font-style:italic;">Segment Reporting</i>, does not review or allocate resources based on segment assets.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:59.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.19%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:59.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.67%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:69.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 87,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 64,654</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.9%</p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 111,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.3%</p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 198,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 173,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.4%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.59%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:69.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 177,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 164,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.0%</p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 340,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 266,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.1%</p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 518,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 430,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.3%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Goodwill</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The amount of goodwill recorded by each segment as of September 30, 2024 and December 31, 2023 is presented in Note 5 – “<i style="font-style:italic;">Goodwill and Intangible Assets”</i>. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-line:underline;text-decoration-style:solid;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Geographic Region — Revenue and Total Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The majority of our revenue is derived from customers in the United States with approximately 4.9% and 5.6% generated from sources outside of the United States during the nine months ended September 30, 2024 and 2023, respectively, principally in Canada. As of September 30, 2024 and December 31, 2023, approximately 3.4% and 3.9%, respectively, of total assets were located outside of the United States, principally in Canada.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Revenue</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.21%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:59.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.54%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 666,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 650,664</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,010,858</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 887,743</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,012)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (8,921)</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.95%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,649,086</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.94%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,529,486</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:71.19%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:59.32%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.55%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:27.52%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,774,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,833,665</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,931,928</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,394,114</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intersegment eliminations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (81,382)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (28,019)</p></td></tr><tr><td style="vertical-align:bottom;width:36.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.96%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,625,508</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.58%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:24.93%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,199,760</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"> <span style="font-style:italic;font-weight:bold;text-decoration-color:#000000;text-decoration-line:underline;text-decoration-style:solid;">Segment Gross Profit</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;line-height:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Gross profit by segment was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.67%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:69.47%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the three months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 87,026</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">13.1%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 64,654</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.9%</p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 111,535</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 109,241</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.3%</p></td></tr><tr><td style="vertical-align:bottom;width:26.83%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 198,561</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">12.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 173,895</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.4%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:69.59%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="9" style="vertical-align:bottom;white-space:nowrap;width:69.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">For the nine months ended September 30, </b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2024</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:32.87%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">Segment</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:17.74%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Gross Profit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Utilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 177,666</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 164,244</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">9.0%</p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Energy</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 340,981</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 266,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.1%</p></td></tr><tr><td style="vertical-align:bottom;width:26.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 518,647</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.49%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">11.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.71%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:15.02%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 430,891</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">10.3%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 666240000 650664000 1010858000 887743000 -28012000 -8921000 1649086000 1529486000 1774962000 1833665000 2931928000 2394114000 -81382000 -28019000 4625508000 4199760000 87026000 0.131 64654000 0.099 111535000 0.110 109241000 0.123 198561000 0.120 173895000 0.114 177666000 0.100 164244000 0.090 340981000 0.116 266647000 0.111 518647000 0.112 430891000 0.103 0.049 0.056 0.034 0.039 false false false false