0001558370-24-001719.txt : 20240227 0001558370-24-001719.hdr.sgml : 20240227 20240226174225 ACCESSION NUMBER: 0001558370-24-001719 CONFORMED SUBMISSION TYPE: 10-K PUBLIC DOCUMENT COUNT: 114 CONFORMED PERIOD OF REPORT: 20231231 FILED AS OF DATE: 20240227 DATE AS OF CHANGE: 20240226 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-K SEC ACT: 1934 Act SEC FILE NUMBER: 001-34145 FILM NUMBER: 24680605 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-K 1 prim-20231231x10k.htm 10-K
http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrenthttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent0001361538--12-312023FYfalsehttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrentP1YP1Y0.28P3YP3YP3YP15YP15YP1Yhttp://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrenthttp://fasb.org/us-gaap/2023#OtherAssetsNoncurrenthttp://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNethttp://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrentP3Y00013615382023-11-3000013615382022-02-2800013615382021-11-300001361538prim:EquityPlans2013And2023Member2023-01-012023-12-310001361538prim:EquityPlans2013And2023Member2022-01-012022-12-310001361538prim:EquityPlans2013And2023Member2021-01-012021-12-310001361538us-gaap:RestrictedStockUnitsRSUMember2023-01-012023-12-310001361538us-gaap:CommonStockMember2023-01-012023-12-310001361538us-gaap:RestrictedStockUnitsRSUMember2022-01-012022-12-310001361538us-gaap:CommonStockMember2022-01-012022-12-310001361538us-gaap:RestrictedStockUnitsRSUMember2021-01-012021-12-310001361538us-gaap:CommonStockMember2021-01-012021-12-310001361538us-gaap:RetainedEarningsMember2023-12-310001361538us-gaap:AdditionalPaidInCapitalMember2023-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-12-310001361538us-gaap:RetainedEarningsMember2022-12-310001361538us-gaap:AdditionalPaidInCapitalMember2022-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-12-310001361538us-gaap:RetainedEarningsMember2021-12-310001361538us-gaap:AdditionalPaidInCapitalMember2021-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-12-310001361538us-gaap:RetainedEarningsMember2020-12-310001361538us-gaap:AdditionalPaidInCapitalMember2020-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2020-12-310001361538us-gaap:CommonStockMember2023-12-310001361538us-gaap:CommonStockMember2022-12-310001361538us-gaap:CommonStockMember2021-12-310001361538us-gaap:CommonStockMember2020-12-310001361538prim:EquityPlan2023Member2023-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberprim:EquityPlans2013And2023Member2021-01-012021-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberprim:EquityPlans2013And2023Member2022-12-310001361538us-gaap:PhantomShareUnitsPSUsMember2022-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberprim:EquityPlans2013And2023Member2022-01-012022-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheTwoMember2023-01-012023-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheThreeMember2023-01-012023-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberus-gaap:ShareBasedCompensationAwardTrancheOneMember2023-01-012023-12-310001361538srt:MinimumMember2025-01-012023-12-310001361538srt:MaximumMember2025-01-012023-12-3100013615382024-01-012023-12-310001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2023-01-012023-12-310001361538us-gaap:FixedPriceContractMemberprim:EnergySegmentMember2023-01-012023-12-310001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2023-01-012023-12-310001361538prim:UnitPriceContractsMemberprim:EnergySegmentMember2023-01-012023-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-01-012023-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2023-01-012023-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2023-01-012023-12-310001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2023-01-012023-12-310001361538prim:CostReimbursableContractsMemberprim:EnergySegmentMember2023-01-012023-12-310001361538us-gaap:TimeAndMaterialsContractMember2023-01-012023-12-310001361538us-gaap:FixedPriceContractMember2023-01-012023-12-310001361538prim:UnitPriceContractsMember2023-01-012023-12-310001361538prim:NonMasterServiceAgreementCustomersMember2023-01-012023-12-310001361538prim:MasterServiceAgreementCustomersMember2023-01-012023-12-310001361538prim:CostReimbursableContractsMember2023-01-012023-12-310001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2022-01-012022-12-310001361538us-gaap:FixedPriceContractMemberprim:EnergySegmentMember2022-01-012022-12-310001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2022-01-012022-12-310001361538prim:UnitPriceContractsMemberprim:EnergySegmentMember2022-01-012022-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-01-012022-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2022-01-012022-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2022-01-012022-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2022-01-012022-12-310001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2022-01-012022-12-310001361538prim:CostReimbursableContractsMemberprim:EnergySegmentMember2022-01-012022-12-310001361538us-gaap:TimeAndMaterialsContractMember2022-01-012022-12-310001361538us-gaap:FixedPriceContractMember2022-01-012022-12-310001361538prim:UnitPriceContractsMember2022-01-012022-12-310001361538prim:NonMasterServiceAgreementCustomersMember2022-01-012022-12-310001361538prim:MasterServiceAgreementCustomersMember2022-01-012022-12-310001361538prim:CostReimbursableContractsMember2022-01-012022-12-310001361538us-gaap:FixedPriceContractMemberprim:UAndDSegmentMember2021-01-012021-12-310001361538us-gaap:FixedPriceContractMemberprim:EnergySegmentMember2021-01-012021-12-310001361538prim:UnitPriceContractsMemberprim:UAndDSegmentMember2021-01-012021-12-310001361538prim:UnitPriceContractsMemberprim:EnergySegmentMember2021-01-012021-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-01-012021-12-310001361538prim:NonMasterServiceAgreementCustomersMemberprim:EnergySegmentMember2021-01-012021-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:UAndDSegmentMember2021-01-012021-12-310001361538prim:MasterServiceAgreementCustomersMemberprim:EnergySegmentMember2021-01-012021-12-310001361538prim:CostReimbursableContractsMemberprim:UAndDSegmentMember2021-01-012021-12-310001361538prim:CostReimbursableContractsMemberprim:EnergySegmentMember2021-01-012021-12-310001361538us-gaap:TimeAndMaterialsContractMember2021-01-012021-12-310001361538us-gaap:FixedPriceContractMember2021-01-012021-12-310001361538prim:UnitPriceContractsMember2021-01-012021-12-310001361538prim:NonMasterServiceAgreementCustomersMember2021-01-012021-12-310001361538prim:MasterServiceAgreementCustomersMember2021-01-012021-12-310001361538prim:CostReimbursableContractsMember2021-01-012021-12-310001361538srt:MinimumMemberus-gaap:OfficeEquipmentMember2023-12-310001361538srt:MinimumMemberprim:ConstructionEquipmentMember2023-12-310001361538srt:MaximumMemberus-gaap:OfficeEquipmentMember2023-12-310001361538srt:MaximumMemberprim:ConstructionEquipmentMember2023-12-310001361538srt:MinimumMember2023-12-310001361538srt:MinimumMember2022-01-010001361538srt:MaximumMember2022-01-010001361538srt:MinimumMember2021-12-310001361538srt:MaximumMember2021-12-310001361538us-gaap:OfficeEquipmentMember2023-12-310001361538us-gaap:LeaseholdImprovementsMember2023-12-310001361538us-gaap:LandAndBuildingMember2023-12-310001361538us-gaap:EnergyEquipmentMember2023-12-310001361538us-gaap:ConstructionInProgressMember2023-12-310001361538prim:ConstructionEquipmentMember2023-12-310001361538us-gaap:OfficeEquipmentMember2022-12-310001361538us-gaap:LeaseholdImprovementsMember2022-12-310001361538us-gaap:LandAndBuildingMember2022-12-310001361538us-gaap:EnergyEquipmentMember2022-12-310001361538us-gaap:ConstructionInProgressMember2022-12-310001361538prim:ConstructionEquipmentMember2022-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2023-01-012023-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2022-01-012022-12-310001361538us-gaap:AccumulatedOtherComprehensiveIncomeMember2021-01-012021-12-310001361538prim:SouthernCaliforniaPipetradesTrustFundsMember2023-01-012023-12-310001361538prim:PipelineIndustryBenefitFundMember2023-01-012023-12-310001361538prim:OperatingEngineerTrustFundsMember2023-01-012023-12-310001361538prim:MinnesotaLaborersPensionFundMember2023-01-012023-12-310001361538prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember2023-01-012023-12-310001361538prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember2023-01-012023-12-310001361538prim:CentralPensionFundMember2023-01-012023-12-310001361538prim:SouthernCaliforniaPipetradesTrustFundsMember2022-01-012022-12-310001361538prim:PipelineIndustryBenefitFundMember2022-01-012022-12-310001361538prim:OperatingEngineerTrustFundsMember2022-01-012022-12-310001361538prim:MinnesotaLaborersPensionFundMember2022-01-012022-12-310001361538prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember2022-01-012022-12-310001361538prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember2022-01-012022-12-310001361538prim:CentralPensionFundMember2022-01-012022-12-310001361538prim:SouthernCaliforniaPipetradesTrustFundsMember2021-01-012021-12-310001361538prim:PipelineIndustryBenefitFundMember2021-01-012021-12-310001361538prim:OperatingEngineerTrustFundsMember2021-01-012021-12-310001361538prim:MinnesotaLaborersPensionFundMember2021-01-012021-12-310001361538prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember2021-01-012021-12-310001361538prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember2021-01-012021-12-310001361538prim:CentralPensionFundMember2021-01-012021-12-310001361538us-gaap:LoansPayableMember2021-01-150001361538us-gaap:RevolvingCreditFacilityMember2022-08-010001361538us-gaap:RevolvingCreditFacilityMember2017-09-290001361538us-gaap:LetterOfCreditMember2017-09-290001361538us-gaap:RevolvingCreditFacilityMember2023-12-310001361538prim:CreditFacilityWithCanadianBankMember2023-12-310001361538prim:ForeignLettersOfCreditMember2023-12-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2023-12-310001361538prim:UAndDSegmentMember2023-12-310001361538prim:EnergySegmentMember2023-12-310001361538prim:UAndDSegmentMember2022-12-310001361538prim:EnergySegmentMember2022-12-310001361538prim:UAndDSegmentMember2021-12-310001361538prim:EnergySegmentMember2021-12-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2022-01-012022-12-310001361538us-gaap:TradeNamesMember2023-12-310001361538us-gaap:CustomerRelationshipsMember2023-12-310001361538us-gaap:TradeNamesMember2022-12-310001361538us-gaap:CustomerRelationshipsMember2022-12-310001361538us-gaap:EmployeeStockMember2023-01-012023-12-310001361538us-gaap:EmployeeStockMember2022-01-012022-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberprim:EquityPlans2013And2023Member2023-12-310001361538us-gaap:PhantomShareUnitsPSUsMember2023-12-310001361538us-gaap:RestrictedStockUnitsRSUMemberprim:EquityPlans2013And2023Member2023-01-012023-12-310001361538us-gaap:PhantomShareUnitsPSUsMember2023-01-012023-12-310001361538country:CA2023-01-012023-12-3100013615382023-07-012023-09-3000013615382023-04-012023-06-3000013615382023-01-012023-03-3100013615382022-10-012022-12-3100013615382022-07-012022-09-3000013615382022-04-012022-06-3000013615382022-01-012022-03-310001361538us-gaap:RetainedEarningsMember2023-01-012023-12-310001361538us-gaap:RetainedEarningsMember2022-01-012022-12-310001361538prim:SecondAgreementMemberus-gaap:InterestRateSwapMember2023-12-310001361538prim:FirstAgreementMemberus-gaap:InterestRateSwapMember2023-12-310001361538prim:SecondAgreementMemberus-gaap:InterestRateSwapMember2023-01-310001361538prim:FirstAgreementMemberus-gaap:InterestRateSwapMember2018-09-130001361538us-gaap:InterestRateSwapMember2023-01-012023-12-310001361538us-gaap:InterestRateSwapMember2022-01-012022-12-310001361538us-gaap:InterestRateSwapMember2021-01-012021-12-310001361538us-gaap:LoansPayableMember2018-09-130001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel2Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001361538us-gaap:InterestRateSwapMember2023-12-310001361538us-gaap:InterestRateSwapMember2022-12-310001361538us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember2022-01-012022-12-310001361538prim:UnitedStatesDefinedContributionPlanMembercountry:US2023-01-012023-12-310001361538prim:UnitedStatesDefinedContributionPlanMembercountry:US2022-01-012022-12-310001361538prim:UnitedStatesDefinedContributionPlanMembercountry:US2021-01-012021-12-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2022-12-310001361538srt:MinimumMemberus-gaap:SecuredDebtMember2023-12-310001361538srt:MaximumMemberus-gaap:SecuredDebtMember2023-12-310001361538srt:MinimumMemberus-gaap:MortgagesMember2021-12-310001361538srt:MaximumMemberus-gaap:MortgagesMember2021-12-310001361538us-gaap:LoansPayableMember2022-08-010001361538us-gaap:LoansPayableMember2021-09-290001361538us-gaap:MortgagesMember2023-12-310001361538us-gaap:LoansPayableMember2023-12-310001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2023-12-310001361538us-gaap:RevolvingCreditFacilityMember2022-12-310001361538us-gaap:MortgagesMember2022-12-310001361538us-gaap:LoansPayableMember2022-12-310001361538prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member2022-12-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMemberprim:DebtInstrumentVariableRateFederalFundsRateMember2022-08-012022-08-010001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2022-01-012022-12-310001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2021-01-012021-12-310001361538prim:SecondaryOfferingMember2021-03-3100013615382023-11-022023-11-0200013615382023-08-022023-08-0200013615382023-05-032023-05-0300013615382023-02-222023-02-2200013615382022-11-032022-11-0300013615382022-08-032022-08-0300013615382022-05-042022-05-0400013615382022-02-242022-02-2400013615382021-11-032021-11-0300013615382021-08-032021-08-0300013615382021-05-042021-05-0400013615382021-02-192021-02-190001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2023-12-310001361538us-gaap:FairValueInputsLevel1Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001361538prim:PlhGroupIncMemberus-gaap:TradeNamesMember2022-08-010001361538prim:PlhGroupIncMemberus-gaap:CustomerRelationshipsMember2022-08-010001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:TradeNamesMember2021-01-150001361538prim:FutureInfrastructureHoldingsLlcMemberus-gaap:CustomerRelationshipsMember2021-01-150001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-152021-12-310001361538prim:AlbertaScrewPilesLtdMember2023-01-012023-12-310001361538prim:PlhGroupIncMember2022-08-012022-12-310001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-012021-12-310001361538prim:PlhAndFihMember2023-01-012023-12-310001361538prim:EmployeesOfFutureInfrastructureHoldingsLlcMember2021-01-012021-12-310001361538us-gaap:AdditionalPaidInCapitalMember2023-01-012023-12-310001361538us-gaap:AdditionalPaidInCapitalMember2022-01-012022-12-310001361538prim:PlhGroupIncMemberus-gaap:TradeNamesMember2022-08-012022-08-010001361538prim:PlhGroupIncMemberus-gaap:CustomerRelationshipsMember2022-08-012022-08-010001361538srt:MaximumMember2023-12-310001361538srt:MinimumMember2023-01-012023-12-310001361538srt:MaximumMember2023-01-012023-12-310001361538us-gaap:EmployeeStockMember2022-05-012022-05-310001361538srt:MinimumMemberus-gaap:PhantomShareUnitsPSUsMember2023-01-012023-12-310001361538srt:MaximumMemberus-gaap:PhantomShareUnitsPSUsMember2023-01-012023-12-310001361538prim:PlhGroupIncMember2023-01-012023-12-310001361538prim:FutureInfrastructureHoldingsLlcMember2023-01-012023-12-310001361538us-gaap:LandBuildingsAndImprovementsMember2022-06-222022-06-220001361538prim:NonUnitedStatesMember2023-01-012023-12-310001361538prim:NonUnitedStatesMember2022-01-012022-12-310001361538prim:NonUnitedStatesMember2021-01-012021-12-310001361538prim:SecondaryOfferingMember2021-03-012021-03-310001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2018-08-032018-08-030001361538prim:BCommConstructorLlcMember2022-06-082022-06-080001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-152021-01-150001361538prim:AlbertaScrewPilesLtdMember2022-03-012022-03-010001361538us-gaap:LoansPayableMember2018-09-132018-09-130001361538us-gaap:LoansPayableMember2023-01-310001361538prim:FutureInfrastructureHoldingsLlcMember2021-04-012021-12-310001361538prim:UAndDSegmentMember2023-01-012023-12-310001361538prim:EnergySegmentMember2023-01-012023-12-310001361538prim:UAndDSegmentMember2022-01-012022-12-310001361538prim:EnergySegmentMember2022-01-012022-12-310001361538prim:UAndDSegmentMember2021-01-012021-12-310001361538prim:EnergySegmentMember2021-01-012021-12-3100013615382022-01-012022-12-3100013615382021-01-012021-12-310001361538us-gaap:RetainedEarningsMember2021-01-012021-12-310001361538us-gaap:AdditionalPaidInCapitalMember2021-01-012021-12-310001361538prim:PrimorisLongTermRetentionPlanMember2023-01-012023-12-310001361538prim:PrimorisLongTermRetentionPlanMember2022-01-012022-12-310001361538prim:PrimorisLongTermRetentionPlanMember2021-01-012021-12-3100013615382020-12-310001361538us-gaap:RevolvingCreditFacilityMember2022-08-012022-08-010001361538us-gaap:LoansPayableMember2022-08-012022-08-010001361538us-gaap:LoansPayableMember2021-01-152021-01-150001361538prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember2022-08-012022-08-0100013615382021-12-310001361538us-gaap:InterestRateSwapMemberus-gaap:FairValueInputsLevel3Memberus-gaap:FairValueMeasurementsRecurringMember2022-12-310001361538prim:AlbertaScrewPilesLtdMember2022-03-010001361538prim:TopTenCustomersMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001361538prim:TopTenCustomersMembersrt:MinimumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001361538prim:TopTenCustomersMembersrt:MaximumMemberus-gaap:SalesRevenueNetMemberus-gaap:CustomerConcentrationRiskMember2023-01-012023-12-310001361538prim:PlhGroupIncMember2022-08-012022-08-0100013615382021-01-152021-01-150001361538prim:BCommConstructorLlcMember2022-06-080001361538prim:PlhGroupIncMember2022-08-010001361538prim:FutureInfrastructureHoldingsLlcMember2021-01-150001361538prim:PlhGroupIncMember2022-10-012023-06-300001361538prim:PlhAndFihMember2022-01-012022-12-310001361538prim:PlhAndFihMember2021-01-012021-12-310001361538prim:AlbertaScrewPilesLtdMember2023-03-3100013615382023-12-3100013615382022-12-3100013615382023-10-012023-12-3100013615382023-06-3000013615382024-02-1900013615382023-01-012023-12-31xbrli:sharesiso4217:USDxbrli:pureprim:itemprim:customerprim:instrumentiso4217:USDxbrli:sharesiso4217:CADprim:segment

UNITED STATES

SECURITIES AND EXCHANGE COMMISSION

WASHINGTON, D.C. 20549

FORM 10-K

(Mark One)

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

For the fiscal year ended December 31, 2023

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)

(214) 740-5600

(Registrant’s telephone number, including area code)

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

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

Indicate by check mark if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Yes  No 

Indicate by check mark if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act. Yes  No 

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

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

Indicate by check mark whether the registrant is a large accelerated filer, an accelerated filer, a non-accelerated filer, 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 has filed a report on and attestation to its management’s assessment of the effectiveness of its internal control over financial reporting under Section 404(b) of the Sarbanes-Oxley Act (15 U.S.C. 7262(b)) by the registered public accounting firm that prepared or issued its audit report.

If securities are registered pursuant to Section 12(b) of the Act, indicate by check mark whether the financial statements of the registrant included in the filing reflect the correction of an error to previously issued financial statements.

Indicate by check mark whether any of those error corrections are restatements that required a recovery analysis of incentive-based compensation received by any of the registrant’s executive officers during the relevant recovery period pursuant to §240.10D-1(b).

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

The aggregate market value of the voting common equity held by non-affiliates of the registrant was approximately $1,604.9 million based upon the closing price of such common equity as of June 30, 2023 (the last business day of the Registrant’s most recently completed second fiscal quarter). For purposes of this Annual Report on Form 10-K, in addition to those stockholders which fall within the definition of “affiliates” under Rule 405 of the Securities Act of 1933, holders of ten percent or more of the Registrant’s common stock are deemed to be affiliates.

On February 19, 2024 there were 53,436,884 shares of common stock, par value $0.0001, outstanding.

DOCUMENTS INCORPORATED BY REFERENCE

The following documents are incorporated by reference into this Annual Report on Form 10-K: Portions of the registrant’s definitive Proxy Statement for its 2024 Annual Meeting of Stockholders are incorporated by reference into Part III of this Annual Report on Form 10-K.

TABLE OF CONTENTS

Page

Part I

Item 1.

Business

4

Item 1A.

Risk Factors

11

Item 1B.

Unresolved Staff Comments

25

Item 1C.

Cybersecurity

25

Item 2.

Properties

26

Item 3.

Legal Proceedings

27

Item 4.

Mine Safety Disclosures

27

Part II

Item 5.

Market for Registrant’s Common Equity, Related Stockholder Matters and Issuer Purchases of Equity Securities

28

Item 6.

Reserved

29

Item 7.

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

30

Item 7A.

Quantitative and Qualitative Disclosures About Market Risk

50

Item 8.

Financial Statements and Supplementary Data

51

Item 9.

Changes In and Disagreements With Accountants on Accounting and Financial Disclosure

51

Item 9A.

Controls and Procedures

52

Item 9B.

Other Information

53

Item 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections

53

Part III

Item 10.

Directors, Executive Officers and Corporate Governance

54

Item 11.

Executive Compensation

54

Item 12.

Security Ownership of Certain Beneficial Owners and Management and Related Stockholder Matters

54

Item 13.

Certain Relationships and Related Transactions, and Director Independence

54

Item 14.

Principal Accountant Fees and Services

54

Part IV

Item 15.

Exhibits and Financial Statement Schedules

55

Item 16.

Form 10-K Summary

57

Signatures

58

Index to Consolidated Financial Statements

F-1

2

FORWARD-LOOKING STATEMENTS

This Annual Report on Form 10-K contains forward-looking statements within the meaning of Section 27A of the Securities Act of 1933, as amended (the “Securities Act”), 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 Gaza Strip 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.” You should read this Annual Report on Form 10-K 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 forward-looking statements. Forward-looking statements represent management’s beliefs and assumptions only as of the date of this Annual Report on Form 10-K. We assume no obligation to update forward-looking statements publicly, or to update the reasons actual results could differ materially from those anticipated in any forward-looking statements, even if new information becomes available.

3

PART I

ITEM 1. BUSINESS

Business Overview

Primoris Services Corporation (“Primoris”, the “Company”, “we”, “us”, or “our”) 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: Utilities and Energy. The structure of our reportable segments is generally focused on broad end-user markets for our services.

We have longstanding customer relationships with utility, refining, petrochemical, power, renewable energy, communications, 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.

Reportable Segments

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services 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, retrofits, 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.

4

Acquisitions

See Note 4 — “Business Combinations” of the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K for additional detail.

PLH Group, Inc. On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused infrastructure services company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets.

B Comm, LLC. On June 8, 2022, we acquired B Comm, LLC (“B Comm”) in an all-cash transaction for approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets.

Future Infrastructure Holdings, LLC. On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) in an all-cash transaction valued at approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the communications, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities.

Other acquisitions. In addition to these acquisitions, we have acquired other businesses as we continue to seek opportunities to deepen our market presence, broaden our geographic reach, and expand our service offerings. We continue to evaluate potential acquisition candidates, especially those with strong management teams and growing end markets such as renewable energy, gas and electric utilities, and communications.

Strategy

Our strategy has remained consistent from year to year and continues to emphasize the following key elements:

Growth Through Controlled Expansion. We continue to grow our Company by expanding our scope of services, leveraging our existing customer base to expand into new geographic markets, and adding new customers. In addition, we continue to evaluate acquisitions that offer growth opportunities and the ability to leverage our resources as a leading service provider to the energy, power, utility and communications industries. Our strategy also focuses on higher growth end markets such as renewable energy, utilities and communications.

Emphasis on MSA Revenue Growth and Retention of Existing Customers. In order to fully leverage our relationships with our existing customer base, we believe it is important to maintain strong customer relationships in order to drive more revenue from them. We are also focused on expanding our base of services provided under MSAs, which are generally multi-year agreements that provide visible, recurring revenue.

Ownership or Long-Term Leasing of Equipment. Many of our services are equipment intensive. The cost of construction equipment, and in some cases the availability of construction equipment, provides a significant barrier to entry into several of our businesses. We believe that our ownership or long-term leasing of a large and varied construction fleet and our maintenance facilities enhances our access to reliable equipment at a favorable cost.

Stable Work Force. Our business model emphasizes self-performance of a significant portion of our work. In both of our segments, we maintain a stable work force of skilled, experienced craft professionals, many of whom are cross-trained on projects such as pipeline and facility construction, refinery maintenance, gas and electrical distribution, and piping systems.

5

Selective Bidding. We selectively bid projects that we believe offer an opportunity to meet our profitability objectives and that may offer the opportunity to enter promising new markets. In addition, we review our bidding opportunities to attempt to minimize concentration of work with any one customer, in any one industry, or in stressed labor markets. We believe that by carefully positioning ourselves in market segments that have meaningful barriers of entry, we can continue to be competitive.

Maintain a strong balance sheet and a conservative capital structure. We have maintained a capital structure that provides access to debt financing as needed while relying on strong operating cash flows to provide the primary support for our operations. We believe this structure provides our customers, our lenders, and our bonding companies assurance of our financial capabilities. We maintain a revolving credit facility to provide letter of credit capability and, if needed, to augment our liquidity needs.

Backlog

Backlog is discussed in Item 7 “Management’s Discussion and Analysis of Financial Condition and Results of Operations” of this Annual Report on Form 10-K, which is incorporated herein by reference.

Customers

We have longstanding customer relationships with utility, refining, petrochemical, communications, midstream, downstream, and engineering companies, as well as independent power producers and transportation agencies across our core markets. We have completed major underground and industrial projects for large natural gas transmission and petrochemical companies in the United States, major electrical and gas projects for large utility companies in the United States, as well as significant projects for our engineering customers. 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 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. We often provide services under long term MSAs, which are generally multi-year agreements for specific types of work. Work performed under these contracts is typically generated through project specific work orders, ranging from repairs and new installations, to maintenance and upgrade services. These MSAs have various terms, depending on the nature of the services provided, and our customers are generally not contractually obligated to purchase an amount of services from us under the MSAs, although we do have MSAs that include minimum spend requirements, or targeted spend amounts. For the years ended December 31, 2023, 2022 and 2021, revenue derived from projects performed under MSAs was 36.7%, 45.8%, and 45.9 %, respectively.

Our customers have included the Texas Department of Transportation and Louisiana Department of Transportation and Development in the Southern United States as well as many of the leading energy and utility companies in the United States, including, among others, Enterprise Pipeline, Xcel Energy, Pacific Gas & Electric, Southern California Gas, Oncor Electric, Duke Energy, Sempra Energy, Williams, Hecate Energy, Consumers Energy, Dominion, Valero, Enel Green Power North America, ExxonMobil and Phillips 66.

Our top ten customers vary from year to year due to the nature of our business. A large construction project for a customer may result in significant revenue in one year, with significantly less revenue in subsequent years after project completion. For the years ended December 31, 2023, 2022 and 2021, 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue.

Management in each of our segments and business units is responsible for developing and maintaining successful long-term relationships with customers. Our segment and business unit management teams work with our business development group to foster existing customer relationships and better understand their needs in order to secure additional projects and increase revenue from our current customer base. Segment and business unit managers are also responsible for working with our business development group in pursuing growth opportunities with prospective new customers.

6

We believe that developing and fostering strategic relationships with customers will result in increased future opportunities. Some of our strategic relationships are in the form of long-term MSAs. However, we realize that future opportunities also require cost effective, high value bids, as pricing is a key element for most construction projects and service agreements.

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 construction and 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.

Competition

We face competition on large construction projects from both regional and national contractors, including competition from larger companies that have financial and other resources in excess of those available to us. Competitors on small construction projects range from a few large construction companies, to a variety of smaller contractors. We compete with many local and regional firms for construction services and with a number of large firms on select projects. Each business unit faces varied competition depending on the types of projects, project locations, and services offered.

We compete with different companies in different end markets. For example, competitors in our utilities markets include Quanta Services, Inc. Dycom Industries, MYR Group, and MasTec, Inc.; competitors in our industrial markets include PCL, Kiewit, Granite Construction, Performance Contractors and Boh Brothers; competitors in the renewables market include Blattner Energy, and Mortenson; and competitors in our highway services markets include Sterling Construction Company and Zachry Construction Company. In each market we may also compete with local, private companies.

We believe that the primary factors influencing competition in our industry are price, reputation for quality, safety, schedule certainty, relevant experience, availability of field supervision and skilled labor, machinery and equipment, financial strength, as well as knowledge of local markets and conditions. We believe that we have the ability to compete favorably in all of these factors.

Contract Provisions and Subcontracting

We typically structure contracts as unit-price, time and material, fixed-price or cost reimbursable plus fixed fee. A portion of our revenue is derived from MSAs, which provide a menu of available services that are utilized on an as-needed basis and are typically priced using a unit-price or on a time and material basis. The remainder of our services are generated from contracts for specific construction or installation projects, which are subject to multiple pricing options, including unit-price, time and material, fixed-price, or cost reimbursable plus fixed fee. Under a fixed-price contract, we provide labor, equipment and services required by a project for a competitively bid or negotiated fixed price. Under a unit-price contract, we are committed to providing materials or services required by a project at a fixed price per unit of work. While the unit-price contract shifts the risk of estimating the quantity of units required for a particular project to the customer, any increase in our unit cost over the unit price bid, whether due to inflation, inefficiency, faulty estimates or other factors, is borne by us. Significant materials required under a fixed-price or unit-price contract, such as pipe, turbines, boilers and vessels, are typically supplied by the customer.

7

Substantially all of our gas and electric distribution services are provided pursuant to renewable MSAs on a “unit-price” basis. Fees on unit-price contracts are negotiated and earned based on units completed. Historically, substantially all of the gas and electric distribution customers have renewed their MSAs with us. Facility maintenance services, such as regularly scheduled and emergency repair work, are provided on an ongoing basis at predetermined rates, or on a time and material basis.

Construction contracts are primarily obtained through competitive bidding or through negotiations with customers. We are typically invited to bid on projects undertaken by customers who maintain pre-qualified contractor lists. Contractors are selected for the pre-approved contractor lists by virtue of their prior performance for such customers, as well as their experience, reputation for quality, safety record, financial strength, competitiveness, and bonding capacity.

In evaluating bid opportunities, we consider such factors as the customer, the geographic location of the work, the availability of labor, our competitive advantage or disadvantage relative to other likely bidders, our current and projected workload, the likelihood of additional work, our history with the client, contract terms, and the project’s cost and profitability estimates. We use sophisticated estimating systems and our estimating staff has significant experience in the construction industry. The project estimates form the basis of a project budget against which performance is tracked through a project cost system, thereby enabling management to monitor a project’s cost and schedule performance. Project costs are accumulated and monitored regularly against billings and payments to ensure proper tracking of cash flow on the project.

Most contracts provide for termination of the contract at the convenience of the owner or contractor. The terms associated with termination for convenience typically cover the reimbursement of all of our costs through a specific date, as well as all reasonable costs associated with demobilizing from the jobsite. In addition, contracts may be subject to certain completion schedule requirements which may include liquidated damages in the event schedules are not met.

We act as prime contractor on a majority of the construction projects we undertake. In the construction industry, the prime contractor is normally responsible for the execution of the entire contract scope of work, including subcontract work. Thus, we are potentially subject to increased costs and reputational risks associated with the failure of one or more of our subcontractors to perform their respective scope as defined in the contract. While we subcontract specialized activities such as blasting, hazardous waste removal and selected electrical/instrumentation work, we self-perform most of the work on our projects with our own resources, including field supervision, labor, and equipment.

Risk Management, Insurance and Bonding

We maintain a comprehensive schedule of insurance policies covering a broad range of exposures arising from our construction and general business operations. All of our policies have been procured with limits and deductibles or self-insured retention amounts up to $1,000,000 per occurrence. In addition, we maintain certain self-insured retentions in our insurance policies in excess of our general and auto liability policies.

We maintain a diligent safety and risk management program that has resulted in a favorable loss experience factor. Through our safety director and the employment of a large staff of regional and site-specific safety managers, we have been able to effectively assess and control potential losses and liabilities in both the pre-construction and performance phases of our projects. Though we strongly focus on safety in the workplace, we cannot give assurances that we can prevent or reduce all injuries and/or claims in our workplace.

In connection with our business, we generally are required to provide various types of surety bonds guaranteeing our performance under certain public and private sector contracts. Our ability to obtain surety bonds depends upon our capitalization, working capital, backlog, past performance, management expertise and other factors, and the surety company’s current underwriting standards. To date, we have obtained the level of surety bonds necessary to support our business.

8

Regulation and Environmental Requirements

Our operations are subject to compliance with regulatory requirements of federal, state, and municipal agencies and authorities, and international laws and regulations including with respect to:

Licensing, permitting and inspection requirements applicable to construction projects;
Worker safety, including regulations established by the Occupational Safety and Health Administration;
Wage and hour regulations and regulations associated with our collective bargaining agreements and unionized workforce;
Transportation of equipment and materials, including licensing and permitting requirements, as well as aviation activities;
Building and electrical codes;
Applicable U.S. and non-U.S. anti-corruption regulations;
Immigration regulations applicable to the U.S. and cross-border employment;
Labor relations and affirmative action;
Special bidding, procurement and other requirements on government projects; and
Protection of the environment, including regulations established by the Environmental Protection Agency, state agencies and other foreign environmental regulators.

We believe that we have all the licenses and permits required to conduct our operations and that we are in substantial compliance with applicable regulatory requirements.

We are subject to numerous federal, state, local and international environmental laws and regulations governing our operations, including the handling, transportation and disposal of non-hazardous and hazardous substances and wastes, as well as emissions and discharges into the environment, including discharges to air, surface water, groundwater and soil. We have a substantial investment in construction equipment that utilizes diesel fuel, which could be negatively impacted by regulations related to greenhouse gas emissions from such sources.

We also are subject to laws and regulations that impose liability and cleanup responsibility for releases of hazardous substances into the environment. Under some of these laws and regulations, liability can be imposed for cleanup of previously owned or leased properties, or properties to which hazardous substances or wastes were sent by current, or former operations at our facilities, regardless of whether we directly caused the contamination or violated any law at the time of discharge, or disposal. The presence of contamination from such substances or wastes could interfere with ongoing operations, or affect our ability to sell, lease or use our properties as collateral for financing.

We continually evaluate whether we must take additional steps at our locations to ensure compliance with environmental laws. While compliance with applicable regulatory requirements has not materially adversely affected our operations in the past, there can be no assurance these requirements will not change, and compliance will not adversely affect our operations in the future. In addition, tighter regulation for the protection of the environment and other factors may make it more difficult to obtain new permits and renewal of existing permits may be subject to more restrictive conditions than currently exist.

Climate Change-Related Impacts

Our management considers climate-related risks and opportunities in connection with its long-term strategic planning and enterprise risk management process. While the overall impact on our operations continues to evolve, various aspects of climate change, as well as market and societal concerns about the future impact of climate change, have resulted and are expected to continue to result in operational opportunities and challenges. These opportunities and challenges arise from the physical risks associated with changes in climate, as well as technological advances, market developments and additional regulatory and compliance costs.

Our operating results can be significantly influenced by the climates in which we operate as well as severe weather events. Changes in climate could result in more accommodating weather patterns for greater periods of time in certain areas, which may enable us to increase our productivity in those areas. Physical risks associated with climate change have also increased hazards associated with certain of our operations, which in turn has increased the potential for liability and increased the costs associated with such operations. Additionally, new legislation or regulation related to

9

climate change could increase our costs. However, due to climate change risks some utility customers are transitioning toward more sustainable sources of power generation, such as renewables, which can provide additional opportunities for our Energy segment. For additional information regarding the risks and opportunities described above, see Risks Related to Operating Our Business in Item 1A. “Risk Factors” of this Annual Report on Form 10-K.

Human Capital Management

Employee Profile. We believe that our employees are vital to successfully completing our projects. Our ability to maintain sufficient, continuous work for hourly employees helps us to maintain a stable, loyal workforce with an understanding of our policies and culture, which contributes to our strong performance, safety and quality record. Our talent acquisition team uses internal and external resources to recruit highly skilled and talented workers, and we encourage employee referrals for open positions. In addition, we have partnerships with technical schools where we recruit and hire craft employees.

Several of our subsidiaries have operations that are unionized through the negotiation and execution of collective bargaining agreements. As of December 31, 2023, approximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements. These collective bargaining agreements have varying terms and are subject to renegotiation upon expiration. We have not experienced recent work stoppages and believe our employee and union relations are good.

As of December 31, 2023, we employed 2,773 salaried employees and 11,285 hourly employees. The total number of hourly personnel employed is subject to the volume of infrastructure services and construction work in progress.

Diversity and Inclusion. We employ a dynamic mix of people to create the strongest company possible. Our policy prohibits discrimination in employment on the basis of age, culture, gender, national origin, sexual orientation, physical appearance, race or religion. We are an inclusive, diverse company with people of all backgrounds, experiences, cultures, styles and talents. We have a Diversity and Inclusion committee whose goal is to identify and advance efforts that aim to create and foster a workplace that is reflective of, and contributes to, the diverse communities in which we do business. The committee promotes awareness of diversity and inclusion issues in support of company-wide efforts to build a more inclusive and diverse workplace.

Professional and Career Development. We strive to develop and sustain a skilled labor advantage by providing thorough on-and off-site training programs, project management training, and leadership development programs. We have company-owned training facilities that support continuous skills training, including several locations where we train electric apprentices to become journeymen. We offer multiple levels of leadership programs designed to meet the needs of our employees and support the development of best-in-class talent. Our five cornerstone programs are Foreman Foundations, Extreme Ownership, Hunt for Leadership Success, Next Level Leadership, and The Leadership Experience. From Foreman Foundations where employees learn the fundamentals of transitioning from a crew member to a crew leader through The Leadership Experience where emerging leaders explore values-based leadership and sharpen their strategic leadership skills, our Learning and Development programs are designed to support Primoris’ vision, mission, and values and promote the growth of our greatest assets, our employees.

Safety, Health and Wellness. We are committed to the health, safety and wellness of our employees, and we pride ourselves on above average workplace safety. We track and maintain several key safety metrics, which senior management reviews monthly, and we evaluate management on their ability to provide safe working conditions on job sites and to create a strong safety culture. Lost Time Injury Rate (“LTIR”) tracks the rate of injuries in the workplace which results in the employee having to take a minimum of one full working day away from work. For the year ended December 31, 2023, our LTIR rate was 0.07 compared to an industry average of 1.0 per the U.S. Bureau of Labor construction industry statistics. Total Recordable Incident Rate (“TRIR”) tracks the total number of workplace injuries which rise to the level of Occupational Safety and Health Administration recordability, whether leading to time away from work or not. TRIR is reported as the number of workplace safety incidents per 100 full-time workers during a one-year period. For the year ended December 31, 2023, our TRIR rate was 0.46 compared to an industry average of 2.4 per the U.S. Bureau of Labor construction industry statistics.

10

Compensation and Benefits. As part of our compensation philosophy, we believe that we must offer and maintain market competitive total rewards programs for our employees in order to attract and retain superior talent. Our compensation programs are generally designed to align employee compensation with market practices and our performance. With respect to our executive officers, business unit management, and other senior leadership, compensation programs consist of both fixed and variable components. The fixed portion is generally set at market levels, with variable compensation designed to reward employees based on company and individual performance. In connection with these compensation programs, we grant stock-based compensation to management and key personnel at the business unit levels, which we believe helps to align incentives throughout our organization. We also enter into employment agreements with our executive officers and certain other key personnel. For additional information regarding our executive compensation, please see the information required in Item 11 “Executive Compensation,” which will be incorporated by reference from our definitive proxy statement related to our 2024 Annual Meeting of Stockholders.

We also provide additional benefits to our non-union employees, including a Company matched 401(k) Plan, healthcare and insurance benefits, health savings and flexible spending accounts, paid time off, family leave, flexible work schedules, and employee assistance programs.

Code of Conduct. All of our employees are subject to our Code of Conduct, which includes guidance and requirements concerning, among other things, general business ethics, including policies concerning the environment, conflicts of interest, anti-corruption, harassment and discrimination, data security and privacy, insider trading and the Anti-Bribery & Corruption Policy, which includes guidance and requirements concerning, among other things, interactions with government officials; provision of gifts, entertainment and hospitality; and charitable and political contributions.

Website Access and Other Information

Our website address is www.prim.com. You may obtain free electronic copies of our Annual Reports on Form 10-K, Quarterly Reports on Form 10-Q, Current Reports on Form 8-K, and any amendments to these reports through our website under the “Investors” tab or through the website of the Securities and Exchange Commission (the “SEC”) at www.sec.gov. These reports are available on our website as soon as reasonably practicable after we electronically file them with, or furnish them to, the SEC. In addition, the charters of our Audit Committee, Compensation Committee, Nominating and Corporate Governance Committee, and Strategy and Risk Committee are posted on our website under the “Investors/Governance Documents” tab. Also posted on our website under the “Investors/Governance Documents” tab are our Code of Conduct and charters for our Environmental, Social and Governance Committee, Enterprise Risk Management Committee, Cyber Security Steering Committee, and Diversity and Inclusion Committee along with our Human Rights and Corporate Environmental policies. We intend to disclose on our website any amendments or waivers to our Code of Conduct.

We will make available to any stockholder, without charge, copies of our Annual Report on Form 10-K as filed with the SEC. For copies of this or any other information, stockholders should submit a request in writing to Primoris Services Corporation, Inc., Attn: Corporate Secretary, 2300 N. Field Street, Suite 1900, Dallas, TX 75201.

This Annual Report on Form 10-K and our website may contain information provided by other sources that we believe are reliable. However, we cannot assure you that the information obtained from other sources is accurate or complete. No information on our website is incorporated by reference herein and should not be considered part of this Annual Report on Form 10-K.

ITEM 1A. RISK FACTORS

Our business is subject to a variety of risks and uncertainties, many of which are described below. Additional risks and uncertainties not presently known to us or that we currently believe to be immaterial also may have a material adverse effect on our business in the future. This Annual Report on Form 10-K includes projections, assumptions and beliefs that are intended to be “forward looking statements” and should be read in conjunction with the discussion of “Forward Looking Statements” at the beginning of this Annual Report on Form 10-K.

11

The following risk factors could have a material adverse effect on our business, the results of our operations, our financial condition, our cash flow and the price of our shares. These risk factors could prevent us from meeting our goals or expectations.

Risks Related Primarily to Operating our Business

Our financial and operating results may vary significantly from quarter-to-quarter and year-to-year.

Our business is subject to seasonal and annual fluctuations. Some of the quarterly variation is the result of weather, particularly rain, ice, snow, and named storms, which create difficult operating conditions. Similarly, demand for routine repair and maintenance services for gas utilities is lower during their peak customer needs in the winter, and demand for routine repair and maintenance services for electric utilities is lower during their peak customer needs in the summer. Some of the annual variation is the result of construction projects which fluctuate based on customer timing, project duration, weather, and general economic conditions. Annual and quarterly results may also be adversely affected by:

Changes in our mix of customers, projects, contracts and business;
Regional or national and/or general economic conditions and demand for our services;
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;
Increases in construction costs, including due to inflation or supply chain challenges, 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;
Costs we incur to support growth, whether organic or through acquisitions;
The timing and volume of work under contract; and
Losses experienced in our operations.

As a result, our operating results in any particular quarter may not be indicative of the operating results expected for any other quarter, or for an entire year.

Demand for our services may decrease during economic recessions or volatile economic cycles, and a reduction in demand in end markets may adversely affect our business.

A substantial portion of our revenue and profit is generated from construction projects, the awarding of which we do not directly control. The engineering and construction industry historically has experienced cyclical fluctuations in financial results due to economic recessions, downturns in business cycles of our customers, material shortages, price increases by subcontractors, interest rate fluctuations and other economic factors beyond our control. When the general level of economic activity deteriorates, our customers may delay, or cancel upgrades, expansions, and/or maintenance and repairs to their systems. Many factors, including the financial condition of the industry, could adversely affect our customers and their willingness to fund capital expenditures in the future.

Economic, political, regulatory and market conditions affecting our specific end markets may adversely impact the demand for our services, resulting in the delay, reduction or cancellation of certain projects and these conditions may continue to adversely affect us in the future. For example, much of the work that we perform in the highway markets involves funding by federal, state and local governments. This funding is subject to fluctuation based on the budgets and operating priorities of the various government agencies.

We are also dependent on the amount of work our customers outsource. In a slower economy, our customers may decide to outsource less infrastructure services, reducing demand for our services. In addition, consolidation, competition or capital constraints in the industries we serve may result in reduced spending by our customers.

12

Many of our customers are regulated by federal and state government agencies and the addition of new regulations or changes to existing regulations may adversely impact demand for our services and the profitability of those services.

Many of our energy customers are regulated by the Federal Energy Regulatory Commission (“FERC”), and our utility customers are regulated by state public utility commissions. These agencies could change the way in which they interpret current regulations and may impose additional regulations. These changes could have an adverse effect on our customers and the profitability of the services they provide, which could reduce demand for our services or delay our ability to complete projects. Additionally, our failure to comply with applicable regulations could result in substantial fines or revocation of our operating licenses, as well as give rise to termination or cancellation rights under our contracts or disqualify us from future bidding opportunities.

The demand for our pipeline construction services is dependent on the level of operating and capital project spending by midstream companies in the oil and gas industry and industrial companies primarily in the petrochemical industry. This level of spending is subject to large fluctuations depending primarily on the current price, volatility, and expectations of future prices of oil, natural gas, and natural gas liquids. The price is a function of many factors, including levels of supply and demand, government policies and regulations, oil industry refining capacity and the potential development of alternative fuels.

Specific government decisions could affect demand for our construction services. For example, limitations on the use of “fracking” technology, creation of significant regulatory issues for the construction of underground pipelines and permitting and licensing requirements have reduced our underground work.

Conversely, government regulations may increase the demand for our pipeline services. Recent pipeline safety legislation could increase demand for our pipeline facility, maintenance, integrity and repair services.

Our business may be materially adversely impacted by regional, national and/or global requirements related to climate change and the impact of greenhouse gas emissions in the future.

Greenhouse gases that result from human activities, including burning of fossil fuels, are the focus of increased scientific and political scrutiny and may be subject to changing legal requirements. International agreements, federal laws, state laws and various regulatory schemes to limit or otherwise regulate emissions of greenhouse gases, and additional restrictions are under consideration by different governmental entities. We derive a small portion of our revenue and contract profit from engineering and construction services to clients that own and/or operate a wide range of process plants and own and/or operate electric power generating plants that generate electricity from burning natural gas or various types of solid fuels. These plants emit greenhouse gases as part of the process to generate electricity or other products. Compliance with existing greenhouse gas regulation may prove costly or difficult. It is possible that owners and operators of existing or future process plants and electric generating plants could be subject to new or changed environmental regulations that result in significantly limiting, or reducing the amounts of greenhouse gas emissions, increasing the cost of emitting such gases or requiring emissions allowances. The costs of controlling such emissions or obtaining required emissions allowances could be significant. It also is possible that necessary controls or allowances may not be available. Such regulations could negatively impact client investments in capital projects in our markets, which could negatively impact the market for our products and/or services.

The establishment of additional rules limiting greenhouse gas emissions could also impact our ability to perform construction services, or to perform these services with current levels of profitability. New regulations may require us to acquire different equipment or change processes. The new equipment may not be available, or it may not be purchased or rented in a cost-effective manner. Project deferrals, delays or cancellations resulting from the potential regulations could adversely impact our business.

In addition, we could be held liable for significant penalties and damages under certain environmental laws and regulations and also could be subject to a revocation of our licenses or permits. Our contracts with our customers may also impose liabilities on us regarding environmental issues that arise through the performance of our services. From time to time, we may incur costs and obligations for correcting environmental noncompliance matters and for remediation at or relating to certain of our job sites or properties. We believe that we are in substantial compliance with our environmental obligations.

13

While the potential impact of climate-related changes, including legislative and regulatory responses thereto, on our operations is uncertain, management considers climate-related risks and opportunities in connection with its long-term strategic planning and short-term deployment of resources. Climate change may result in, among other things, changes in rainfall patterns, storm patterns and intensities and temperature levels. Our operating results are significantly influenced by weather, and major changes in historical weather patterns could significantly impact our future operating results. For example, if climate change results in significantly more adverse weather conditions in a given period, we could experience reduced productivity, which could negatively impact our operating results.

Concerns about the impact of climate change have resulted, and are expected to continue to result, in technological advancements and market developments that impact our business. For example, utility customers are transitioning toward more sustainable sources of power generation, such as renewables, which can provide additional opportunities for our Energy segment. Additionally, increased electrification of new technologies may lead to continued and additional demand for new and expanded electric power infrastructure and reengineering of existing electric power infrastructure. However, concerns about climate change could also result in potential new regulations, regulatory actions or requirements to fund energy efficiency activities, as well as decreased demand for refined products, which in turn could negatively impact our customers and demand for certain of our pipeline, underground utility and infrastructure services.

Climate change could also affect our customers and the types of projects that they award. Demand for power projects, underground pipelines or highway projects could be affected by significant changes in weather, or climate conditions, or by regulatory changes relating to climate change, which could in turn reduce demand for our services.

Our results could be adversely affected by natural disasters, public health crises, political crises, or other catastrophic events.

Natural disasters, such as hurricanes, tornadoes, floods, earthquakes, and other adverse weather and climate conditions; public health crises, such as pandemics and epidemics; political crises, such as terrorist attacks, war, labor unrest, and other political instability; or other catastrophic events could disrupt our operations, or the operations of one or more of our vendors or customers, and could adversely affect our financial results. In particular, these types of events could impact our product supply chain from or to the impacted region and could cause our customers to delay or cancel projects, which could impact our ability to operate. In addition, these types of events could lead to general inefficiencies from having to start and stop work, re-sequencing work or modifying our customary work practices.

Changes to renewable portfolio standards and decreased demand for renewable energy projects could negatively impact our future results of operations, cash flows and liquidity.

A significant portion of our future business may be focused on providing construction and/or installation services to owners and operators of solar power and other renewable energy facilities. Currently, the development of solar and other renewable energy facilities is dependent on the existence of renewable portfolio standards and other state incentives and requirements. Renewable portfolio standards are state-specific statutory provisions requiring or encouraging that electric utilities generate a certain amount of electricity from renewable energy sources. These standards have initiated significant growth in the renewable energy industry and increased demand for renewable energy infrastructure construction services. Elimination of, or changes to, existing renewable portfolio standards, tax credits or similar environmental policies may negatively affect future demand for our services.

We may lose business to competitors through the competitive bidding processes.

We are engaged in highly competitive businesses in which most customer contracts are awarded through bidding processes based on price and the acceptance of certain risks, along with other factors. We compete with other infrastructure services contractors, both regional and national, as well as small local contractors. The strong competition in our markets requires maintaining skilled personnel and investing in technology, and puts pressure on profit margins. We do not obtain contracts from all of our bids and our inability to win bids at acceptable profit margins would adversely affect our business.

14

We may be unsuccessful at generating internal growth which may affect our ability to expand our operations or grow our business.

Our ability to generate internal growth may be affected by, among other factors, our ability to:

Attract new customers;
Increase the number of projects performed for existing customers;
Hire and retain qualified personnel;
Secure appropriate levels of construction equipment;
Successfully bid for new projects; and
Adapt the range of services we offer to address our customers’ evolving construction needs.

In addition, our customers may reduce the number or size of projects available to us due to their inability to obtain capital. Our customers may also reduce projects in response to economic conditions.

Many of the factors affecting our ability to generate internal growth may be beyond our control, and we cannot be certain that our strategies will be successful or that we will be able to generate cash flow sufficient to fund our operations and to support internal growth. If we are unsuccessful, we may not be able to achieve internal growth, expand our operations or grow our business.

The timing of new contracts may result in unpredictable fluctuations in our business.

Substantial portions of our revenue are derived from project-based work that is awarded through a competitive bid process. The portion of revenue generated from the competitive bid process for 2023, 2022 and 2021 was approximately 30.1%, 26.3%, and 31.2%, respectively. It is generally very difficult to predict the timing and geographic distribution of the projects that we will be awarded. The selection of, timing of or failure to obtain projects, delays in award of projects, the re-bidding or termination of projects due to budget overruns, cancellations of projects or delays in completion of contracts could result in the under-utilization of our assets and reduce our cash flows. Even if we are awarded contracts, we face additional risks that could affect whether or when work will begin. For example, some of our contracts are subject to financing, permitting and other contingencies that may delay or result in termination of projects. We may have difficulty in matching workforce size and equipment location with contract needs. In some cases, we may be required to bear the cost of a ready workforce and equipment that is larger than necessary, resulting in unpredictability in our cash flow, expenses and profitability. If any expected contract award, or the related work release is delayed or not received, we could incur substantial costs without receipt of any corresponding revenue. Finally, the winding down or completion of work on significant projects will reduce our revenue and earnings if these projects have not been replaced.

We derive a meaningful portion of our revenue from a few customers, and the loss of one or more of these customers could have significant effects on our revenue, resulting in adverse effects on our financial condition, results of operations and cash flows.

Our customer base is reasonably concentrated, with our top ten customers accounting for approximately 41.1% of our revenue in 2023, 46.1% of our revenue in 2022 and 42.9% of our revenue in 2021. However, the customers included in our top ten customer list generally vary from year to year. Our revenue is dependent both on performance of larger construction projects and relatively smaller projects under MSAs. For the large construction projects, the completion of the project does not necessarily represent the permanent loss of a customer; however, the future revenue generated from work for that customer may fluctuate significantly.

We also generate ongoing revenue from our MSA customers, which are generally comprised of regulated gas and electric utilities. If we were to lose one of these customers, our revenue could decline. Reduced demand for our services by larger construction customers or a loss of a significant MSA customer could have an adverse effect on our business.

15

Our international operations expose us to legal, political and economic risks in different countries as well as currency exchange rate fluctuations that could harm our business and financial results. We could be adversely affected by our failure to comply with laws applicable to our foreign activities, such as the U.S. Foreign Corrupt Practices Act.

During 2023, 2022 and 2021, revenue attributable to our services outside of the United States, principally in Canada, was 5.8%, 6.7% and 4.5% of our total revenue, respectively. There are risks inherent in doing business internationally, including:

Imposition of governmental controls and changes in laws, regulations, policies, practices, tariffs and taxes;
Political and economic instability;
Changes in United States and other national government trade policies affecting the market for our services;
Potential non-compliance with a wide variety of laws and regulations, including the United States Foreign Corrupt Practices Act (“FCPA”) and similar non-United States laws and regulations;
Currency exchange rate fluctuations, devaluations and other conversion restrictions;
Restrictions on or fees or taxes associated with repatriating foreign profit back to the United States; and
Difficulties in staffing and managing international operations.

The FCPA and similar anti-bribery laws in other jurisdictions prohibit U.S.-based companies and their intermediaries from making improper payments to non-U.S. officials for the purpose of obtaining or retaining business. We pursue opportunities in certain parts of the world that experience government corruption, and in certain circumstances, compliance with anti-bribery laws may conflict with local customs and practices. Our internal policies mandate compliance with all applicable anti-bribery laws. We require our partners, subcontractors, agents and others who work for us or on our behalf to comply with the FCPA and other anti-bribery laws. There is no assurance that our policies or procedures will protect us against liability under the FCPA or other laws for actions taken by our agents, employees and intermediaries. If we are found to be liable for FCPA violations (either due to our own acts or our inadvertence, or due to the acts or inadvertence of others), we could suffer from severe criminal or civil penalties or other sanctions, which could have a material adverse effect on our reputation and business. In addition, detecting, investigating and resolving actual or alleged FCPA violations is expensive and could consume significant time and attention of our senior management.

Backlog may not be realized or may not result in revenue or profit.

Backlog is measured and defined differently by companies within our industry. We refer to “backlog” as our anticipated revenue from the uncompleted portions of existing contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value, and the estimated revenue on MSA work. We present two measures of backlog; one that includes fixed backlog and estimated revenue on MSA work for the next four quarters, and total backlog that includes all fixed backlog and estimated revenue on MSA work to the end of the MSA agreement. We do not consider renewals when estimating total backlog. Backlog is not a comprehensive indicator of future revenue. Most contracts may be terminated by our customers on short notice. Reductions in backlog due to cancellation by a customer, or for other reasons, could significantly reduce the revenue that we actually receive from contracts in backlog. 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 we typically have no contractual right to the total revenue reflected in our backlog. Projects may remain in backlog for extended periods of time. While backlog includes estimated MSA revenue, customers are not contractually obligated to purchase a certain amount of services under the MSA.

Given these factors, our backlog at any point in time may not accurately represent the revenue that we expect to realize during any period, and our backlog as of the end of a fiscal year may not be indicative of the revenue we expect to earn in the following fiscal year. Inability to realize revenue from our backlog could have an adverse effect on our business.

While backlog may not be indicative of the revenue we expect to earn the following fiscal year, it is a potential indicator of future revenue; however, recognition of revenue from backlog does not necessarily ensure that the projects will be profitable. Poor project execution could impact profit from contracts included in backlog. For projects for which

16

a loss is expected, future revenue will be recorded with no margin, which may reduce the overall margin percentage for work performed.

Our actual cost may be greater than expected in performing our contracts causing us to realize significantly lower profit or losses on our projects.

We currently generate, and expect to continue to generate, a substantial portion of our revenue from fixed price and unit price contracts. The actual cost of labor and materials may vary from the costs we originally estimated, and we may not be successful in recouping additional costs from our customers. These variations may cause gross profit for a project to differ from those we originally estimated. Reduced profitability or losses on projects could occur due to changes in a variety of factors such as:

Failure to properly estimate costs of engineering, materials, equipment or labor;
Unanticipated technical problems with the structures, materials or services being supplied by us, which may require that we spend our own money to remedy the problem;
Project modifications not reimbursed by the client creating unanticipated costs;
Changes in the costs of equipment, materials, labor or subcontractors;
Our suppliers or subcontractors failure to perform;
Changes in local laws and regulations, and;
Delays caused by weather conditions.

As projects grow in size and complexity, multiple factors may contribute to reduced profit or losses, and depending on the size of the particular project, variations from the estimated contract costs could have a material adverse effect on our business.

Weather can significantly affect our revenue and profitability.

Our ability to perform work and meet customer schedules can be affected by weather conditions such as snow, ice, rain, and named storms. Weather may affect our ability to work efficiently and can cause project delays and additional costs. Our ability to negotiate change orders for the impact of weather on a project could impact our profitability. In addition, the impact of weather can cause significant variability in our quarterly revenue and profitability.

We require subcontractors and suppliers to assist us in providing certain services, and we may be unable to retain the necessary subcontractors or obtain supplies to complete certain projects which could adversely affect our business.

We use subcontractors to perform portions of our contracts and to manage workflow. While we are not dependent on any single subcontractor, general market conditions may limit the availability of subcontractors to perform portions of our contracts causing delays and increasing our costs.

Although significant materials are often supplied by the customer, we use suppliers to provide some materials and equipment used for projects. If a supplier fails to provide supplies and equipment at the estimated price, fails to provide adequate amounts of supplies and equipment, fails to provide supplies or equipment that meet the project requirements, or fails to provide supplies when scheduled, we may be required to source the supplies or equipment at a higher price or may be required to delay performance of the project. The additional cost or project delays could negatively impact project profitability.

Failure of a subcontractor or supplier to comply with laws, rules or regulations could negatively affect our reputation and our business.

17

We periodically enter into joint ventures which require satisfactory performance by our venture partners of their obligations. The failure of our joint venture partners to perform their joint venture obligations could impose additional financial and performance obligations on us that could result in reduced profit or losses for us with respect to the joint venture.

We periodically enter into various joint ventures and teaming arrangements where control may be shared with unaffiliated third parties. At times, we also participate in joint ventures where we are not a controlling party. In such instances, we may have limited control over joint venture decisions and actions, including internal controls and financial reporting which may have an impact on our business. If our joint venture partners fail to satisfactorily perform their joint venture obligations, the joint venture may be unable to adequately perform or deliver its contracted services. Under these circumstances, we may be required to make additional investments or provide additional services to ensure the adequate performance and delivery of the contracted services. These additional obligations could result in reduced profit and may impact our reputation in the industry.

We may experience delays and defaults in client payments and we may pay our suppliers and subcontractors before receiving payment from our customers for the related services, which could result in an adverse effect on our financial condition, results of operations and cash flows.

We use subcontractors and material suppliers for portions of certain work, and our customers pay us for those related services. If we pay our suppliers and subcontractors for materials purchased and work performed for customers who fail to pay us, or such customers delay paying us for the related work or materials, we could experience a material adverse effect on our business. In addition, if customers fail to pay us for work we perform, we could experience a material adverse effect on our business.

Our inability to recover on contract modifications against project owners for payment or performance could negatively affect our business.

We periodically present contract modifications to our clients for 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. In some cases, settlement of contract modifications may not occur until after completion of work under the contract. A failure to promptly document and negotiate a recovery for contract modifications could have a negative impact on our cash flows, and an overall ability to recover contract modifications could have a negative impact on our financial condition, results of operations and cash flows.

For some projects we may guarantee a timely completion or provide a performance guarantee which could result in additional costs, such as liquidated damages, to cover our obligations.

In our fixed-price and unit-price contracts we may provide a project completion date, and in some of our projects we may commit that the project will achieve specific performance standards. Failure to complete the project as scheduled or at the contracted performance standards could result in additional costs or penalties, including liquidated damages, and such amounts could exceed expected project profit.

A significant portion of our business depends on our ability to provide surety bonds, and we may be unable to compete for or work on certain projects if we are not able to obtain the necessary surety bonds.

Our contracts frequently require that we provide payment and performance bonds to our customers. Under standard terms in the surety market, sureties issue or continue bonds on a project-by-project basis and can decline to issue bonds at any time or require the posting of additional collateral as a condition to issuing, or renewing bonds.

Current or future market conditions, as well as changes in our surety providers’ assessments of our operating and financial risk, could cause our surety providers to decline to issue or renew, or to substantially reduce, the availability of bonds for our work and could increase our bonding costs. These actions could be taken on short notice. If our surety providers were to limit or eliminate our access to bonding, our alternatives would include seeking bonding

18

capacity from other sureties, finding more business that does not require bonds and posting other forms of collateral for project performance, such as letters of credit or cash. We may be unable to secure these alternatives in a timely manner, on acceptable terms, or at all. Accordingly, if we were to experience an interruption or reduction in the availability of bonding capacity, we may be unable to compete for, or work on certain projects.

Our bonding requirements may limit our ability to incur indebtedness, which would limit our ability to refinance our existing credit facilities or to execute our business plan.

Our ability to obtain surety bonds depends upon various factors including our capitalization, working capital, tangible net worth and amount of our indebtedness. In order to obtain required bonds, we may be limited in our ability to incur additional indebtedness that may be needed to refinance our existing credit facilities upon maturity, to complete acquisitions, and to otherwise execute our business plans.

We may be unable to win some new contracts if we cannot provide clients with letters of credit.

For many of our clients surety bonds provide an adequate form of security, but for some clients security in the form of a letter of credit may be required. While we have capacity for letters of credit under our credit facility, the amount required by a client may be in excess of our credit limit. Any such amount would be issued at the sole discretion of our lenders. Failure to provide a letter of credit when required by a client may result in our inability to compete for, win, or retain a project.

During the ordinary course of our business, we may become subject to material lawsuits or indemnity claims.

We have in the past been, and may in the future be, named as a defendant in lawsuits, claims and other legal proceedings during the ordinary course of our business. These actions may seek, among other things, compensation for alleged personal injury, workers’ compensation, employment discrimination, breach of contract, cyber-security and related incidents, property damage, punitive damages, and civil penalties, or other losses or injunctive or declaratory relief. In addition, we generally indemnify our customers for claims related to the services we provide and actions we take under our contracts with them, and, in some instances, we may be allocated risk through our contract terms for actions by our customers, or other third parties. Because our services in certain instances may be integral to the operation and performance of our customers’ infrastructure, we may become subject to lawsuits or claims for any failure of the systems on which we work, even if our services are not the cause of such failures, and we could be subject to civil and criminal liabilities to the extent that our services contributed to any property damage, personal injury or system failure. The outcome of any of these lawsuits, claims or legal proceedings could result in significant costs and diversion of management’s attention from the business. Payments of significant amounts, even if reserved, could adversely affect our reputation, our cash flows, and our business.

We are self-insured up to certain limits.

Although we maintain insurance policies with respect to employer’s liability, general liability, auto and workers compensation claims, those policies are subject to deductibles or self-insured retention amounts up to $1,000,000 per occurrence. In addition, for our employees not part of a collective bargaining agreement, we provide employee health care benefit plans. Our primary health insurance plan is subject to a deductible of $425,000 per individual claim per year.

Our insurance policies include various coverage requirements, including the requirement to give appropriate notice. If we fail to comply with these requirements, our coverage could be denied.

Losses under our insurance programs are accrued based upon our estimates of the ultimate liability for claims reported and an estimate of claims incurred but not reported, with assistance from third-party actuaries. Insurance liabilities are difficult to assess and estimate due to unknown factors, including the severity of an injury, the extent of damage, the determination of our liability in proportion to other parties and the number of incidents not reported. The accruals are based upon known facts and historical trends.

We renew our insurance policies on an annual basis, and therefore deductibles and levels of insurance coverage may change in future periods. In addition, insurers may cancel our coverage or determine to exclude certain items from coverage, or we may elect not to obtain certain types or incremental levels of insurance based on the potential benefits

19

considered relative to the cost of such insurance, or coverage may not be available at reasonable and competitive rates. In any such event, our overall risk exposure would increase, which could negatively affect our results of operations, financial condition and cash flows.

Our business is labor intensive. If we are unable to attract and retain qualified managers and skilled employees, our operating costs may increase.

Our business is labor intensive and our ability to maintain our productivity and profitability may be limited by our ability to employ, train and retain skilled personnel necessary to meet our requirements. We may not be able to maintain an adequately skilled labor force necessary to operate efficiently and to support our growth strategy. We have from time-to-time experienced, and may in the future experience, shortages of certain types of qualified personnel. For example, periodically there are shortages of engineers, project managers, field supervisors, and other skilled workers capable of working on and supervising the construction of underground, electric utilities, heavy civil and industrial facilities, as well as providing engineering services. The supply of experienced engineers, project managers, field supervisors, journeyman linemen and other skilled workers may not be sufficient to meet current or expected demand. The beginning of new, large-scale infrastructure projects, or increased competition for workers currently available to us, could affect our business, even if we are not awarded such projects. Labor shortages, or increased labor costs could impair our ability to maintain our business or grow our revenue. If we are unable to hire employees with the requisite skills, we may also be forced to incur significant training expenses.

Our unionized workforce may commence work stoppages or impact our ability to complete certain acquisitions, which could adversely affect our operations.

As of December 31, 2023, approximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements. Although the majority of these agreements prohibit strikes and work stoppages, we cannot be certain that strikes or work stoppages will not occur in the future. Strikes or work stoppages would adversely impact our relationships with our customers and could have an adverse effect on our business.

Our ability to complete future acquisitions could be adversely affected because of our union status for a variety of reasons. For instance, in certain geographic areas, our union agreements may be incompatible with the union agreements of a business we want to acquire, and some businesses may not want to become affiliated with a union company.

Withdrawal from multiemployer pension plans associated with our unionized workforce could adversely affect our financial condition and results of operations.

Our collective bargaining agreements generally require that we participate with other companies in multiemployer pension plans. To the extent those plans are underfunded, the Employee Retirement Income Security Act of 1974 (“ERISA”), as amended by the Multiemployer Pension Plan Amendments Act of 1980 (“MEPA”), may subject us to substantial liabilities under those plans if we withdraw from them, or if they are terminated. In addition, the Pension Protection Act of 2006 added new funding rules for multiemployer plans that are classified as endangered, seriously endangered or critical status. For a plan in critical status, additional required contributions and benefit reductions may apply if a plan is determined to be underfunded, which could adversely affect our financial condition or results of operations. For plans in critical status, we may be required to make additional contributions, generally in the form of surcharges on contributions otherwise required. Participation in those plans with high funding levels could adversely affect our results of operations, financial condition or cash flows if we are not able to adequately mitigate these costs.

The amount of the withdrawal liability legislated by ERISA and MEPA varies for every pension plan to which we contribute. For each plan, our potential liability is the total unfunded vested benefits of the plan multiplied by a fraction: the numerator of the fraction is the sum of our contributions to the plan for the past ten years and the denominator is the sum of all contributions made by all employers for the past ten years. For some pension plans to which we contribute, the total unfunded vested benefits for the entire plan could be in the billions of dollars. If we cannot reduce the alleged fractional exposure through exemptions or negotiations, the withdrawal from a plan could have a material adverse impact on our business.

20

We depend on key personnel and we may not be able to operate and grow our business effectively if we lose the services of any of our key persons or are unable to attract qualified and skilled personnel in the future.

We are dependent upon the efforts of our key personnel, and our ability to retain them and hire other qualified employees. The loss of our executive officers, or other key personnel could affect our ability to run our business effectively. Competition for senior management is intense, and we may not be able to retain our personnel. The loss of any key person requires the remaining key personnel to divert immediate and substantial attention to seeking a replacement, as well as to performing the departed person’s responsibilities until a replacement is found. In addition, as some of our key persons approach retirement age, we need to provide for smooth transitions. If we fail to find a suitable replacement for any departing executive or senior officer on a timely basis, such departure could adversely affect our ability to operate and grow our business.

If we fail to integrate acquisitions successfully, we may experience operational challenges and risks which may have an adverse effect on our business.

As part of our growth strategy, we intend to acquire companies that expand, complement or diversify our business. Acquisitions may expose us to operational challenges and risks, including, among others:

The diversion of management’s attention from the day-to-day operations of the combined company;
Managing a significantly larger company than before completion of an acquisition;
The assimilation of new employees and the integration of business cultures;
Training and facilitating our internal control processes within the acquired organization;
Retaining key personnel;
The integration of information, accounting, finance, sales, billing, payroll and regulatory compliance systems;
Challenges in keeping existing customers and obtaining new customers;
Challenges in combining service offerings and sales and marketing activities;
The assumption of unknown liabilities of the acquired business for which there are inadequate reserves;
The potential impairment of acquired goodwill and intangible assets; and
The inability to enforce covenants not to compete.

Failure to effectively manage the integration process could adversely impact our business, financial condition, results of operations, and cash flows.

We may incur higher costs on equipment necessary for our operations.

A significant portion of our contracts is built utilizing our own construction equipment rather than rented equipment. To the extent that we are unable to buy or lease equipment necessary for a project, either due to a lack of available funding, or equipment shortages in the marketplace, we may be forced to rent equipment on a short-term basis, or to find alternative ways to perform the work without the benefit of equipment ideally suited for the job, which could increase the costs of completing the project. We often bid for work knowing that we will have to rent equipment on a short-term basis, and we include the equipment rental rates in our bid. If market rates for rental equipment increase between the time of bid submission and project execution, our margins for the project may be reduced. In addition, our equipment requires regular maintenance, which we generally provide through our own repair facilities. If we are unable to maintain the equipment in our fleet, we may be forced to obtain additional third-party repair services at a higher cost or be unable to bid on contracts.

Our business may be affected by difficult work sites and environments which may adversely affect our ability to procure materials and labor.

We perform our work under a variety of conditions, including, but not limited to, difficult and hard to reach terrain, difficult site conditions, and busy urban centers, where delivery of materials and availability of labor may be impacted. Performing work under these conditions can slow our progress, potentially causing us to incur contractual liability to our customers. These difficult conditions may also cause us to incur additional, unanticipated costs that we might not be able to pass on to our customers.

21

We may incur liabilities or suffer negative financial or reputational impacts relating to health and safety matters.

Our operations are subject to extensive laws and regulations relating to the maintenance of safe conditions in the workplace. While we have invested, and will continue to invest, substantial resources in our environmental, health and safety programs, our industry involves a high degree of operational risk and there can be no assurance that we will avoid significant liability exposure. Although we have taken what we believe are appropriate precautions, we have suffered fatalities in the past and may suffer additional fatalities in the future. Serious accidents, including fatalities, may subject us to substantial penalties, civil litigation or criminal prosecution. Claims for damages to persons, including claims for bodily injury or loss of life, could result in substantial costs and liabilities, which could materially and adversely affect our financial condition, results of operations or cash flows. In addition, if our safety record were to substantially deteriorate over time or we were to suffer substantial penalties or criminal prosecution for violation of health and safety regulations, our customers could cancel our contracts and not award us future business.

Disruptions to our operational systems could adversely impact our operations, our ability to report financial results and our business.

We rely on computer, information and communication technology and related systems to operate our business and to protect confidential, sensitive company, customer and partner information. Our computer and communications systems, and consequently our operations, could be damaged or interrupted by cyber-attacks and physical security risks, such as natural disasters, loss of power, communications failures, acts of war, acts of terrorism, computer viruses, physical or electronic break-ins and actions by hackers and cyber-terrorists. Any of these, or similar, events could cause system disruptions, delays and loss of critical information, delays in processing transactions and delays in the reporting of financial information.

Security breaches, cyber security attacks or other disruptions to our information technology systems and networks could adversely impact our operations or compromise the confidentiality of private customer data or our own proprietary information.

Any cyber security attack (including denial of service attacks, ransomware, phishing attacks, payment fraud or others) that affects our facilities, our systems, our partners, our customers or any of our financial data could have a material adverse effect on our business. We rely on information technology systems, some of which are managed by third parties, to process, transmit and store electronic information and to manage or support a variety of our business processes, activities and services. Additionally, we collect and store sensitive data, including intellectual property and proprietary business information, as well as personally identifiable information of our customers and employees, in data centers and on information technology networks (including networks that may be controlled or maintained by third parties). The secure operation of these systems and products, and the processing and maintenance of the information processed by these systems and products, is critical to our business operations and strategy. Further, customers using our systems rely on the security of our infrastructure, including hardware, software and other elements provided by third parties, to ensure the reliability of our products and the protection of their data. We also face the risk of operational disruption, failure, termination or capacity constraints of any of the third parties that facilitate our business activities, including vendors, service providers, suppliers, customers, counterparties or other financial intermediaries. Such third parties who provide us services or with whom we communicate could also be the source of a cyberattack on, or breach of, our operational systems, network, data or infrastructure. Despite our security measures and business continuity plans, our information technology systems and networked and connected products may be vulnerable to damage, disruptions or shutdowns caused by attacks by hackers, computer viruses, or breaches due to errors or malfeasance by employees, contractors or others who have access to these systems and products. Any of these events could result in, among other things, the loss of proprietary data, interruptions or delays in our business operations and damage to our reputation.

We have experienced cyber security threats, such as viruses and attacks targeting our systems, and expect the frequency and sophistication of such incidents will continue to increase. Such prior events have not had a material impact on our financial condition, results of operations or liquidity. However, future threats or existing threats of which we are not yet aware could cause harm to our business and our reputation, disrupt our operations, expose us to potential liability, regulatory actions and loss of business, and impact our results of operations materially. We also currently maintain a cyber insurance policy; however, such insurance coverage may not be adequate to cover all the costs related to cyber security attacks or disruptions resulting from such events.

22

While we have taken steps to mitigate persistent and continuously evolving cyber security threats by implementing network security and internal control measures, implementing policies and procedures for managing risk to our information systems, periodically testing our information technology systems, and conducting employee training on cyber security, a system or network failure or data security breach could have negative consequences for our company, customers, or partners and adversely affect our business. Furthermore, the continuing and evolving threat of cyber-attacks has resulted in increased regulatory focus on prevention. To the extent we face increased regulatory requirements, we may be required to expend significant additional resources to meet such requirements.

We may need additional capital in the future for working capital, capital expenditures or acquisitions, and we may not be able to access capital on favorable terms, or at all, which would impair our ability to operate our business or achieve our growth objectives.

Our ability to generate cash is essential for the funding of our operations and the servicing of our debt. If existing cash balances together with the borrowing capacity under our credit facilities were not sufficient to make future investments, make acquisitions or provide needed working capital, we may require financing from other sources. Our ability to obtain such additional financing in the future will depend on a number of factors including prevailing capital market conditions, conditions in our industry, and our operating results. These factors may affect our ability to arrange additional financing on terms that are acceptable to us. If additional funds were not available on acceptable terms, we may not be able to make future investments, take advantage of acquisitions or pursue other opportunities.

Risks Related Primarily to the Financial Accounting of our Business

Our financial results are based upon estimates and assumptions that may differ from actual results.

In preparing our consolidated annual and quarterly financial statements in conformity with generally accepted accounting principles, many estimates and assumptions are used in determining the reported revenue, costs and expenses recognized during the periods presented, and disclosures of contingent assets and liabilities known to exist as of the date of the financial statements. 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. Estimates may be used in our assessments of the allowance for doubtful accounts, useful lives of property and equipment, fair value assumptions in analyzing goodwill and long-lived asset impairments, self-insured claims liabilities, accounting for revenue recognized over time, and provisions for income taxes. Actual results could differ materially from the estimates and assumptions that we used.

Our accounting for revenue recognized over time could result in a reduction or elimination of previously reported revenue and profit.

For contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value, we recognize revenue 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). 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, and politics may affect the progress of a project’s completion, and thus the timing of revenue recognition. Actual results could differ from estimated amounts and could result in a reduction or elimination of previously recognized earnings. In certain circumstances, it is possible that such adjustments could be significant and could have an adverse effect on our business.

23

Our reported results of operations could be adversely affected as a result of impairments of goodwill or other identifiable intangible assets.

When we acquire a business, we record an asset called “goodwill” for the excess amount we pay for the business over the net fair value of the tangible and identifiable intangible assets of the business we acquire. At December 31, 2023, our balance sheet included goodwill of $857.7 million and intangible assets of $227.6 million resulting from previous acquisitions. Fair value is determined using a combination of the discounted cash flow, market multiple and market capitalization valuation approaches. Under current accounting rules, goodwill and other identifiable intangible assets that have indefinite useful lives cannot be amortized, but instead must be tested at least annually for impairment, while identifiable intangible assets that have finite useful lives are amortized over their useful lives. Significant judgment is required in completing these tests, as described in Item 7 “Management’s Discussion and Analysis of Financial Condition and Results of Operations—Critical Accounting Policies and Estimates— Goodwill and Indefinite-Lived Intangible Assets” of this Annual Report on Form 10-K. Any impairment of goodwill, or identifiable intangible assets recorded in connection with the various acquisitions, or for any future acquisitions, would negatively impact our results of operations.

Compliance with and changes in tax laws could adversely affect our performance.

We are subject to extensive tax liabilities imposed by multiple jurisdictions, including federal, state, local and international jurisdictions. New tax laws, treaties and regulations and changes in existing tax laws, treaties and regulations are continuously being enacted or proposed and could result in a different tax rate on our earnings, which could have a material impact on our earnings and cash flow from operations. In addition, significant judgment is required in determining our provision for income taxes, as described in Item 7 “Management’s Discussion and Analysis of Financial Condition and Results of Operations—Critical Accounting Policies and Estimates—Income Taxes” of this Annual Report on Form 10-K. In the ordinary course of our business, there are many transactions and calculations where the ultimate tax determination is uncertain. We are regularly subject to audits by tax authorities, and our tax estimates and tax positions could be materially affected by many factors including the final outcome of tax audits and related litigation, the introduction of new tax accounting standards, legislation, regulations and related interpretations, our mix of earnings, the realizability of deferred tax assets and changes in uncertain tax positions. A significant increase in our tax rate could have a material adverse effect on our profitability and liquidity.

Our variable rate indebtedness subjects us to interest rate risk.

Borrowings under our revolving credit facility and term loan bear interest at variable rates and expose 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 December 31, 2023, $300.0 million of our variable rate debt outstanding was economically hedged. The remaining $574.1 million of variable rate debt was unhedged. If interest rates increase, our debt service obligations on the unhedged portion of our variable rate debt will increase even if the amount borrowed remains the same, and our net income and cash flows, will decrease correspondingly. Based on our variable rate debt outstanding as of December 31, 2023, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $5.7 million.

Risks Related to our Common Stock

Our common stock is subject to potential dilution to our stockholders.

As part of our acquisition strategy, we have issued and used shares of common stock as a part of contingent earn-out consideration, which have resulted in dilution to our stockholders. Our Certificate of Incorporation permits us to issue up to 90.0 million shares of common stock of which approximately 53.4 million were outstanding at December 31, 2023. While New York Stock Exchange rules require that we obtain stockholder approval to issue more than 20% additional shares, stockholder approval is not required below that level. In addition, we can issue shares of preferred stock which could cause further dilution to the stockholder, resulting in reduced net income and cash flow available to common stockholders.

In 2022, our stockholders adopted the 2022 Employee Stock Purchase Plan (the “ESPP”), under which eligible full-time employees can purchase shares of our common stock at a discount on a semi-annual basis. The number of shares authorized and available for purchase under the ESPP is 1.0 million. As of December 31, 2023, there were

24

977,000 shares of common stock remaining available for purchase. Additional purchases made under the ESPP will have the effect of diluting our earnings per share and stockholders’ percentage of ownership.

In 2023, our stockholders adopted our 2023 Equity Incentive Plan (“2023 Equity Plan”). The 2023 Equity Plan replaced a previous plan. The Equity Plan authorized the Board of Directors to issue equity awards totaling 6.5 million shares of our common stock. As of December 31, 2023, there were 6.2 million shares of common stock remaining available for issuance under our 2023 Equity Plan. Equity awards made to our directors and employees will have the effect of diluting our earnings per share and stockholders’ percentage of ownership.

Delaware law and our charter documents may impede or discourage a takeover or change in control.

As a Delaware corporation, anti-takeover provisions may impose an impediment to the ability of others to acquire control of us, even if a change of control would be of benefit to our stockholders. In addition, certain provisions of our Certificate of Incorporation and Bylaws also may impose an impediment or discourage others from a takeover. These provisions include: restrictions on the ability of a stockholder to call a special meeting, or nominate a director for election and our Board of Directors’ ability to authorize the issuance of preferred shares.

These types of provisions may limit the ability of stockholders to obtain a premium for their shares.

ITEM 1B.

UNRESOLVED STAFF COMMENTS

None.

ITEM 1C.

CYBERSECURITY

Cybersecurity Risk Management and Strategy

We rely on computer, information, network, and communication technology and related systems to operate our business and to protect confidential, restricted, and sensitive company, customer, and partner information. We have a multi-layered cybersecurity risk management program designed to identify risks related to the organization’s digital and physical assets, review and assess existing security measures, and implement and manage solutions to mitigate cyber risks. These solutions are designed to protect our facilities, our systems, our partners, our customers, and our financial data in case we experience a cyber incident. Protection includes phishing detection, social engineering, executive targeting, brand impersonation, configuration mistakes, sensitive data leakage, leaked credentials, malicious attacks, third-party risks, vulnerabilities, insider threats (both intentional and unintentional), and password attacks. This type of ongoing vulnerability risk management is crucial as the organization and the external threat landscape evolves. This cybersecurity risk management program is incorporated as part of the Primoris Enterprise Risk Management Program.

Our cybersecurity policies and processes are based on the controls within the National Institute of Standards and Technology (“NIST”) Framework, and we engage a number of external parties to enhance our cybersecurity oversight. For example, every other year, a third-party consulting firm performs an assessment of our cyber program, measuring our program against the NIST controls with a Capability Maturity Model Integration overlay to determine the program’s maturity. The assessment findings are disclosed to the Audit Committee of the Board of Directors and our cross-functional management Security Steering Committee (“SSC”). Any improvements resulting from the assessment are identified, along with action plans. We also use a third party to perform an annual Breach Assessment targeting our external and internal network environment to determine the strengths and any weaknesses within our cybersecurity processes. As part of the Breach Assessment, our Incident Response Plan is instigated and reviewed to ensure it remains current and effective for all situations. We also have multiple third-party managed Security Operations Centers (“SOC”) in place; including a SOC for logging and monitoring of security events; a SOC for endpoint managed detection and response, including identity protection; a SOC for executive digital and brand protection; and a SOC for protection of network credentials.

In order to oversee and identify risks from cybersecurity threats associated with the Company’s use of vendors and other third-party service providers, we conduct continuous passive scanning of the Primoris network, as well as Primoris vendors’ external perimeter, on a regular basis to assess any potential vulnerabilities and weaknesses.

25

We face certain ongoing risks from cybersecurity threats that, if realized, could materially affect us, including our business operations, results of operations or financial condition.

Cybersecurity Governance and Oversight

The Audit Committee of our Board of Directors provides direct oversight over cybersecurity risk and governance. We also maintain a cross-functional management Security Steering Committee (“SSC”), with members consisting of executive leadership, internal audit, and enterprise risk. The SSC meets quarterly and has a formal charter outlining its responsibility to provide oversite of our comprehensive cybersecurity program. The Audit Committee of the Board of Directors is briefed quarterly by the Chief Information Officer (“CIO”) on the cybersecurity program, and both the Audit Committee and SSC are notified between such updates regarding significant new cybersecurity threats or incidents. The full Board of Directors also receives regular reports from the Audit Committee.

The CIO chairs the SSC and oversees Primoris’ cybersecurity risk management program. The CIO is supported by the head of cybersecurity, who is a direct report to the CIO. The training and experience of the head of cybersecurity includes a Harvard MBA along with professional experiences involving Forensics and Investigation, NIST controls assessments and implementation, ISO27001 assessments and implementation, Payment Card Industry Certification, and HITRUST implementation and certification. The head of cybersecurity and the security team are responsible for leading company-wide cybersecurity strategy, policy, standards, and processes and work across the organization to assess and prepare Primoris to address cybersecurity risks. Our head of cybersecurity and the security team are informed about and monitor the prevention, detection, mitigation, and remediation of cybersecurity incidents pursuant to our Incident Response Plan.

Our employees are also an important part of protecting our digital and technical environment. A key area of the cybersecurity program is the education of employees regarding cybersecurity using security awareness training, security bulletins and phishing simulations to reinforce training on a quarterly basis. Security awareness training covers all network users. On an annual basis an Acceptable Use Policy (“AUP”) is distributed to employees through our Learning Management System for understanding and acknowledgement. Additionally, all new employees are provided the AUP by Human Resources and receive initial security training upon being granted access to our network.

ITEM 2.

PROPERTIES

Facilities

We lease our executive offices in Dallas, Texas and own and lease other facilities throughout the United States and Canada. Our facilities include offices, production yards, maintenance shops, and training and education facilities that are used in our operations. As of December 31, 2023, we owned 54 of our facilities and leased the remainder. We believe that our facilities are adequate to meet our current and foreseeable requirements.

Property, Plant and Equipment

The construction industry is capital intensive, and we expect to continue making capital expenditures to meet anticipated needs for our services. In 2023, capital expenditures were approximately $103.0 million. Total construction equipment purchases in 2023 were $34.0 million.

We believe the ownership or long-term leasing of equipment is generally preferable to renting to ensure the equipment is available as needed. In addition, this approach has historically resulted in lower overall equipment costs. All equipment is subject to scheduled maintenance to help ensure reliability. Maintenance facilities exist at most of our regional offices, as well as on-site on major projects to properly service and repair equipment. Major equipment not currently utilized is rented to third parties or sold whenever possible.

26

ITEM 3.

LEGAL PROCEEDINGS

Legal Proceedings

For information regarding legal proceedings, see Note 12 — “Commitments and Contingencies” of the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K, which is incorporated herein by reference.

ITEM 4.

MINE SAFETY DISCLOSURES

Not applicable.

27

PART II

ITEM 5.

MARKET FOR REGISTRANT’S COMMON EQUITY, RELATED STOCKHOLDER MATTERS AND ISSUER PURCHASES OF EQUITY SECURITIES

Market Information

Our common stock is listed on the New York Stock Exchange under the symbol “PRIM”. We had outstanding 53,436,884 shares of common stock and 439 stockholders of record as of February 19, 2024. These stockholders of record include depositories that hold shares of stock for brokerage firms, which in turn, hold shares of stock for numerous beneficial owners.

Dividends

We have paid consecutive quarterly cash dividends since 2008, and currently expect that comparable cash dividends will continue to be paid for the foreseeable future. The declaration and payment of future dividends is contingent upon our revenue and earnings, capital requirements, and general financial conditions, as well as contractual restrictions and other considerations deemed to be relevant by the Board of Directors.

28

Performance Graph

The following Performance Graph and related information shall not be deemed to be filed with the SEC, nor shall such information be incorporated by reference into any future filing under the Securities Act of 1933 or Securities Exchange Act of 1934, each as amended, except to the extent that we specifically incorporate it by reference into such filing.

The following graph compares the cumulative total return to holders of our common stock during the five-year period from December 31, 2018, and in each quarter up through December 31, 2023. The return is compared to the cumulative total return during the same period achieved on the Standard & Poor’s 500 Stock Index (the “S&P 500”) and a peer group index selected by our management that includes five public companies within our industry (the “Peer Group”). The companies in the Peer Group were selected because they comprise a broad group of publicly held corporations, each of which has some operations similar to ours. When taken as a whole, management believes the Peer Group more closely resembles our total business than any individual company in the group. The Peer Group is composed of MasTec, Inc., MYR Group, Inc., Dycom Industries, Inc., Sterling Construction Company, Inc. and Granite Construction, Inc. The Peer Group was modified in 2023 to replace Quanta Services, Inc. and Matrix Service Company with Dycom Industries, Inc. and MYR Group, Inc. as the overall composition of our business has changed and we believe this new peer group more closely resembles us from both an operations and market capitalization perspective.

The returns are calculated assuming that an investment with a value of $100 was made in our common stock, the S&P 500 and the Peer Group as of December 31, 2018. All dividends were reinvested in additional shares of common stock. The Peer Group investment is weighted based on the market capitalization of each company at the measurement period. The graph lines merely connect the measuring dates and do not reflect fluctuations between those dates. The stock performance shown on the graph is not intended to be indicative of future stock performance.

COMPARISON OF DECEMBER 31, 2018 THROUGH DECEMBER 31, 2023

CUMULATIVE TOTAL RETURN

Among Primoris Services Corporation (“PRIM”), the S&P 500 and the Peer Group

Graphic

ITEM 6. [RESERVED]

29

ITEM 7.

MANAGEMENT’S DISCUSSION AND ANALYSIS OF FINANCIAL CONDITION AND RESULTS OF OPERATIONS

You should read the following discussion of our financial condition and results of operations in conjunction with the financial statements and the notes to those statements included in Item 8 in this Annual Report on Form 10-K. This discussion includes forward-looking statements that are based on current expectations and are subject to uncertainties and unknown or changed circumstances. For a further discussion, please see “Forward-Looking Statements” at the beginning of this Annual Report on Form 10-K. Our actual results may differ materially from those anticipated in these forward-looking statements as a result of many factors, including those risks inherent with our business as discussed in “Item 1A Risk Factors”.

The following discussion starts with an overview of our business and a discussion of trends, including seasonality, that affect our industry. That is followed by an overview of the critical accounting policies and estimates that we use to prepare our financial statements. Next we discuss our results of operations and liquidity and capital resources, including our off-balance sheet arrangements and contractual obligations. We conclude with a discussion of our outlook and backlog.

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 services, maintenance, replacement, fabrication and engineering services to a diversified base of customers.

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline Services 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 communication systems.

The Energy segment operates throughout the United States and in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, 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. For the years ended December 31, 2023, 2022, and 2021, $3.9 billion, $2.7 billion, and $2.1 billion, 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 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

30

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.

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired. PLH is a utility-focused infrastructure services company with concentrations in key fast-growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the utility markets including power delivery, communications, and gas utilities. The total purchase price was funded through a combination of borrowings under our Third Amended and Restated Credit Agreement, dated as of August 1, 2022, which increased our term loan to an aggregate principal amount of $945.0 million (the “ New Term Loan”) and borrowings under our revolving credit facility, in which the lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to $325.0 million (the “Revolving Credit Facility”). We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment.

Acquisition of B Comm Holdco, LLC

On June 8, 2022, we acquired B Comm Holdco, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm was incorporated into our Utilities segment and is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our Master Services Agreement (“MSA”) revenue base and expand our communication services within the utility markets. The total purchase price was funded with borrowings under our Revolving Credit Facility.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired Alberta Screw Piles, Ltd. (“ASP”) for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one year periods ending March 1, 2023 and March 1, 2024, respectively. We incorporated the operations of ASP into our Energy segment.

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH was incorporated into our Utilities segment and is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the communications, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. The total purchase price was funded through a combination of existing cash balances, borrowings under our Term Loan facility, and borrowings under our Revolving Credit Facility.

Business Environment

We believe there are growth opportunities across the industries we serve and we continue to have a positive long-term outlook. Although not without risks and challenges, including those discussed below and in Forward-Looking Statements and included in Item 1A. Risk Factors, we believe, with our full-service operations, broad geographic reach, financial position and technical expertise, we are well positioned to capitalize on opportunities and trends in our industries.

31

We have seen and continue to anticipate potential changes to the already stringent regulatory and environmental requirements for many of our clients’ infrastructure projects, which may improve the timing and certainty of the projects. While permitting and other regulatory challenges create uncertainty as to the timing of some of our opportunities, we continue to see bidding activity for numerous midstream pipeline projects. We believe that we have the financial and operational strength to meet the challenge of either short-term delays or the impact of significant increases in work. We continue to be optimistic about both short and longer-term opportunities. Our current view of the outlook for our major end markets is as follows:

Construction of alternative energy facilities, chemical processing facilities, renewable natural gas facilities, solar power facilities, wind farms, battery storage — We believe state and federal governments, investors and utilities remain committed to a changing fuel generation mix that continues to move toward more alternative energy sources. As this trend grows, along with the demand for power, we are seeing an increase in new power generation facilities powered by renewable energy sources, as well as energy storage systems. We are benefitting from the increased spending and long-term tax incentives in the Inflation Reduction Act (“IRA”) signed by the President in August of 2022. The IRA extends tax incentives for wind and solar facilities and includes provisions to support standalone battery energy storage systems. The long term extension of these credits and strong support of U.S. manufacturing has attracted a significant amount of new capital to finance renewable projects as well as to enhance the supply chain needed to meet increasing demand. Other trends we are seeing are major investments in industrial gases and agricultural chemicals. To the extent this dynamic continues, we anticipate continued engineering, procurement, and construction opportunities, primarily benefitting our Energy segment.

Communications construction opportunities — We believe the federal government remains committed to improving or expanding broadband communications access. The IRA and other Federal and State programs provide critical funding to help construct and improve the infrastructure required to provide sufficient broadband access to areas that have historically had lower access to broadband services. We expect these opportunities, as well as ongoing spending by communications companies, to benefit our Utilities segment.

Power Delivery We are experiencing strong tailwinds in our power delivery business as the industry continues to invest in grid resiliency, modernization, renewable generation integration, and the push for electrification. Our national position in this specific market allows for scalable coverage across the industry. Electric distribution undergrounding initiatives with clients in our key markets has been, and will continue to be, a strong opportunity for us as we see utilities customers continue to invest in grid reliability. Additionally, we are experiencing new opportunities as utilities providers invest in renewable energy and upgrade their transmission infrastructure.

Inspection, maintenance and replacement of electric utility infrastructure — We expect the demand for electricity in the United States to grow over the long-term and believe enhancements to the electric utility infrastructure are needed to efficiently serve the power needs of the future. Renewable generation will require substations and transmission lines to connect the new generation sources to customers. In addition, current federal legislation also requires the power industry to meet federal reliability standards for its transmission and distribution systems. We also expect to benefit from the spending authorized in the 2021 Infrastructure Investment and Jobs Act intended to improve the electric grid. These opportunities, as well as ongoing electric utility repair and maintenance opportunities are expected to benefit our Utilities segment.

Inspection, maintenance and replacement of gas utility infrastructure — We expect that ongoing safety enhancements to gas pipeline systems and the gas utility infrastructure will provide continuing opportunities for our Utilities segment. We also expect that ongoing gas utility repair and maintenance opportunities will continue.

32

Construction of natural gas-fired power plants and industrial plants — We expect continued construction opportunities for both base-load and peak shaving power plants; however, we are aware that environmental concerns over gas fired power plants may impact the timing and location of near-term construction opportunities in certain states. We believe that based on continuing population growth, the intermittency of renewable power resources, and the environmental requirements limiting using ocean water for cooling, gas power plants will be needed in spite of vocal opposition to these “non-green” generation sources. In addition, the generally historically low price of natural gas could result in the continued replacement of coal-fired power plants and the conversion and expansion at chemical plants and industrial facilities in other parts of the United States. These opportunities would benefit our Energy segment.

Construction of petroleum, natural gas, natural gas liquid, and other liquid pipelines — We expect that the volatility in the price of oil could reduce activities in most, if not all of the shale basins. In addition, the ability of our customers to obtain permits for projects could impact the demand for our services, especially for larger interstate pipelines. However, production from the shale formations and increased demand for exporting liquified natural gas (“LNG”) could strain the current capacity limitations between production and processing locations which would provide opportunities for our Energy segment.

Inspection, maintenance and replacement of pipeline infrastructure — We believe that regulatory measures around the frequency or stringency of pipeline integrity testing requirements provides growth opportunity in our Energy segment. Regulatory requirements continue to mandate or require our customers to test, inspect, repair, maintain and replace pipeline infrastructure to ensure that it operates safely, reliably and in an environmentally conscious manner. In addition, permitting challenges associated with construction of new pipelines can make existing pipeline infrastructure more valuable, motivating owners to extend the useful life of existing pipeline assets through maintenance and integrity initiatives. As a result, we expect demand to continue to grow for our pipeline integrity services.

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, upgraded and expanded local highway and bridge needs, and from the activity level in the pipeline industry. However, periodically, each of these industries and government agencies is adversely affected by macroeconomic conditions. Economic and other factors outside of our control may affect the amount and size of contracts we are awarded in any particular period.

We actively monitor the impact of the dynamic macroeconomic environment, including the impact of inflation and the instability in the banking sector, 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 could create 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

33

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, 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 New 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 December 31, 2023, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of December 31, 2023, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $5.7 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

General—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 disclosure of contingent assets and liabilities as of the date of the financial statements, and also 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, estimates are particularly difficult to determine, and we must exercise significant judgment. Estimates may be used in our accounting for revenue recognized over time, the allowance for doubtful accounts, useful lives of property and equipment, fair value assumptions in analyzing goodwill and long-lived asset impairments, self-insured claims liabilities and deferred income taxes. Actual results could materially differ from those that result from using the estimates under different assumptions or conditions.

An accounting policy is deemed to be critical if i) it requires an accounting estimate to be based on assumptions about matters that are highly uncertain at the time the estimate is made, ii) different estimates could have reasonably been used, or iii) changes in the accounting estimates that are reasonably likely to occur periodically could materially impact our consolidated financial statements.

34

The following accounting policies require critical accounting estimates that are based on, among other things, judgments and assumptions made by management that include inherent risks and uncertainties. Management’s estimates are based on the relevant information available at the end of each period. We periodically review these accounting policies and critical accounting estimates with the Audit Committee of the Board of Directors.

Revenue recognition — 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.

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

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 any prevailing impacts from pandemics or epidemics 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

35

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. If at any time the estimate of contract profitability indicates an anticipated loss on a contract, the projected loss is recognized in full, including 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 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.

At December 31, 2023, we had approximately $203.5 million of unapproved contract modifications included in the aggregate transaction prices. These unapproved contract modifications were in the process of being negotiated in the normal course of business. Approximately $175.7 million of the unapproved contract modifications had been recognized as revenue on a cumulative catch-up basis through December 31, 2023.

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. However, 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 Consolidated Balance Sheets represents the following:

unbilled revenue, which arise 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 the cost incurred to a specific project.

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

deferred revenue on billings in excess of contract revenue recognized to date, and

the accrued loss provision.

Business combinations—We use the fair value of the consideration paid and the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses we acquire. The determination of fair value requires estimates and judgments of future cash flow expectations for the assignment of the fair values to the identifiable tangible and intangible assets.

36

Identifiable Tangible Assets. Significant identifiable tangible assets acquired would include accounts receivable, contract assets, leases and fixed assets (generally consisting of facilities and construction equipment). We determine the fair value of these assets as of the acquisition date. For current assets and current liabilities of an acquisition, we will evaluate whether the book value is equivalent to fair value due to their short term nature. We estimate the fair value of fixed assets using a market approach, based on comparable market values for similar equipment of similar condition and age.

Identifiable Intangible Assets. When necessary, we use the assistance of an independent third-party valuation specialist to determine the fair value of the intangible assets acquired. Third-party specialists are used to help us identify and separate intangible assets apart from goodwill such as customer relationships and tradenames. Fair value is determined by analyzing revenue trends, expected growth rates for existing customers, customer attrition rates, royalty rates, discount rates and intended use of future assets.

A liability for contingent consideration based on future earnings is estimated at its fair value at the date of acquisition, with subsequent changes in fair value recorded in earnings as a gain or loss. Fair value is estimated as of the acquisition date based on management’s best estimate of estimated earnout payments.

Accounting principles generally accepted in the United States provide a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, adjustments to initial valuations and estimates that reflect newly discovered information that existed at the acquisition date are recorded. After the measurement date, any adjustments would be recorded as a current period gain or loss.

Goodwill and Indefinite-Lived Intangible Assets—Goodwill and certain intangible assets acquired in a business combination and determined to have indefinite useful lives are not amortized but are assessed for impairment annually and more frequently if triggering events occur. In performing these assessments, management relies on various factors, including operating results, business plans, economic projections, anticipated future cash flows, comparable transactions and other market data. There are inherent uncertainties related to these factors and judgment in applying them to the analysis of goodwill for impairment. Since judgment is involved in performing fair value measurements used in goodwill impairment analyses, there is risk that the carrying values of our goodwill may not be properly stated.

We account for goodwill, including evaluation of any goodwill impairment under ASC 350, “Intangibles — Goodwill and Other”, performed at the reporting unit level for those units with recorded goodwill as of October 1 of each year, unless there are indications requiring a more frequent impairment test.

Under ASC 350, we can assess qualitative factors to determine if a quantitative impairment test of intangible assets is necessary. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.

There were no impairments of goodwill for the years ended December 31, 2023, 2022 and 2021.

Income taxes—We account for income taxes under the asset and liability method as set forth in ASC 740, “Income Taxes”, which requires the recognition of deferred tax assets and liabilities for the expected future tax consequences of events that have been included in the financial statements. Under this method, deferred tax assets and liabilities are determined based on the temporary differences between the financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. The

37

effect of changes in tax rates on net deferred tax assets or liabilities is recognized as an increase or decrease in net income in the period the tax change is enacted.

Deferred tax assets may be reduced by a valuation allowance if, in the judgment of management, it is more likely than not that all or a portion of a deferred tax asset will not be realized. In making such determination, we consider all available evidence, including recent financial operations, projected future taxable income, scheduled reversals of deferred tax liabilities, tax planning strategies, and the length of tax asset carryforward periods. The realization of deferred tax assets is primarily dependent upon our ability to generate sufficient future taxable earnings in certain jurisdictions. If we subsequently determine that some or all deferred tax assets that were previously offset by a valuation allowance are realizable, the value of the deferred tax assets would be increased by reducing the valuation allowance, thereby increasing income in the period when that determination is made.

A tax position is recognized as a benefit only if it is more likely than not that the tax position would be sustained based on its technical merits in a tax examination, using the presumption that the tax authority has full knowledge of all relevant facts regarding the position. The amount recognized is the largest amount of tax benefit that is greater than 50% likely of being realized on ultimate settlement with the tax authority. For tax positions not meeting the more likely than not test, no tax benefit is recorded. Based on our results for the year ended December 31, 2023, a one-percentage point increase in our effective tax rate would have resulted in an increase in our income tax expense of approximately $1.8 million.

Litigation and contingenciesLitigation and contingencies are included in our consolidated financial statements based on our assessment of the expected outcome of litigation proceedings or the expected resolution of the contingency. We record costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of loss, or range of possible loss, we review and evaluate 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 reasonably estimable, we do not accrue for a potential litigation loss. Management is unable to ascertain the ultimate outcome of other claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to the claims and 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 flows. See Note 12 — “Commitments and Contingencies” of the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K for further information.

Recently Issued Accounting Pronouncements

See Note 2 — “Summary of Significant Accounting Policies – Recently Issued Accounting Pronouncements” of the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K for a discussion of recently issued accounting pronouncements.

Results of Operations

Consolidated Results

Revenue

2023 and 2022

Revenue for the year ended December 31, 2023 increased by $1.3 billion, or 29.3%, compared to 2022. The increase was primarily due to growth in both our Energy and Utilities segments, and the acquisitions of PLH and B Comm in 2022.

38

2022 and 2021

Revenue for the year ended December 31, 2022 increased by $923.0 million, or 26.4%, compared to 2021. The increase was primarily due to growth in our Energy and Utilities segments, and the acquisitions of PLH and B Comm ($406.2 million combined) as described in the segment results below.

Gross Profit

2023 and 2022

For the year ended December 31, 2023, gross profit increased by $130.6 million, or 28.6%, compared to 2022. The increase was primarily due to an increase in revenue. Gross profit as a percentage of revenue remained consistent at 10.3% compared to the same period in 2022.

2022 and 2021

For the year ended December 31, 2022, gross profit increased by $40.2 million, or 9.7%, compared to 2021. The increase was primarily due to an increase in revenue and the acquisitions of PLH and B Comm ($46.4 million combined), partially offset by a decrease in margins. Gross profit as a percentage of revenue decreased to 10.3% from 11.9% in the same period in 2021 primarily as a result of negative gross margins experienced on pipeline projects in 2022, increased labor and fuel costs in our Utilities segment, and the favorable impact from the closeout of multiple pipeline projects in 2021, as more fully described in the segment results below.

In addition, we had a favorable impact from the change in useful lives of certain equipment, which reduced our depreciation expense for the year ended December 31, 2022 by $19.3 million compared to the same period in 2021. See Note 2 — “Summary of Significant Accounting Policies” of the Notes to Consolidated Financial Statements included in Item 8 of this Annual Report on Form 10-K.

Selling, general and administrative expenses

Selling, general and administrative expenses (“SG&A”) consist primarily of compensation and benefits to executive, management level and administrative employees, marketing and communications, professional fees, rent for facilities and utilities.

2023 and 2022

SG&A expenses were $328.7 million for the year ended December 31, 2023, an increase of $47.2 million, or 16.7% compared to 2022, primarily due to higher incentive compensation costs associated with improved operational performance and increases in headcount from the acquisitions of PLH and B Comm. SG&A expense as a percentage of revenue for the year ended December 31, 2023 decreased to 5.8% compared to 6.4% for the year ended December 31, 2022, primarily due to increased revenue.

2022 and 2021

SG&A expenses were $281.6 million for the year ended December 31, 2022, an increase of $51.5 million, or 22.4% compared to 2021, primarily due to the increases in headcount from the acquisitions of PLH and B Comm ($28.3 million) and increased costs to support our strong organic growth. SG&A expense as a percentage of revenue for the year ended December 31, 2022 decreased to 6.4% compared to 6.6% for the year ended December 31, 2021, primarily due to increased revenue.

39

Transaction and related costs

2023 and 2022

Transaction and related costs for the year ended December 31, 2023 were $5.7 million, a decrease of $14.4 million or 71.7% compared to 2022. The decrease was due to professional fees paid to advisors for the acquisitions of B Comm and PLH in 2022.

2022 and 2021

Transaction and related costs for the year ended December 31, 2022 were $20.1 million, an increase of $3.7 million or 22.3% compared to 2021, primarily due to an increase in professional fees paid to advisors for the acquisitions of PLH and B Comm.

Gain on Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Consolidated Statements of Income for the year ended December 31, 2022. There were no such comparable transactions for the years ended December 31, 2023 and 2021.

Other income and expense

Non-operating income and expense items for the years ended December 31, 2023, 2022 and 2021 were as follows (in millions):

Year Ended December 31, 

2023

    

2022

    

2021

Foreign exchange gain (loss), net

$

1.2

$

1.1

$

(0.1)

Other income, net

 

1.6

 

2.1

 

0.3

Interest expense, net

 

(78.2)

 

(39.2)

 

(18.5)

Total other expense

$

(75.4)

$

(36.0)

$

(18.3)

Interest expense, net for the year ended December 31, 2023 was $78.2 million compared to $39.2 million for the year ended December 31, 2022. The increase of $39.0 million was due primarily to higher average debt balances from the borrowings related to the PLH acquisition and higher average interest rates.

Interest expense, net for the year ended December 31, 2022 was $39.2 million compared to $18.5 million for the year ended December 31, 2021. The increase of $20.7 million was due primarily to higher average debt balances from the borrowings related to the PLH acquisition and a higher average interest rate.

The weighted average interest rate on total debt outstanding at December 31, 2023, 2022 and 2021 was 6.8%, 6.2% and 2.8%, respectively.

40

Provision for income taxes

Our provision for income taxes increased $25.3 million to $51.5 million for 2023 compared to 2022. The increase was primarily driven by the tax benefit recognized in 2022 for capital losses, the 2023 expiration of a temporary law which allowed full deductibility of per diem expenses in 2021 and 2022, and increased pre-tax profits subject to tax. The 2023 effective tax rate was 29%.

Our provision for income taxes decreased $9.8 million to $26.3 million for 2022 compared to 2021. The decrease was primarily driven by the release of valuation allowances during the second and third quarters of 2022, partially offset by tax on increased pre-tax profits. Due to capital gains on the sale of California properties in 2022, we have released all of the valuation allowance previously placed on capital losses and recognized a 5.8% decrease in our 2022 annual effective tax rate. The 2022 effective tax rate was 16.5%.

41

Segment Results

Utilities Segment

Revenue and gross profit for the Utilities segment for the years ended December 31, 2023, 2022 and 2021 were as follows:

Year Ended December 31, 

2023

2022

2021

    

% of

    

% of

    

% of

Segment

Segment

Segment

(Millions)

Revenue

(Millions)

Revenue

(Millions)

Revenue

Utilities Segment

Revenue

$

2,380.2

$

2,024.3

$

1,658.0

Gross profit

207.0

 

8.7%

210.7

 

10.4%

186.3

 

11.2%

2023 and 2022

Revenue increased by $355.9 million, or 17.6%, during 2023 compared to 2022. The increase is primarily due to the acquisitions of PLH and B Comm in 2022 and increased activity in our power delivery and communications markets.

Gross profit decreased $3.7 million, or 1.8%, during 2023 compared to 2022. The decrease is primarily due to a decrease in margins, partially offset by growth in revenue. Gross profit as a percentage of revenue decreased to 8.7% in 2023 compared to 10.4% in 2022 primarily due to productivity issues on some legacy PLH projects that are nearing completion, higher costs associated with a communication project in 2023, and a shift in revenue mix in 2023.

2022 and 2021

Revenue increased by $366.3 million, or 22.1%, during 2022 compared to 2021. The increase is primarily due to the acquisitions of PLH and B Comm ($260.7 million combined) in 2022 and increased activity across the power delivery and communications markets.

Gross profit increased $24.4 million, or 13.1%, during 2022 compared to 2021. The increase is primarily attributable to the incremental impact of the PLH and B Comm acquisitions ($26.2 million), partially offset by lower margins. Gross profit as a percentage of revenue decreased to 10.4% in 2022 compared to 11.2% in 2021 primarily due to increased fuel and labor costs from the inflationary environment we experienced in 2022. A substantial majority of the work done in our Utilities segment is performed over longer term MSA contracts. These MSA contracts generally have escalation provisions that allow us to adjust billing rates annually, but typically the annual adjustment is 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. Due to the inflationary environment we experienced in 2022, our actual cost increases exceeded the contractual caps, and therefore negatively impacted gross margins. We were successful in renegotiating some of our major contracts to address the increased fuel and labor costs on future work and continue to address this with our utility customers.

42

Energy Segment

Revenue and gross profit for the Energy segment for the years ended December 31, 2023, 2022 and 2021 were as follows:

Year Ended December 31, 

2023

2022

2021

    

% of

    

% of

    

% of

Segment

Segment

Segment

(Millions)

Revenue

(Millions)

Revenue

(Millions)

Revenue

Energy Segment

Revenue

$

3,335.1

$

2,396.3

$

1,839.7

Gross profit

380.5

 

11.4%

246.2

 

10.3%

230.4

 

12.5%

2023 and 2022

Revenue increased by $938.8 million, or 39.2%, during 2023 compared to 2022, primarily due to increased renewable energy, industrial, and pipeline activity and the PLH acquisition.

Gross profit increased by $134.3 million, or 54.5% during 2023 compared to 2022, due to higher revenue and margins. Gross profit as a percentage of revenue increased to 11.4% in 2023 compared to 10.3% in 2022, primarily due to significant growth in higher margin renewable energy work, strong performance on a pipeline project in the mid-Atlantic in 2023, higher costs on a separate pipeline project in the mid-Atlantic from unfavorable weather conditions experienced in 2022 and higher relative carrying costs for equipment and personnel in 2022 caused by lower than anticipated pipeline volumes.

2022 and 2021

Revenue increased by $556.6 million, or 30.3%, during 2022 compared to 2021, due to increased renewable energy activity ($430.1 million), the PLH acquisition ($145.4 million), and increased activity on electric power plants and hydrogen plants, partially offset by the substantial completion of pipeline projects in 2021 and a decline in midstream pipeline market demand.

Gross profit increased by $15.8 million, or 6.8%, during 2022 compared to 2021, primarily due to higher revenue. Gross profit as a percentage of revenue decreased to 10.3% in 2022 compared to 12.5% in 2021, primarily due to the favorable impact from the closeout of multiple pipeline projects in 2021, higher costs on a project in the Mid-Atlantic from unfavorable weather conditions experienced in 2022 and lower than anticipated volumes in 2022, which lead to higher relative carrying costs for equipment and personnel. The decrease was partially offset by increased revenue on higher margin renewable energy projects in 2022 and higher costs associated with an LNG plant project in the Northeast in 2021.

43

Liquidity and Capital Resources

Cash Needs

Liquidity represents our ability to pay our liabilities when they become due, fund business operations, 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. 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. At December 31, 2023, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $51.6 million, and available borrowing capacity was $273.4 million.

In June 2023, we entered into an Accounts Receivable Facility (the “Facility”) with PNC Bank, National Association (“PNC”) to reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.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 December 31, 2023. As of December 31, 2023, we had $25.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 our credit facility as necessary to fund our operations or to fund the acquisition of new businesses.

Our cash and cash equivalents totaled $217.8 million at December 31, 2023, compared to $248.7 million at December 31, 2022. We anticipate that our cash and investments on hand, existing borrowing capacity under our credit facilities, 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. In 2023, we spent approximately $103.0 million for capital expenditures, which included $34.0 million for construction equipment. Capital expenditures are expected to total between $80.0 million and $100.0 million for 2024, which includes $20.0 million to $40.0 million for construction equipment.

Cash Flows

Cash flows during the years ended December 31, 2023, 2022 and 2021 are summarized as follows (in millions):

Year Ended December 31, 

2023

 

2022

 

2021

Change in cash:

Net cash provided by operating activities

$

198.6

$

83.3

$

79.7

Net cash used in investing activities

 

(30.0)

 

(481.9)

 

(691.3)

Net cash (used in) provided by financing activities

 

(205.3)

 

452.0

 

485.8

Effect of exchange rate changes

1.3

(0.1)

0.5

Net change in cash, cash equivalents and restricted cash

$

(35.4)

$

53.3

$

(125.3)

44

Operating Activities

The sources and uses of cash flow associated with operating activities for the years ended December 31, 2023, 2022 and 2021 were as follows (in millions):

Year Ended December 31, 

2023

    

2022

    

2021

Operating Activities:

Net income

$

126.1

$

133.0

$

115.7

Depreciation and amortization

 

107.0

 

99.2

 

105.6

Gain on sale and leaseback transaction

 

 

(40.1)

 

Changes in assets and liabilities

(0.1)

(79.0)

(132.7)

Gain on sale of property and equipment

(48.1)

(31.9)

(15.9)

Other

 

13.6

 

2.1

 

7.0

Net cash provided by operating activities

$

198.6

$

83.3

$

79.7

2023 and 2022

Net cash provided by operating activities for 2023 was $198.6 million, an increase of $115.3 million compared to 2022. The change year-over-year was primarily due to improvement in the impact from the changes in assets and liabilities and the inclusion of $40.1 million of gain on a sale and leaseback transaction in 2022 net income.

The significant components of the $0.1 million change in assets and liabilities for the year ended December 31, 2023 are summarized as follows:

Contract assets increased by $229.8 million from December 31, 2022 primarily due to significant revenue growth in 2023;

Accounts receivable increased $16.9 million from December 31, 2022, which is net of the $75.0 million we received from the Accounts Receivable Securitization Facility;

Accounts payable increased $93.4 million from December 31, 2022 primarily due to increased revenue and the timing of payments to our vendors;

Contract liabilities increased $84.7 million, primarily due to higher deferred revenue; and

Other current assets decreased by $45.6 million primarily due to an income tax refund and the timing of prepaid material purchases.

2022 and 2021

Net cash provided by operating activities for 2022 was $83.3 million, an increase of $3.6 million compared to 2021. The change year-over-year was primarily due to improvement in the impact from the changes in assets and liabilities, partially offset by a decrease in net income (after adjusting for cash from gains reported in investing activities).

The significant components of the $79.0 million change in assets and liabilities for the year ended December 31, 2022 are summarized as follows:

Accounts payable and accrued liabilities increased $197.2 million from December 31, 2021 primarily due to revenue growth and the timing of our payments to vendors;

45

Contract assets increased by $118.8 million from December 31, 2021 primarily due to significant revenue growth in 2022;

Accounts receivable increased by $98.7 million from December 31, 2021 primarily due to increased revenue; and

Other current assets increased by $70.3 million from December 31, 2021 primarily due to prepaid material purchases related to solar projects.

Investing activities

Net cash used in investing activities was $30.0 million, $481.9 million, and $691.3 million in the years ended December 31, 2023, 2022 and 2021, respectively.

During 2023, we received $9.3 million from a net working capital true-up related to the PLH acquisition.

During 2022, we used $478.4 million for acquisitions, primarily for the acquisitions of PLH and B Comm.

During 2021, we used $607.0 million for the acquisition of FIH.

We purchased property and equipment for $103.0 million, $94.7 million and $133.8 million in the years ended December 31, 2023, 2022 and 2021, respectively, principally for our construction activities and facilities investment. 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 $63.7 million, $41.3 million and $49.5 million for 2023, 2022 and 2021, respectively. Additionally, we received net proceeds of $49.9 million from a sale and leaseback transaction of land and buildings during the year ended December 31, 2022.

Financing activities

Financing activities used cash of $205.3 million in 2023, which was primarily due to the following:

Net payments on our revolving credit facilities of $100.0 million; and
Payment of long-term debt of $97.0 million.

Financing activities provided cash of $452.0 million in 2022, which was primarily due to the following:

Proceeds from the entry into an amended and upsized term loan of $432.9 million, net of debt issuance costs paid;
Net borrowings on our credit facilities of $100.0 million;
Proceeds from the issuance of debt secured by our equipment of $30.0 million;
Payment of long-term debt of $86.8 million; and
Dividend payments to our stockholders of $12.8 million.

Financing activities provided cash of $485.8 million in 2021, which was primarily due to the following:

Proceeds from the entry into an amended and upsized term loan of $395.1 million, net of debt issuance costs paid;
Proceeds from the issuance of common stock $178.7 million;
Proceeds from the issuance of debt secured by our equipment of $61.7 million;

46

Payment of long-term debt of $113.9 million;
Purchase of common stock of $14.7 million; and
Dividend payments to our stockholders of $12.6 million.

Debt Activities

Credit Agreement

On August 1, 2022, we entered into the Amended Credit Agreement with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”) that increased the Term Loan by $439.5 million to an aggregate principal amount of $945.0 million. The Amended Credit Agreement is scheduled to mature on August 1, 2027.

In addition to the New Term Loan, the Amended Credit Agreement increased the existing $200.0 million Revolving Credit Facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit, to $325.0 million. At December 31, 2023, there were no outstanding borrowings under the Revolving Credit Facility, commercial letters of credit outstanding were $51.6 million, and available borrowing capacity was $273.4 million.

Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $11.8 million, with the balance due on August 1, 2027. The proceeds from the New Term Loan and additional borrowings under the Revolving Credit Facility were used to finance the acquisition of PLH.

We capitalized $6.5 million of debt issuance costs during the third quarter of 2022 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement. In addition, we recorded a loss on extinguishment of debt during the third quarter of 2022 of $0.8 million related to the Amended Credit Agreement.

The principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) the Secured Overnight Financing Rate (“SOFR”) plus an applicable margin as specified in the Amended Credit Agreement (based on our net senior debt to earnings before interest, taxes, depreciation and amortization (“EBITDA”) ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.50% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.

The principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million.

Loans made under the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Amended Credit Agreement.

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 at December 31, 2023.

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 New Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin which was 2.25% at December 31, 2023. The interest rate swap matures on January 31, 2025.

47

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. At December 31, 2023, commercial letters of credit outstanding were $0.9 million in Canadian dollars and there were no outstanding borrowings. Available capacity at December 31, 2023 was $13.1 million in Canadian dollars.

Contractual Obligations

As of December 31, 2023, we had $964.7 million of outstanding long-term debt, and there were no short-term borrowings.

A summary of contractual obligations as of December 31, 2023 is as follows (in millions):

    

Total

    

1 Year

    

2 - 3 Years

    

4 - 5 Years

    

After 5 Years

Long-term debt

$

964.7

$

72.9

$

141.4

$

743.3

$

7.1

Interest on long-term debt (1)

 

225.4

 

64.0

 

122.3

 

38.6

 

0.5

Operating leases

 

406.6

 

112.8

 

171.5

 

97.8

 

24.5

$

1,596.7

$

249.7

$

435.1

$

879.8

$

32.1

Letters of credit

$

52.3

$

52.3

$

$

$

(1)The interest amount represents interest payments for our fixed rate debt assuming that principal payments are made as originally scheduled. Our Credit Agreement bears interest at variable market rates, and estimated payments are based on the interest rate in effect as of December 31, 2023, including the impact of our interest rate swap.

The summary does not include potential obligations under multi-employer pension plans in which some of our employees participate. Our multi-employer pension plan contribution rates are generally specified in our collective bargaining agreements, and contributions are made to the plans based on employee payrolls. Our obligations for future periods cannot be determined because we cannot predict the number of employees that we will employ at any given time nor the plans in which they may participate.

We may also be required to make additional contributions to multi-employer pension plans if they become underfunded, and these contributions will be determined based on our union payroll. The Pension Protection Act of 2006 added special funding and operational rules for multi-employer plans that are classified as “endangered,” “seriously endangered” or “critical” status. Plans in these classifications must adopt measures to improve their funded status through a funding improvement or rehabilitation plan, which may require additional contributions from employers. The amounts of additional funds that we may be obligated to contribute cannot be reasonably estimated and is not included in the table above.

Off Balance Sheet Arrangements

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.

At December 31, 2023, we had letters of credit outstanding of $52.3 million under the terms of our credit agreements. These letters of credit are primarily used by our insurance carriers to ensure reimbursement for amounts that they are disbursing on our behalf, such as to 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 Canadian Credit Facility. If a beneficiary were to successfully draw on any letter of credit, 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. We do not believe that it is likely that any material claims will be made under a letter of credit.

48

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. At December 31, 2023, we had bid and completion bonds issued and outstanding totaling approximately $5.9 billion. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion at December 31, 2023. We do not believe that it is likely that a material claim will be made 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 (“ERISA”), 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 that are classified as “endangered”, “seriously endangered”, or “critical” status. 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.

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

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

49

Fixed and MSA Backlog by reporting segment for the periods ending December 31, 2023 and 2022 were as follows (in millions):

December 31, 2023

December 31, 2022

Next 12 Months

Total

Next 12 Months

Total

00

Utilities

Fixed Backlog

$

96.3

$

96.3

$

183.3

$

183.3

MSA Backlog

1,776.5

5,093.6

1,649.9

4,967.1

Backlog

$

1,872.8

$

5,189.9

$

1,833.2

$

5,150.4

Energy

Fixed Backlog

$

2,599.0

$

5,102.6

$

1,920.8

$

3,391.8

MSA Backlog

308.2

602.4

258.5

552.8

Backlog

$

2,907.2

$

5,705.0

$

2,179.3

$

3,944.6

Total

Fixed Backlog

$

2,695.3

$

5,198.9

$

2,104.1

$

3,575.1

MSA Backlog

2,084.7

5,696.0

1,908.4

5,519.9

Backlog

$

4,780.0

$

10,894.9

$

4,012.5

$

9,095.0

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.

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 7A.

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 Consolidated Balance Sheets approximate fair value at December 31, 2023, due to the generally short maturities of these items.

50

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 December 31, 2023, $300.0 million of our variable rate debt outstanding was economically hedged. Based on our variable rate debt outstanding as of December 31, 2023, a 1.0% increase or decrease in interest rates would change annual interest expense by approximately $5.7 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 8.

FINANCIAL STATEMENTS AND SUPPLEMENTARY DATA

Our financial statements, supplementary financial data and financial statement schedules are included in a separate section at the end of this Annual Report on Form 10-K, and are incorporated herein by reference. The financial statements, supplementary data and schedules are listed in the index on page F-1 of this Annual Report on Form 10-K and are incorporated herein by reference.

ITEM 9.

CHANGES IN AND DISAGREEMENTS WITH ACCOUNTANTS ON ACCOUNTING AND FINANCIAL DISCLOSURE

None.

51

ITEM 9A.

CONTROLS AND PROCEDURES

Evaluation of Disclosure Controls and Procedures

We maintain disclosure controls and procedures that are designed to ensure that information required to be disclosed in our reports under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and that such information is accumulated and communicated to management, including our Chief Executive Officer (“CEO”) and Chief Financial Officer (“CFO”), as appropriate, to allow for timely decisions regarding required disclosure. In designing and evaluating our disclosure controls and procedures, our management recognizes that any system of controls and procedures, no matter how well designed and operated, can only provide reasonable assurance of achieving the desired control objectives, as ours are designed to do, and our management necessarily is 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.

In connection with the preparation of this Annual Report on Form 10-K, as of December 31, 2023, an evaluation was performed under the supervision and with the participation of our management, including our CEO and CFO, of the effectiveness of our disclosure controls and procedures (as defined in Rule 13a-15(e) or 15d-15(e) under the Exchange Act). Based on that evaluation, our CEO and CFO concluded that our disclosure controls and procedures were effective at the reasonable assurance level as of December 31, 2023, to ensure that the information required to be disclosed by us in our reports that we file or submit under the Exchange Act is recorded, processed, summarized and reported within the time periods specified in the SEC’s rules and forms, and to ensure that the information required to be disclosed by us in reports that we file or submit under the Exchange Act is accumulated and communicated to our management, including our CEO and CFO, as appropriate, to allow timely decisions regarding required disclosures.

Management’s Annual Report on Internal Control Over Financial Reporting

Our management is responsible for establishing and maintaining adequate internal control over financial reporting as defined in Rules 13a-15(f) or 15d-15(f) under the Exchange Act. Our internal control over financial reporting is designed 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. Our internal control over financial reporting includes those policies and procedures that:

(i)pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of our assets;

(ii)provide reasonable assurance that transactions are recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that our receipts and expenditures are being made only in accordance with authorizations of our management and directors; and

(iii)provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use or disposition of our assets that could have a material effect on our financial statements.

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

Under the supervision and with the participation of our management, including our CEO and CFO, our management conducted an evaluation of the effectiveness of our internal control over financial reporting as of December 31, 2023. Management based this assessment on the framework in “Internal Control–Integrated Framework (2013)” issued by the Committee of Sponsoring Organizations of the Treadway Commission. Based on that evaluation, our CEO and CFO concluded that our internal control over financial reporting was effective as of December 31, 2023. Management reviewed the results of its assessment with the Audit Committee of our Board of Directors.

52

Independent Registered Public Accounting Firm Report

Moss Adams LLP, the independent registered public accounting firm that audited our consolidated financial statements included in this Annual Report on Form 10-K, has issued a report on our internal control over financial reporting as of December 31, 2023. The report, which expresses an unqualified opinion on the effectiveness of our internal control over financial reporting as of December 31, 2023, is included in “Item 8. Financial Statements and Supplemental Data” under the heading “Report of Independent Registered Public Accounting Firm.”

Changes in Internal Control Over Financial Reporting

Our management, with the participation of our CEO and CFO, has evaluated any changes in our internal control over financial reporting that occurred during the quarter ended December 31, 2023. Based on this evaluation, our CEO and CFO concluded that, at December 31, 2023, there has not been any change in our internal control over financial reporting during the most recent fiscal quarter that has materially affected, or is reasonably likely to materially affect, our internal control over financial reporting.

ITEM 9B.

OTHER INFORMATION

None.

ITEM 9C.

Disclosure Regarding Foreign Jurisdictions that Prevent Inspections.

Not applicable.

53

PART III

ITEM 10.

DIRECTORS, EXECUTIVE OFFICERS AND CORPORATE GOVERNANCE

The information required under this Item 10 is set forth in our Proxy Statement for the 2024 Annual Meeting of Stockholders to be filed with the SEC within 120 days of December 31, 2023 (the “Proxy Statement”) and is incorporated herein by reference.

ITEM 11.

EXECUTIVE COMPENSATION

The information required under this Item 11 is set forth in our Proxy Statement and is incorporated herein by reference, except for the information required by Item 402(v) of Regulation S-K or set forth under the caption, “Compensation Committee Report” of our Proxy Statement, which specifically is not incorporated herein by reference.

ITEM 12.

SECURITY OWNERSHIP OF CERTAIN BENEFICIAL OWNERS AND MANAGEMENT AND RELATED STOCKHOLDER MATTERS

The information required under this Item 12 is set forth in our Proxy Statement and is incorporated herein by reference.

ITEM 13.

CERTAIN RELATIONSHIPS AND RELATED TRANSACTIONS, AND DIRECTOR INDEPENDENCE

The information required under this Item 13 is set forth in our Proxy Statement and is incorporated herein by reference.

ITEM 14.

PRINCIPAL ACCOUNTANT FEES AND SERVICES

The information required under this Item 14 is set forth in our Proxy Statement and is incorporated herein by reference.

54

PART IV

ITEM 15. EXHIBITS AND FINANCIAL STATEMENT SCHEDULES

(A)We have filed the following documents as part of this Report:
1.Consolidated Balance Sheets of Primoris Services Corporation and subsidiaries as of December 31, 2023 and 2022 and the related Consolidated Statements of Income, Comprehensive Income, Stockholders’ Equity and Cash Flows for the years ended December 31, 2023, 2022 and 2021.
2.Report of Moss Adams LLP, independent registered public accounting firm, related to the consolidated financial statements in part (A)(1) above.
3.Notes to the consolidated financial statements in part (A)(1) above.
4.List of exhibits required by Item 601 of Regulation S-K. See part (B) below.

(B)        The following is a complete list of exhibits filed as part of this Report, some of which are incorporated herein by reference from certain other of our reports, registration statements and other filings with the SEC, as referenced below:

Exhibit No.

Description

Exhibit 2.1

Agreement and Plan of Merger, dated December 14, 2020, among Primoris Services Corporation, Future Infrastructure Holdings, LLC, Primoris Merger Sub, LLC and Tower Arch Capital, L.P. (incorporated by reference to Exhibit 2.1 to our Current Report on Form 8-K, as filed with the SEC on December 15, 2020)

Exhibit 2.2

Amendment No 1. to Agreement and Plans of Merger, dated as of January 11, 2021 (incorporated by reference to Exhibit 2.2 to our Current Report on Form 8-K, as filed with the SEC on January 15, 2021)

Exhibit 2.3

Agreement and Plan of Merger, dated June 24, 2022, among Primoris Services Corporation, PLH Group, Inc., Amp Merger Sub, Inc. and Shareholder Representative Services LLC, as Stockholder Representative. (incorporated by reference to Exhibit 2.1 to Primoris’ Current Report on Form 8-K filed on June 27, 2022)

Exhibit 3.1

Fifth Amended and Restated Certificate of Incorporation of Primoris Services Corporation, dated May 4, 2018 (incorporated by reference to Exhibit 3.1 to our Quarterly Report on Form 10-Q, as filed with the SEC on November 11, 2018)

Exhibit 3.2

Amended and Restated Bylaws of Primoris Services Corporation, as amended December 15, 2021 (incorporated by reference to Exhibit 3.1 to our Current Report on Form 8-K, as filed with the SEC on December 21, 2021)

Exhibit 4.1

Specimen Common Stock Certificate (incorporated by reference to Exhibit 4.2 to our Registration Statement on Form S-1 (File No. 333-134694), as filed with the SEC on June 2, 2006)

Exhibit 4.2

Description of Registrant’s Securities (incorporated by reference to Exhibit 4.2 to our Annual Report on Form 10-K, as filed with the SEC on March 1, 2022)

Exhibit 10.1

2008 Long-Term Equity Incentive Plan (incorporated by reference to Annex C to our Registration Statement on Form S-4/A (Amendment No. 4) (File No. 333-150343), as filed with the SEC on July 9, 2008) (#)

55

Exhibit No.

Description

Exhibit 10.2

2013 Equity Incentive Plan (incorporated by reference to Appendix A to our Definitive Proxy Statement on Schedule 14A filed with the SEC on April 9, 2013) (#)

Exhibit 10.3

General Indemnity Agreement, dated January 24, 2012, by and among Primoris Services Corporation, ARB, Inc. ARB Structures, Inc., OnQuest, Inc., OnQuest Heaters, Inc. Born Heaters Canada ULC, Cardinal Contractors, Inc., Cardinal Southeast, Inc., Stellaris, LLC, GML Coatings, LLC, James Construction Group, LLC, Juniper Rock Corporation, Rockford Corporation; Alaska Continental Pipeline, Inc., All Day Electric Company, Inc. Primoris Renewables, LLC, Rockford Pipelines Canada, Inc. and Chubb Group of Insurance Companies (incorporated by reference to Exhibit 10.51 to our Annual Report on Form 10-K, as filed with the SEC on March 5, 2012)

Exhibit 10.4

Contribution Agreement, dated as of September 30, 2013, by and among WesPac Energy LLC, Kealine Holdings LLC, Primoris Services Corporation and WesPac Midstream LLC and Highstar WesPac Main Interco LLC and Highstar WesPac Prism/IV-A Interco LLC (incorporated by reference to Exhibit 10.3 to our Quarterly Report on Form 10-Q, as filed with the SEC on November 5, 2013)

Exhibit 10.5

Agreement for Services, dated January 1, 2020, by and among Primoris Services Corporation and David King. (incorporated by reference to Exhibit 10.16 to our Annual Report on Form 10-K, as filed with the SEC on February 25, 2020) (#)

Exhibit 10.6

Employment Agreement dated April 1, 2022, by and between Primoris Services Corporation and Tom McCormick (incorporated by reference to Exhibit 10.1 to Primoris’ Current Report on Form 8-K filed on April 7, 2022) (#)

Exhibit 10.7

Employment Agreement dated April 1, 2022, by and between Primoris Services Corporation and Ken M. Dodgen (incorporated by reference to Exhibit 10.3 to Primoris’ Current Report on Form 8-K filed on April 7, 2022) (#)

Exhibit 10.8

Employment Agreement dated April 1, 2022, by and between Primoris Services Corporation and John M. Perisich (incorporated by reference to Exhibit 10.4 to Primoris’ Current Report on Form 8-K filed on April 7, 2022) (#)

Exhibit 10.9

2022 Primoris Services Corporation Employee Stock Purchase Plan (incorporated by reference to Exhibit 10.1 to Primoris’ Current Report on Form 8-K filed on May 9, 2022) (#)

Exhibit 10.10

Third Amended and Restated Credit Agreement by and among Primoris Services Corporation, CIBC Bank USA and the several other financial institutions party thereto. (incorporated by reference to Exhibit 10.1 to Primoris’ Current Report on Form 8-K filed on August 1, 2022)

Exhibit 10.11

2023 Equity Incentive Plan (incorporated by reference to Exhibit 10.1 to our Current Report on Form 8-K, as filed with the SEC on May 9, 2023).

Exhibit 10.12

John F. Moreno, Jr. Separation Agreement (incorporated by reference to Exhibit 10.1 to our Current Report on Form 8-K, as filed with the SEC on May 26, 2023).

Exhibit 21.1

Subsidiaries and equity investments of Primoris Services Corporation (*)

Exhibit 23.1

Consent of Moss Adams LLP, independent registered public accounting firm (*)

56

Exhibit No.

Description

Exhibit 31.1

Certification of chief executive officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (*)

Exhibit 31.2

Certification of chief financial officer pursuant to Section 302 of the Sarbanes-Oxley Act of 2002 (*)

Exhibit 32.1

Certification of chief executive officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (**)

Exhibit 32.2

Certification of chief financial officer pursuant to Section 906 of the Sarbanes-Oxley Act of 2002 (**)

Exhibit 97

Dodd-Frank Compensation Recovery Policy (*)

Exhibit 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 (*)

Exhibit 101 SCH

Inline XBRL Taxonomy Extension Schema Document (*)

Exhibit 101 CAL

Inline XBRL Taxonomy Extension Calculation Linkbase Document (*)

Exhibit 101 LAB

Inline XBRL Taxonomy Extension Label Linkbase Document (*)

Exhibit 101 PRE

Inline XBRL Taxonomy Extension Presentation Linkbase Document (*)

Exhibit 101 DEF

Inline XBRL Taxonomy Extension Definition Linkbase Document (*)

Exhibit 104

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

(#)

Management contract or compensatory plan, contract or arrangement.

(*)

Filed herewith.

(**)

This certification will not be deemed “filed” for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, or the Exchange Act, or otherwise subject to the liability of that section. Such certification will not be deemed to be incorporated by reference into any filing under the Securities Act of 1933, as amended, or the Exchange Act, except to the extent specifically incorporated by reference into such filing.

ITEM 16. FORM 10-K SUMMARY

None.

57

SIGNATURES

Pursuant to the requirements of Section 13 or 15(d) 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 (Registrant)

Date:

February 26, 2024

BY:

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

Pursuant to the requirements of the Securities Exchange Act of 1934, this Report has been signed below by the following persons on behalf of the Registrant and in the capacities indicated and on the date indicated.

Signature

Title

By:

/s/ Thomas E. McCormick

President, Chief Executive Officer and Director

Thomas E. McCormick

(Principal Executive Officer)

By:

/s/ Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

Kenneth M. Dodgen

(Principal Financial Officer)

By:

/s/ Travis L. Stricker

Senior Vice President, Chief Accounting Officer

Travis L. Stricker

(Principal Accounting Officer)

By:

/s/ David L. King

Chairman of the Board of Directors

David L. King

By:

/s/ Michael E. Ching

Director

Michael E. Ching

By:

/s/ Stephen C. Cook

Director

Stephen C. Cook

By:

/s/ Carla S. Mashinski

Director

Carla S. Mashinski

By:

/s/ Terry D. McCallister

Director

Terry D. McCallister

By:

/s/ Jose R. Rodriguez

Director

Jose R. Rodriguez

By:

/s/ John P. Schauerman

Director

John P. Schauerman

By:

/s/ Patricia K. Wagner

Director

Patricia K. Wagner

Date:

February 26, 2024

58

Report of Independent Registered Public Accounting Firm

To the Board of Directors and Stockholders of

Primoris Services Corporation

Opinions on the Financial Statements and Internal Control over Financial Reporting

We have audited the accompanying consolidated balance sheets of Primoris Services Corporation (the “Company”) as of December 31, 2023 and 2022, the related consolidated statements of income, comprehensive income, stockholders’ equity and cash flows for each of the three years in the period ended December 31, 2023, and the related notes (collectively referred to as the “consolidated financial statements”). We also have audited the Company’s internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control - Integrated Framework (2013) issued by the Committee of Sponsoring Organizations of the Treadway Commission (COSO).

In our opinion, the consolidated financial statements referred to above present fairly, in all material respects, the consolidated financial position of the Company as of December 31, 2023 and 2022, and the consolidated results of its operations and its cash flows for each of the three years in the period ended December 31, 2023, in conformity with accounting principles generally accepted in the United States of America. Also in our opinion, the Company maintained, in all material respects, effective internal control over financial reporting as of December 31, 2023, based on criteria established in Internal Control - Integrated Framework (2013) issued by COSO.

Basis for Opinions

The Company’s management is responsible for these consolidated financial statements, for maintaining effective internal control over financial reporting, and for its assessment of the effectiveness of internal control over financial reporting, included in the accompanying Management’s Annual Report on Internal Control over Financial Reporting included in Item 9A. Our responsibility is to express an opinion on the Company’s consolidated financial statements and an opinion on the Company’s internal control over financial reporting based on our audits. We are a public accounting firm registered with the Public Company Accounting Oversight Board (United States) (“PCAOB”) and are required to be independent with respect to the Company in accordance with the U.S. federal securities laws and the applicable rules and regulations of the Securities and Exchange Commission and the PCAOB.

We conducted our audits in accordance with the standards of the PCAOB. Those standards require that we plan and perform the audits to obtain reasonable assurance about whether the consolidated financial statements are free of material misstatement, whether due to error or fraud, and whether effective internal control over financial reporting was maintained in all material respects.

Our audits of the consolidated financial statements included performing procedures to assess the risks of material misstatement of the consolidated financial statements, whether due to error or fraud, and performing procedures to respond to those risks. Such procedures included examining, on a test basis, evidence regarding the amounts and disclosures in the consolidated financial statements. Our audits also included evaluating the accounting principles used and significant estimates made by management, as well as evaluating the overall presentation of the consolidated financial statements. Our audit of internal control over financial reporting included obtaining an understanding of internal control over financial reporting, assessing the risk that a material weakness exists, and testing and evaluating the design and operating effectiveness of internal control based on the assessed risk. Our audits also included performing such other procedures as we considered necessary in the circumstances. We believe that our audits provide a reasonable basis for our opinions.

Definition and Limitations of Internal Control Over Financial Reporting

A company’s internal control over financial reporting is a process designed 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. A company’s internal control over financial reporting includes those policies and procedures that (1) pertain to the maintenance of records that, in reasonable detail, accurately and fairly reflect the transactions and dispositions of the assets of the company; (2) provide reasonable assurance that transactions are

F-2

recorded as necessary to permit preparation of financial statements in accordance with generally accepted accounting principles, and that receipts and expenditures of the company are being made only in accordance with authorizations of management and directors of the company; and (3) provide reasonable assurance regarding prevention or timely detection of unauthorized acquisition, use, or disposition of the company’s assets that could have a material effect on the financial statements.

Because of its inherent limitations, internal control over financial reporting may not prevent or detect misstatements. Also, projections of any evaluation of effectiveness to future periods are subject to the risk that controls may become inadequate because of changes in conditions, or that the degree of compliance with the policies or procedures may deteriorate.

Critical Audit Matter

The critical audit matter communicated below is a matter arising from the current period audit of the consolidated financial statements that was communicated or required to be communicated to the audit committee and that (1) relates to accounts or disclosures that are material to the consolidated financial statements and (2) involved our especially challenging, subjective, or complex judgments. The communication of critical audit matters does not alter in any way our opinion on the consolidated financial statements, taken as a whole, and we are not, by communicating the critical audit matter below, providing a separate opinion on the critical audit matter or on the accounts or disclosures to which it relates.

Revenue Recognition – Estimated contract costs and variable consideration estimates: As described in Note 5 to the consolidated financial statements, for the year ended December 31, 2023, the Company’s consolidated revenue was $5,715 million, of which, $3,900 million was derived from contracts where scope was adequately defined, and was recognized over time as work is completed because of the continuous transfer of control to the customer. Under this method, the costs incurred to date as a percentage of total estimated costs at completion are used to calculate revenue. Total estimated costs at completion, and thus revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. Changes in these estimates could have a significant impact on the amount of revenue and profit recognized. Additionally, the nature of the Company’s contracts give rise to several types of variable consideration. The Company’s estimate of variable consideration and determination of whether to include estimated amounts in the transaction price are based largely on their assessment of anticipated performance and all information (historical, current and forecasted) that is reasonably available.

Based on the significant judgment required by management and high degree of subjectivity involved in the determination of both total estimated costs at completion and variable consideration, which in turn led to a high degree of auditor judgment, effort and subjectivity in performing procedures and evaluating audit evidence, we have identified auditing these estimates as a critical audit matter.

The primary procedures we performed to address this critical audit matter included:

Tested the design and operating effectiveness of internal controls over the contract management cycle, including those related to the accumulation of the estimated costs to complete a contract and the estimation of variable consideration.
Tested a selection of contracts where scope was adequately defined, including evaluating the reasonableness of the significant assumptions and judgments underlying the accounting for these selected contracts as follows:
oInquired with and inspected questionnaires prepared by project personnel to understand the status of the contract, changes from prior periods, key assumptions underlying the revenue and costs, and the existence of any claims or litigation and corroborating such information.
oAssessed the reasonableness of estimated costs to complete by analyzing historical contract performance relative to overall contractual commitments and estimated gross margin at year end. We assessed management’s assumptions on future contract costs by comparing them with executed change

F-3

orders, estimate documentation, correspondence with the customer, and job cost details with supporting third-party evidence.
oTested management’s estimation process by performing lookback analyses at the contract level to evaluate estimated costs and variable consideration settled in the current year compared to management’s prior year estimates.
oEvaluated the appropriateness of the Company’s inclusion or exclusion of variable consideration from the work-in-process schedule in the selection of contracts.

/s/ Moss Adams LLP

Dallas, Texas

February 26, 2024

We have served as the Company’s auditor since 2006.

F-4

PRIMORIS SERVICES CORPORATION

CONSOLIDATED BALANCE SHEETS

(In Thousands, Except Share Amounts)

December 31,

December 31,

    

2023

    

2022

ASSETS

Current assets:

Cash and cash equivalents

$

217,778

$

248,692

Accounts receivable, net

 

685,439

 

663,119

Contract assets

 

846,176

 

616,224

Prepaid expenses and other current assets

 

135,840

 

176,350

Total current assets

 

1,885,233

 

1,704,385

Property and equipment, net

 

475,929

 

493,859

Operating lease assets

360,507

202,801

Intangible assets, net

 

227,561

 

249,381

Goodwill

 

857,650

 

871,808

Other long-term assets

 

20,547

 

21,786

Total assets

$

3,827,427

$

3,544,020

LIABILITIES AND STOCKHOLDERS’ EQUITY

Current liabilities:

Accounts payable

$

628,962

$

534,956

Contract liabilities

 

366,476

 

275,947

Accrued liabilities

 

263,492

 

245,837

Dividends payable

 

3,202

 

3,187

Current portion of long-term debt

 

72,903

 

78,137

Total current liabilities

 

1,335,035

 

1,138,064

Long-term debt, net of current portion

 

885,369

 

1,065,315

Noncurrent operating lease liabilities, net of current portion

263,454

130,787

Deferred tax liabilities

 

59,565

 

57,101

Other long-term liabilities

 

47,912

 

43,915

Total liabilities

 

2,591,335

 

2,435,182

Commitments and contingencies (See Note 12)

Stockholders’ equity

Common stock—$0.0001 par value; 90,000,000 shares authorized; 53,366,327 and 53,124,899 issued and outstanding at December 31, 2023 and December 31, 2022, respectively

 

6

 

6

Additional paid-in capital

 

275,846

 

263,771

Retained earnings

 

961,028

 

847,681

Accumulated other comprehensive income

(788)

(2,620)

Total stockholders’ equity

 

1,236,092

 

1,108,838

Total liabilities and stockholders’ equity

$

3,827,427

$

3,544,020

See accompanying notes.

F-5

PRIMORIS SERVICES CORPORATION

CONSOLIDATED STATEMENTS OF INCOME

(In Thousands, Except Per Share Amounts)

Year Ended December 31, 

    

2023

    

2022

    

2021

Revenue

$

5,715,309

$

4,420,599

$

3,497,632

Cost of revenue

 

5,127,818

 

3,963,714

 

3,080,972

Gross profit

 

587,491

 

456,885

 

416,660

Selling, general and administrative expenses

 

328,733

 

281,577

 

230,110

Transaction and related costs

5,685

20,054

16,399

Gain on sale and leaseback transaction

(40,084)

Operating income

 

253,073

 

195,338

 

170,151

Other income (expense):

Foreign exchange gain (loss), net

1,163

1,088

(95)

Other income, net

 

1,604

 

2,072

 

299

Interest expense, net

 

(78,171)

 

(39,212)

 

(18,498)

Income before provision for income taxes

 

177,669

 

159,286

 

151,857

Provision for income taxes

 

(51,524)

 

(26,265)

 

(36,118)

Net income

126,145

133,021

115,739

Dividends per common share

$

0.24

$

0.24

$

0.24

Earnings per share:

Basic

$

2.37

$

2.50

$

2.19

Diluted

$

2.33

$

2.47

$

2.17

Weighted average common shares outstanding:

Basic

 

53,297

 

53,200

 

52,674

Diluted

 

54,223

 

53,759

 

53,161

See accompanying notes.

F-6

PRIMORIS SERVICES CORPORATION

CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME

(In Thousands)

 

Year Ended December 31, 

2023

    

2022

    

2021

 

Net income

$

126,145

$

133,021

$

115,739

Other comprehensive income (loss), net of tax:

Foreign currency translation adjustments

1,832

(3,318)

(260)

Comprehensive income

$

127,977

$

129,703

$

115,479

See accompanying notes.

F-7

PRIMORIS SERVICES CORPORATION

CONSOLIDATED STATEMENTS OF STOCKHOLDERS’ EQUITY

(In Thousands, Except Share Amounts)

Accumulated

Additional

Other

Total

Common Stock

Paid-in

Retained

Comprehensive

Stockholders’

    

Shares

    

Amount

    

Capital

    

Earnings

Income (Loss)

    

Equity

Balance, December 31, 2020

 

48,110,442

$

5

$

89,098

$

624,731

$

958

$

714,792

Net income

 

 

 

 

115,739

 

 

115,739

Foreign currency translation adjustments, net of tax

(260)

(260)

Issuance of shares, net of issuance costs

 

5,597,216

 

1

 

178,474

 

 

 

178,475

Conversion of Restricted Stock Units, net of shares withheld for taxes

122,690

(1,398)

(1,398)

Stock-based compensation

10,462

10,462

Dividend equivalent Units accrued - Restricted Stock Units

2

(2)

Purchase of stock

 

(635,763)

 

 

(14,720)

 

 

 

(14,720)

Distribution of noncontrolling entities

 

 

 

 

(165)

 

 

(165)

Dividends declared ($0.24 per share)

 

 

 

 

(12,870)

 

 

(12,870)

Balance, December 31, 2021

 

53,194,585

$

6

$

261,918

$

727,433

$

698

$

990,055

Net income

 

 

 

 

133,021

 

 

133,021

Foreign currency translation adjustments, net of tax

(3,318)

(3,318)

Issuance of shares

 

75,805

 

 

1,726

 

 

 

1,726

Conversion of Restricted Stock Units, net of shares withheld for taxes

131,709

(1,324)

(1,324)

Stock-based compensation

7,441

7,441

Purchase of stock

 

(277,200)

 

 

(5,990)

 

 

 

(5,990)

Dividends declared ($0.24 per share)

 

 

 

 

(12,773)

 

 

(12,773)

Balance, December 31, 2022

 

53,124,899

$

6

$

263,771

$

847,681

$

(2,620)

$

1,108,838

Net income

 

 

 

 

126,145

 

 

126,145

Foreign currency translation adjustments, net of tax

1,832

1,832

Issuance of shares

 

72,823

1,978

 

1,978

Conversion of Restricted Stock Units, net of shares withheld for taxes

 

168,605

(1,736)

 

(1,736)

Stock-based compensation

11,833

11,833

Dividends declared ($0.24 per share)

 

(12,798)

 

(12,798)

Balance, December 31, 2023

 

53,366,327

$

6

$

275,846

$

961,028

$

(788)

$

1,236,092

See accompanying notes.

F-8

PRIMORIS SERVICES CORPORATION

CONSOLIDATED STATEMENTS OF CASH FLOWS

(In Thousands)

Year Ended

December 31, 

    

2023

    

2022

    

2021

Cash flows from operating activities:

Net income

$

126,145

$

133,021

$

115,739

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

Depreciation and amortization

 

107,041

 

99,157

 

105,559

Stock-based compensation expense

 

11,833

 

7,441

 

10,462

Gain on sale of property and equipment

 

(48,104)

 

(31,890)

 

(15,921)

Gain on sale and leaseback transaction

(40,084)

Unrealized gain on interest rate swap

(397)

(5,581)

(4,859)

Other non-cash items

2,181

277

1,381

Changes in assets and liabilities:

Accounts receivable

 

(16,885)

 

(98,724)

 

10,540

Contract assets

 

(229,826)

 

(118,806)

 

(66,999)

Other current assets

 

45,578

 

(70,275)

 

(54,725)

Net deferred tax liabilities

29,429

14,695

25,564

Other long-term assets

459

932

(1,683)

Accounts payable

93,433

191,532

15,701

Contract liabilities

 

84,745

 

(7,869)

 

(29,111)

Operating lease assets and liabilities, net

 

(1,194)

 

(505)

 

(2,605)

Accrued liabilities

 

(6,832)

 

5,707

 

(24,700)

Other long-term liabilities

 

946

 

4,318

 

(4,596)

Net cash provided by operating activities

 

198,552

 

83,346

 

79,747

Cash flows from investing activities:

Purchase of property and equipment

 

(103,005)

 

(94,690)

 

(133,842)

Proceeds from sale of assets

 

63,695

 

41,302

 

49,548

Proceeds from sale and leaseback transaction, net of related expenses

49,887

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

9,300

(478,438)

(606,974)

Net cash used in investing activities

 

(30,010)

 

(481,939)

 

(691,268)

Cash flows from financing activities:

Borrowings under revolving lines of credit

440,223

188,560

100,000

Payments on revolving lines of credit

 

(540,223)

 

(88,560)

 

(100,000)

Proceeds from issuance of long-term debt

 

10,000

 

469,531

 

461,719

Payments on long-term debt

 

(96,987)

 

(86,769)

 

(113,851)

Proceeds from issuance of common stock

681

585

178,707

Debt issuance costs

(6,643)

(4,876)

Dividends paid

 

(12,783)

 

(12,778)

 

(12,565)

Purchase of common stock

(5,990)

(14,720)

Other

(6,190)

 

(5,893)

 

(8,681)

Net cash (used in) provided by financing activities

 

(205,279)

 

452,043

 

485,733

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

1,288

(102)

456

Net change in cash, cash equivalents and restricted cash

 

(35,449)

 

53,348

 

(125,332)

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

 

258,991

 

205,643

 

330,975

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

$

223,542

$

258,991

$

205,643

See accompanying notes

F-9

PRIMORIS SERVICES CORPORATION

CONSOLIDATED STATEMENTS OF CASH FLOWS (Continued)

(In Thousands)

SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION

Year Ended December 31, 

    

2023

    

2022

    

2021

Cash paid for interest

$

82,264

$

37,177

$

22,224

Cash paid for income taxes, net of refunds received

5,072

3,574

39,256

Leased assets obtained in exchange for new operating leases

260,396

98,127

17,149

SUPPLEMENTAL DISCLOSURE OF NONCASH INVESTING AND FINANCING ACTIVITIES

Year Ended December 31, 

    

2023

    

2022

    

2021

Dividends declared and not yet paid

$

3,202

$

3,187

$

3,192

See accompanying notes.

F-10

PRIMORIS SERVICES CORPORATION

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

Dollars in thousands, except share and per share amounts

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 services, 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 — Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments. See Note 13 – “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.

Seasonality 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.

Variability — 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 large 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 financial condition or operating results for any other quarter or for an entire year.

F-11

Note 2—Summary of Significant Accounting Policies

Basis of presentation The accompanying consolidated financial statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) and the financial statement rules and regulations of the Securities and Exchange Commission (“SEC”). References for Financial Accounting Standards Board (“FASB”) standards are made to the FASB Accounting Standards Codification (“ASC”).

Principles of consolidation The accompanying Consolidated Financial Statements include the accounts of Primoris and our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

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 Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which was recorded as restricted cash at December 31, 2022. As of December 31, 2023, all of the restricted cash from the PLH acquisition had been released. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the Consolidated Statements of Cash Flows (in thousands):

December 31,

    

2023

    

2022

a

2021

    

2020

Cash and cash equivalents

$

217,778

$

248,692

$

200,512

$

326,744

Restricted cash included in prepaid expenses and other current assets

5,764

10,299

5,131

4,231

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

223,542

$

258,991

$

205,643

$

330,975

Accounts Receivable Securitization Facility In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Fees associated with the Facility for the year ended December 31, 2023 were $1.9 million and are included in interest expense in the Consolidated Statement 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 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 Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of December 31, 2023. The SPE owned $112.2 million of trade accounts receivable as of December 31, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheet. For the year ended December 31, 2023, we received $75.0 million in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statement of Cash Flows. As of December 31, 2023, we had $25.0 million available capacity under the Facility.

F-12

Use of estimates The preparation of our Consolidated Financial Statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting periods. As a construction contractor, we use estimates for costs to complete construction projects and the contract value of certain construction projects. These estimates have a direct effect on gross profit as reported in these consolidated financial statements. Actual results could materially differ from our estimates.

Operating cycle In the accompanying Consolidated Balance Sheets, assets and liabilities relating to long-term construction contracts (e.g. contract assets and contract liabilities) are considered current assets and current liabilities, since they are expected to be realized or liquidated in the normal course of contract completion, although completion may require more than one calendar year.

Consequently, we have significant working capital invested in assets that may have a liquidation period extending beyond one year. We have claims receivable and retention due from various customers and others that are currently in dispute, the realization of which is subject to binding arbitration, final negotiation or litigation, all of which may extend beyond one calendar year.

Cash and cash equivalents We consider all highly liquid investments with an original maturity of three months or less when purchased as cash equivalents.

Business combinations—Business combinations are accounted for using the acquisition method of accounting. We use the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses. The determination of fair value requires estimates and judgments of future cash flow expectations to assign fair values to the identifiable tangible and intangible assets. GAAP provides a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, any material, newly discovered information that existed at the acquisition date would be reflected as an adjustment to the initial valuations and estimates. After the measurement period, any adjustments would be recorded as a current period income or expense.

Contingent Earnout LiabilitiesAs part of certain acquisitions, we agreed to pay cash to certain sellers upon meeting specific operating performance targets for specified periods subsequent to the acquisition date. Each quarter we evaluate the fair value of the estimated contingency and record a non-operating charge for the change in the fair value. Upon meeting the target, we reflect the full liability on the balance sheet and record a charge to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

Goodwill and other intangible assetsWe account for goodwill in accordance with ASC 350, “Intangibles — Goodwill and Other”. Under ASC 350, goodwill is subject to an annual impairment test, which we perform as of the first day of the fourth quarter of each year, with more frequent testing if indicators of potential impairment exist. The impairment review is performed at the reporting unit level for those units with recorded goodwill. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.

Income taxCurrent income tax expense is the amount of income taxes expected to be paid for the financial results of the current year. A deferred tax liability or asset is established for the expected future tax consequences resulting from the differences in financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized. We provide for uncertain tax positions

F-13

when such tax positions do not meet the recognition thresholds or measurement standards as set forth in ASC 740, “Income Taxes”. The difference between a tax position taken or expected to be taken on our income tax returns and the benefit recognized in our financial statements is referred to as an unrecognized tax benefit. Amounts for uncertain tax positions are adjusted in periods when new information becomes available or when positions are effectively settled. We recognize accrued interest and penalties related to uncertain tax positions, if any, as a component of income tax expense.

As a result of the Tax Cuts and Jobs Act (the “Tax Act”) new taxes were created on certain foreign earnings. Namely, U.S. shareholders are now subject to a current tax on global intangible low-taxed income (“GILTI”) earned by specified foreign subsidiaries. Available guidance related to GILTI provides for an accounting policy election to either recognize deferred taxes for temporary basis differences expected to reverse as GILTI in future years, or provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. We have elected to recognize the current tax on GILTI as an expense in the period the tax is incurred. The current tax impacts of GILTI are included in our effective tax rate.

Comprehensive incomeWe account for comprehensive income in accordance with ASC 220, “Comprehensive Income”, which specifies the computation, presentation and disclosure requirements for comprehensive income (loss). Comprehensive income (loss) consists of net income (loss) and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.

Functional currencies and foreign currency translation For foreign operations where substantially all monetary transactions are in the local currency, we use the local currency as our functional currency. The effects of translating financial statements of foreign operations into our reporting currency are recognized as a cumulative translation adjustment, net of tax in “Accumulated other comprehensive income” in the Consolidated Statements of Stockholders’ Equity. For certain foreign operations where substantially all monetary transactions are made in United States dollars, we use the U.S. dollar as our functional currency, with gains or losses on translation recorded in income in the period in which they are incurred. Gains or losses on foreign currency transactions are recorded in income in the period in which they are incurred.

Partnerships and joint ventures We are periodically a member of a partnership or a joint venture. These partnerships or joint ventures are used primarily for the execution of single contracts or projects.  Our ownership can vary from a small noncontrolling ownership to a significant ownership interest. We evaluate each partnership or joint venture to determine whether the entity is considered a variable interest entity (“VIE”) as defined in ASC 810, “Consolidation”, and if a VIE, whether we are the primary beneficiary of the VIE, which would require us to consolidate the VIE in our financial statements. When consolidation occurs, we account for the interests of the other parties as a noncontrolling interest and disclose the net income attributable to noncontrolling interests.

Cash concentrationWe place our cash in demand deposit accounts and short-term U.S. Treasury bonds. At December 31, 2023 and 2022, we had cash balances of $217.8 million and $248.7 million, respectively. Our cash balances are held in high credit quality financial institutions in order to mitigate the risk of holding funds not backed by the federal government or in excess of federally backed limits.

Collective bargaining agreementsApproximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements in 2023. Upon renegotiation of such agreements, we could be exposed to increases in hourly costs and work stoppages.

Multiemployer plansVarious subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan. If we were to withdraw from an agreement, we could incur a withdrawal obligation, and the potential withdrawal obligation may be significant. In accordance with GAAP, any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated.

InsuranceWe self-insure worker’s compensation and general liability up to $0.5 million per claim. We maintained a self-insurance reserve totaling $47.6 million and $45.7 million at December 31, 2023 and 2022,

F-14

respectively, with the current portion recorded to “Accrued liabilities” and the long-term portion recorded to “Other long-term liabilities” on the Consolidated Balance Sheets. Claims administration expenses are charged to current operations as incurred. Our accruals are based on judgment and the probability of losses, with the assistance of third-party actuaries. Actual payments that may be made in the future could materially differ from such reserves.

Derivative instruments and hedging activities We recognize all derivative instruments as either assets or liabilities on the balance sheet at their respective fair values. Our use of derivatives currently consists of interest rate swap agreements. The interest rate swap agreements were entered into to improve the predictability of cash flows from interest payments related to variable rate debt for the duration of the term loan and is not designated as a hedge for accounting purposes. Therefore, the change in the fair value of the derivative asset or liability is reflected in net income in the Consolidated Statements of Income (mark-to-market accounting). Cash flows from derivatives settled are reported as cash flow from operating activities.

Accounts receivable—Accounts receivable and contract receivables are primarily with public and private companies and governmental agencies located in the United States and Canada. Credit terms for payment of products and services are extended to customers in the normal course of business. Contract receivables are generally progress billings on projects, and as a result, are short term in nature. Generally, we require no collateral from our customers, but file statutory liens or stop notices on any construction projects when collection problems are anticipated. While a project is underway, we estimate the collectability of contract amounts at the same time that we estimate project costs. As discussed in Note 5 — “Revenue”, realization of the eventual cash collection may be recognized as adjustments to the contract revenue and profitability. We provide an allowance for credit losses to estimate losses from uncollectible accounts. Under this method an allowance is recorded based upon historical experience and management’s evaluation of, among other factors, current and reasonably supportable expected future economic conditions and the customer’s willingness or ability to pay. Receivables are written off in the period deemed uncollectible. The allowance for credit losses at December 31, 2023 and 2022 was $1.5 million and $2.0 million, respectively.

Significant revision in contract estimates We recognize revenue over time for contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. Under this method, the costs incurred to date as a percentage of total estimated costs are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. For projects that were in process at the end of the prior year, there can be a difference in revenue and profit that would have been recognized in the prior year had current year estimates of costs to complete been known at the end of the prior year. During the year ended December 31, 2023, certain contracts had revisions in cost estimates from those projected at December 31, 2022. This change in estimate resulted in a decrease in net income of $15.0 million, or $0.28 per share (basic and diluted) for the year ended December 31, 2023.

Customer concentration — We operate in multiple industry segments encompassing the construction of commercial, utility, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year account for approximately 40.0% to 50.0% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the years ended December 31, 2023, 2022 and 2021, approximately 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue, and no one customer accounted for more than 10% of total revenue.

Property and equipmentProperty and equipment are recorded at cost and are depreciated using the straight-line method over the estimated useful lives of the related assets, usually ranging from three to thirty years. Maintenance and repairs are charged to expense as incurred. Significant renewals and betterments are capitalized. At the time of retirement or other disposition of property and equipment, the cost and accumulated depreciation are removed from the accounts, and any resulting gain or loss is reflected in operating income.

We assess the recoverability of property and equipment whenever events or changes in business circumstances indicate that the carrying amount of the asset may not be fully recoverable. We perform an analysis to determine if an impairment exists. The amount of property and equipment impairment, if any, is measured based on fair value and is charged to operations in the period in which the impairment is determined by management. For the years ended December 31, 2023, 2022 and 2021, our management has not identified any material impairment of its property and equipment.

F-15

Depreciation — Effective January 1, 2022, we changed our estimates of the useful lives of certain equipment to better reflect the estimated periods during which these assets will remain in service. The estimated useful lives of equipment that previously ranged three to seven years were increased to a range of three to ten years. The effect of this change in estimate reduced depreciation expense by $19.3 million, increased net income by $16.1 million, and increased basic and diluted earnings per share by $0.30 for the year ended December 31, 2022.

Taxes collected from customersSales and use taxes collected from our customers are recorded on a net basis.

Share-based payments and stock-based compensationIn May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Equity Incentive Plan (“2013 Equity Plan”). Detailed discussion of shares issued under the 2013 Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of Restricted Stock Units (“RSU”) and Performance Stock Units (“PSU”) to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

In May 2023, the shareholders approved and we adopted the Primoris Services Corporation 2023 Equity Incentive Plan (“2023 Equity Plan”). Detailed discussion of shares issued under the Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of RSUs and PSUs to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

Recently Issued Accounting Pronouncements

In October 2021, the FASB issued ASU No.2021-08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” which changes the accounting for contract assets and liabilities acquired in a business combination by requiring an acquiring entity to measure contract assets and liabilities in accordance with FASB Accounting Standards Codification 606, Revenue from Contracts with Customers. This ASU is effective for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years with early adoption permitted. The amendments should be applied prospectively to business combinations occurring on or after the effective date. We adopted the new standard on January 1, 2023, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.

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 and it did not have a material impact 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. This ASU 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.

Other new pronouncements issued but not effective until after December 31, 2023, are not expected to have a material impact on our consolidated results of operations, financial position or cash flows.

F-16

Note 3—Fair Value Measurements

ASC 820, “Fair Value Measurements and Disclosures” defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC 820 addresses fair value GAAP for financial assets and financial liabilities that are remeasured and reported at fair value at each reporting period and for non-financial assets and liabilities that are remeasured 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 820, our financial assets and certain liabilities that are required to be measured at fair value at December 31, 2023 and 2022 (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 December 31, 2023:

Cash and cash equivalents

$

217,778

 

$

 

$

Interest rate swap

1,633

Liabilities as of December 31, 2023:

Contingent consideration

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

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 a 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 10 – “Derivative Instruments” for additional information.

On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statement of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration liability.

Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

F-17

The March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “Business Combinations”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “Business Combinations” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration in 2023 related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.

Note 4—Business Combinations

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused specialty construction company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.

During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

F-18

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.

The intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. For the period from August 1, 2022, the acquisition date, to December 31, 2022, PLH contributed revenue of $367.9 million and gross profit of $38.2 million. It is impractical to segregate and identify revenue and gross profit for PLH in 2023 as we have integrated PLH into our existing operations.

Acquisition costs related to PLH were $15.7 million for the year ended December 31, 2022, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors.

Acquisition of B Comm, LLC

On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled

F-19

workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million.

During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per year.

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the communications, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities.

During the fourth quarter of 2021, we finalized the estimate of fair values of the assets acquired and liabilities assumed of FIH. The tables below represent the purchase consideration and estimated fair values of the assets acquired and liabilities assumed. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up and a $4.0 million increase in the final valuation of intangible assets. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $7.2 million since the first quarter of 2021. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash and restricted cash acquired

(10,525)

Net cash paid

$

604,724

F-20

Identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

54,337

Contract assets

32,343

Prepaid expenses and other current assets

483

Property, plant and equipment

56,128

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

122,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(29,838)

Contract liabilities

(2,256)

Long-term debt (including current portion)

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(7,581)

Total identifiable net assets

248,688

Goodwill

366,561

Total purchase consideration

$

615,249

We incorporated the operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the communications market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

The intangible assets acquired with the FIH acquisition consisted of Customer relationships of $122.0 million and Tradenames of $4.4 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 19 years and one year, respectively.

For the period from January 15, 2021, the acquisition date, to December 31, 2021, FIH contributed revenue of $266.6 million and gross profit of $43.6 million.

Acquisition related costs were $14.6 million for the year ended December 31, 2021, and are included in “Transaction and related costs” on the Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and the expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.

Supplemental Unaudited Pro Forma Information for the twelve months ended December 31, 2022 and 2021

The following pro forma information for the twelve months ended December 31, 2022 and 2021 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021 and FIH had occurred at the beginning of 2020. The supplemental pro forma information has been adjusted to include:

the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;

the pro forma impact of nonrecurring transaction and related costs primarily consisting of advisor fees and transaction bonuses payments to select PLH employees directly attributable to the acquisition; and

the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using an effective tax rate of 16.5% and 23.8% for the twelve months ended December 31, 2022 and 2021, respectively.

F-21

The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH and FIH acquisitions been completed on January 1, 2021 and 2020, respectively. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (in thousands, except per share amounts):

Year Ended December 31,

    

2022

    

2021

(unaudited)

(unaudited)

Revenue

$

4,814,237

$

4,138,778

Income before provision for income taxes

149,125

79,421

Net income

124,537

60,543

Weighted average common shares outstanding:

Basic

 

53,200

 

52,674

Diluted

 

53,759

 

53,161

Earnings per share:

Basic

$

2.34

$

1.15

Diluted

2.32

1.14

Note 5—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 years ended December 31, 2023, 2022, and 2021, $3.9 billion, $2.7 billion, and $2.1 billion, 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 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.

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 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 December 31, 2023, we had $5.4 billion of remaining performance obligations. We expect to recognize approximately 53.9% 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

F-22

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 years ended December 31, 2023 and 2022, revenue recognized from performance obligations satisfied in previous periods was $1.2 million and $3.3 million, respectively. 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 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.

At December 31, 2023, we had approximately $203.5 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 $175.7 million of the unapproved contract modifications had been recognized as revenue on a cumulative catch-up basis through December 31, 2023.

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.

F-23

The caption “Contract assets” in the 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 the cost incurred to a specific project.

Contract assets consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Unbilled revenue

$

604,166

$

420,511

$

283,767

Retention receivable

202,358

174,149

124,990

Contract materials (not yet installed)

 

39,652

 

21,564

 

14,902

$

846,176

$

616,224

$

423,659

Contract assets increased by $230.0 million compared to December 31, 2022 primarily due to higher unbilled revenue.

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

deferred revenue on billings in excess of contract revenue recognized to date, and

the accrued loss provision.

Contract liabilities consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Deferred revenue

$

363,159

$

269,853

$

234,352

Accrued loss provision

 

3,317

 

6,094

 

6,060

$

366,476

$

275,947

$

240,412

Contract liabilities increased by $90.5 million compared to December 31, 2022 due to increased deferred revenue.

Revenue recognized for the years ended December 31, 2023 and 2022, that was included in the contract liability balance at the beginning of each year was approximately $232.9 million and $220.9 million, respectively.

The following tables present our revenue disaggregated into various categories.

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

For the year ended December 31, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,809,349

$

570,881

$

2,380,230

Energy

289,948

3,045,131

3,335,079

Total

$

2,099,297

 

$

3,616,012

 

$

5,715,309

For the year ended December 31, 2022

Segment

MSA

Non-MSA

Total

Utilities

$

1,691,571

$

332,736

$

2,024,307

Energy

331,416

2,064,876

2,396,292

Total

$

2,022,987

 

$

2,397,612

 

$

4,420,599

F-24

For the year ended December 31, 2021

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

1,364,995

 

$

292,962

 

$

1,657,957

Energy

238,854

1,600,821

1,839,675

Total

$

1,603,849

 

$

1,893,783

 

$

3,497,632

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

For the year ended December 31, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

391,882

$

1,472,815

$

515,533

$

2,380,230

Energy

2,230,905

583,876

520,298

3,335,079

Total

$

2,622,787

 

$

2,056,691

 

$

1,035,831

 

$

5,715,309

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

For the year ended December 31, 2022

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

192,991

1,327,379

$

503,937

$

2,024,307

Energy

1,695,802

407,067

293,423

2,396,292

Total

$

1,888,793

 

$

1,734,446

 

$

797,360

 

$

4,420,599

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

For the year ended December 31, 2021

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

125,640

 

$

1,146,316

 

$

386,001

 

$

1,657,957

Energy

1,127,988

310,974

400,713

1,839,675

Total

$

1,253,628

 

$

1,457,290

 

$

786,714

 

$

3,497,632

(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.

F-25

Note 6—Property and Equipment

The following is a summary of property and equipment (in thousands):

    

December 31, 

    

2023

    

2022

Useful Life

Land and buildings

$

168,788

$

154,596

 

Buildings 30 Years

Leasehold improvements

 

22,864

 

21,349

 

Various*

Office equipment

 

26,470

 

23,659

 

3 - 5 Years

Construction equipment

 

664,838

 

717,419

 

3 - 10 Years

Solar equipment

23,552

23,552

25 years

Construction in progress

38,669

26,145

 

945,181

 

966,720

Less: accumulated depreciation and amortization

 

(469,252)

 

(472,861)

Property and equipment, net

$

475,929

$

493,859

* Leasehold improvements are depreciated over the shorter of the life of the leasehold improvement or the lease term.

Depreciation expense was $85.2 million, $78.2 million and $87.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.

Note 7—Goodwill and Intangible Assets

The change in goodwill by segment for 2023 and 2022 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2021

462,905

118,759

581,664

Goodwill acquired during the period

253,379

36,765

290,144

Balance at December 31, 2022

716,284

155,524

871,808

Goodwill adjustments during the period

 

(12,822)

(1,336)

(14,158)

Balance at December 31, 2023

$

703,462

$

154,188

$

857,650

There were no impairments of goodwill for the years ended December 31, 2023, 2022 and 2021.

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

December 31, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(29,399)

3,421

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(77,787)

224,140

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(107,186)

$

227,561

$

334,747

$

(85,366)

$

249,381

Amortization expense of intangible assets was $21.8 million, $20.9 million and $18.3 million for the years ended December 31, 2023, 2022 and 2021, respectively.

F-26

Estimated future amortization expense for intangible assets as of December 31, 2023 is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024

$

19,701

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,073

$

227,561

Note 8—Accounts Payable and Accrued Liabilities

At December 31, 2023 and 2022, accounts payable included retention amounts of approximately $24.7 million and $21.5 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):

December 31, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

108,618

$

114,053

Current operating lease liability

96,411

72,565

Casualty insurance reserves

 

18,015

 

19,935

Corporate income taxes and other taxes

 

14,203

 

16,213

Other

 

26,245

 

23,071

$

263,492

$

245,837

Note 9—Credit Arrangements

Long-term debt and credit facilities consist of the following at December 31, 2023 (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Term loan

$

874,128

$

933,188

Revolving credit facility

100,000

Commercial equipment notes

71,004

98,064

Mortgage notes

 

19,615

 

20,483

Total debt

964,747

1,151,735

Unamortized debt issuance costs

(6,475)

(8,283)

Total debt, net

$

958,272

$

1,143,452

Less: current portion

 

(72,903)

 

(78,137)

Long-term debt, net of current portion

$

885,369

$

1,065,315

The weighted average interest rate on total debt outstanding at December 31, 2023 and 2022 was 6.8% and 6.2%, respectively.

F-27

Scheduled maturities of long-term debt are as follows (in thousands):

    

Year Ending

December 31, 

2024

$

72,903

2025

 

75,545

2026

 

65,847

2027

 

734,485

2028

 

8,847

Thereafter

 

7,120

$

964,747

Commercial Notes Payable and Mortgage Notes Payable

From time to time, we enter into commercial equipment notes payable with various equipment finance companies and banks. At December 31, 2023, interest rates ranged from 1.60% to 6.28% per annum and maturity dates range from April 2024 through February 2027. The notes are secured by certain construction equipment.

From time to time, we enter into secured mortgage notes payable with various banks. At December 31, 2023, interest rates ranged from 4.21% to 4.50% per annum and maturity dates range from January 2025 through October 2030. These notes are secured by certain real estate.

Credit Agreement

On September 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility (“Revolving Credit Facility”), whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 million.

On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026. The proceeds from the additional borrowings under the Second Amended and Restated Credit Agreement were used to finance the acquisition of FIH.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”) with Administrative Agent and the Lenders that increased the Term Loan by $439.5 million to an aggregate principal amount of $945.0 million (as amended, the “New Term Loan”). The Amended Credit Agreement is scheduled to mature on August 1, 2027.

In addition to the New Term Loan, the Amended Credit Agreement increased the existing $200.0 million Revolving Credit Facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit, to $325.0 million. At December 31, 2023, commercial letters of credit outstanding were $51.6 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $273.4 million at December 31, 2023.

Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $11.8 million, with the balance due on August 1, 2027. The proceeds from the New Term Loan and additional borrowings under the Revolving Credit Facility were used to finance the acquisition of PLH.

F-28

We capitalized $6.5 million of debt issuance costs during 2022 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement. In addition, we recorded a loss on extinguishment of debt during 2022 of $0.8 million related to the Amended Credit Agreement.

The principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) the Secured Overnight Financing Rate (“SOFR”) plus an applicable margin as specified in the Amended Credit Agreement (based on our net senior debt to earnings before interest, taxes, depreciation and amortization (“EBITDA”) ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.50% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.

The principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million.

Loans made under the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Amended Credit Agreement.

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 at December 31, 2023.

On September 13, 2018, 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 75% of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 10 – “Derivative Instruments”.

On January 31, 2023, we entered into a second 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 New Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin which was 2.25% at December 31, 2023. The interest rate swap matures on January 31, 2025. See Note 10 – “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. At December 31, 2023, commercial letters of credit outstanding were $0.9 million in Canadian dollars and there were no outstanding borrowings. Available capacity at December 31, 2023, was $13.1 million in Canadian dollars.

Note 10 — 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.

F-29

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 September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change 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 December 31, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $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 Consolidated Balance Sheets (in thousands):

    

    

    

December 31, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

Interest rate swap

Other long-term assets

1,633

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

Location of Gain

Year Ended December 31, 

    

Recognized on Derivatives

2023

    

2022

    

2021

Interest rate swap

 

Interest expense, net

$

5,335

$

4,078

$

838

Note 11—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 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 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

F-30

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 operating lease expense are as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Operating lease expense (1)

$

112,170

$

76,761

$

80,974

________________________________________

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

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

December 31, 

December 31, 

    

2023

2022

Accrued liabilities

$

96,411

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

263,454

 

130,787

$

359,865

$

203,352

The future minimum lease payments under non-cancelable operating leases are as follows (in thousands):.

Future Minimum

For the Years Ending December 31, 

Lease Payments

2024

    

$

112,768

2025

91,001

2026

80,453

2027

60,703

2028

37,136

Thereafter

24,501

Total lease payments

$

406,562

Less imputed interest

 

(46,697)

Total

$

359,865

Other information related to operating leases is as follows (in thousands, except lease term and discount rate):

Year ended December 31, 

    

2023

    

2022

Cash paid for amounts included in the measurement of lease liabilities

Operating cash flows from operating leases

$

109,430

$

76,313

Weighted-average remaining lease term on operating leases (years)

4.44

4.07

Weighted-average discount rate on operating leases

5.64%

3.71%

.

Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Consolidated Statements of Income for the year ended December 31, 2022.

F-31

Note 12—Commitments and Contingencies

Legal proceedings—We are subject to claims and legal proceedings arising out of our business. We record costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of 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 reasonably estimable, we do not accrue for a potential litigation loss.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to the claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a materially adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding—As of December 31, 2023 and 2022, we had bid and completion bonds issued and outstanding totaling approximately $5.9 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion, respectively.

Note 13—Reportable Segments

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments.

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 the 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 in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, 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.

All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our CODM as defined by ASC 280 does not review or allocate resources based on segment assets.

F-32

Segment Revenue

Revenue by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

% of

Total

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

 

Revenue

Revenue

Utilities

$

2,380,230

 

41.6%

$

2,024,307

 

45.8%

$

1,657,957

 

47.4%

Energy

3,335,079

58.4%

2,396,292

54.2%

1,839,675

52.6%

Total

$

5,715,309

 

100.0%

$

4,420,599

 

100.0%

$

3,497,632

 

100.0%

Segment Gross Profit

Gross profit by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

 

    

% of

Segment

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Gross Profit

Revenue

Utilities

$

206,992

 

8.7%

$

210,672

 

10.4%

$

186,287

 

11.2%

Energy

380,499

11.4%

246,213

10.3%

230,373

12.5%

Total

$

587,491

 

10.3%

$

456,885

 

10.3%

$

416,660

 

11.9%

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 5.8%, 6.7% and 4.5% generated from sources outside of the United States, principally Canada, for the years ended December 31, 2023, 2022 and 2021, respectively. At December 31, 2023 and 2022, approximately 3.9% and 4.2%, respectively of total assets were located outside of the United States.

Note 14 — Multiemployer Plans

Union PlansVarious subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan.

We contributed $62.2 million, $46.2 million, and $39.7 million, to multiemployer pension plans for the years ended December 31, 2023, 2022 and 2021, respectively. These costs were charged to the related construction contracts in process. Contributions during 2023 were higher than 2022 as a result of a greater number of man-hours worked by our union labor and the acquisition of PLH.

The financial risks of participating in multiemployer plans are different from single-employer plans in the following respects:

Assets contributed to the multiemployer plan by one employer may be used to provide benefits to employees of other participating employers.
If a participating employer stops contributing to the plan, the unfunded obligations of the plan may be borne by the remaining participating employers.
If a participating employer chooses to stop participating in the plan, a withdrawal liability may be created based on the unfunded vested benefits for all employees in the plan.

F-33

Under U.S. legislation regarding multiemployer pension plans, an employer is required to pay an amount that represents its proportionate share of a plan’s unfunded vested benefits in the event of withdrawal from a plan or upon plan termination.

We participate in a number of multiemployer pension plans, and our potential withdrawal obligation may be significant. Any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated, in accordance with GAAP. We have no plans to withdraw from any labor agreements.

During the last three years, we made annual contributions to 50 pension plans. Based upon the most recent and available plan financial information, we made contributions to the Construction Laborers Pension Trust for Southern California, the Pipeline Industry Benefit Fund, the Southern California Pipe Trades Trust Funds and the Minnesota Laborers Pension Fund that represented more than 5% of the plan’s total contributions for the 2023 plan year. None of the other significant pension plans we contributed to below listed us in the plan’s Form 5500 as providing more than 5% of the plan’s total contributions during the years ended December 31, 2023, 2022 and 2021.

Our participation in significant plans for the years ended December 31, 2023, 2022 and 2021 is outlined in the table below. The “EIN/Pension Plan Number” column provides the Employer Identification Number (“EIN”) and the three digit plan number. The “Zone Status” is based on the latest information that we received from the plan and is certified by the plan’s actuary. Among other factors, plans in the red zone are generally less than 65 percent funded, plans in the yellow zone are less than 80 percent funded, and plans in the green zone are at least 80 percent funded. The “FIP/RP Status Pending/Implemented” column indicates plans for which a financial improvement plan (“FIP”) or a rehabilitation plan (“RP”) is either pending or has been implemented. The “Surcharge Imposed” column includes plans in a red zone status that require a payment of a surcharge in excess of regular contributions. The next column lists the expiration date of our collective bargaining agreement related to the plan.

Collective

 

FIP/RP

Bargaining

 

EIN /

Pension Protection Act

Status

Agreement

Contributions of the Company

 

Pension Plan

 Zone Status

Pending /

Surcharge

Expiration

(In Thousands)

 

Pension Fund Name

    

Number

    

2023

    

2022

    

Implemented

    

Imposed

    

Date

    

2023

    

2022

    

2021

 

Central Pension Fund of the International Union of Operating Engineers and Participating Employers

 

36-6052390/001

 

Green as of
January 31, 2023

 

Green as of
January 31, 2022

 

No

 

No

 

6/4/2026

$

6,150

$

5,592

$

4,985

Laborers Pension Trust Fund for Northern California

 

94-6277608/001

 

Green as of May 31, 2023

 

Green as of May 31, 2022

 

No

 

No

 

6/30/2027

 

5,198

 

3,699

 

3,943

Construction Laborers Pension Trust for Southern California

 

43-6159056/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/30/2026

 

5,162

 

3,595

 

3,254

Operating Engineer Trust Funds

95-6032478/001

Yellow as of June 30, 2023

Yellow as of June 30, 2022

No

No

6/30/2025

4,856

1,973

1,794

Pipeline Industry Benefit Fund

73-6146433/001

Green as of December 31, 2022

Green as of December 31, 2021

No

 

No

6/1/2023

4,363

495

496

Southern California Pipe Trades Trust Funds

 

51-6108443/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

8/31/2026

 

4,290

 

3,268

 

3,456

Minnesota Laborers Pension Fund

 

41-6159599/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/1/2025

 

3,579

3,749

3,299

 

Contributions to significant plans

33,598

22,371

21,227

 

Contributions to other multiemployer plans

 

28,637

 

23,792

 

18,443

 

Total contributions made

$

62,235

$

46,163

$

39,670

Note 15—Employee Benefit Plans

Defined Contribution PlansWe sponsor multiple defined contribution plans for eligible employees not covered by collective bargaining agreements. Our plans include various features such as voluntary employee pre-tax and Roth-based contributions and matching contributions made by us. In addition, at the discretion of our Board of Directors, we may make additional profit share contributions to the plans. No such additional contributions were made during 2021 through 2023. Matching contributions to all defined contribution plans for the years ended December 31, 2023, 2022 and 2021 were $16.4 million, $16.6 million, and $11.6 million, respectively. The increase in matching contributions in 2023 and 2022 is primarily due to an increase in headcount from the PLH acquisition. We have no other post-retirement benefits.

F-34

Deferred Compensation PlanIn 2023, we adopted a non-qualified deferred compensation plan under which eligible directors and key employees may defer their receipt of certain cash compensation. This plan is an unfunded and unsecured compensation arrangement. Individuals participating in the plan may allocate deferred cash amounts among a group of notional accounts that mirror the gains and losses of various investment alternatives. Generally, participants receive distributions of deferred balances based on predetermined payout schedules or other events.

The plan covering key employees provides for employer matching contributions for certain officers and employees whose benefits under the 401(k) plan are limited by federal tax law. Contributions vest immediately provided that vesting accelerates upon a change in control or the participant’s death or retirement. Any matching and discretionary employer contributions, whether vested or not, are forfeited upon a participant’s termination of employment for cause or upon the participant engaging in competition with Primoris or any of its affiliates.

As of December 31, 2023, the deferred compensation liability under our deferred compensation plan was $0.3 million, which was included in “Other Long-term Liabilities” in the accompanying Consolidated Balance Sheet. To provide for future obligations related to these deferred compensation plans, we have invested in corporate-owned life insurance (“COLI”) policies covering certain participants in the deferred compensation plans, the underlying investments of which are intended to be aligned with the investment alternatives elected by plan participants. The COLI assets are recorded at their cash surrender value, which is considered their fair market value, and as of December 31, 2023, the fair market was $0.3 million, which was included in “Other Long-term Assets” in the accompanying Consolidated Balance Sheet.

Note 16—Stock-Based Compensation

We maintain two equity compensation plans under which stock-based compensation has been granted, the 2013 Equity Plan and the 2023 Equity Plan. Upon the adoption of the 2023 Equity Plan, awards were no longer granted under the 2013 Equity Plan. The 2023 Equity Plan permits the granting of up to 6.5 million shares to executives, directors and certain senior managers. Grants of awards to employees are approved by the Compensation Committee of the Board of Directors and grants to independent members of the Board of Directors are approved by the Board of Directors. As of December 31, 2023, there were 6.2 million shares of common stock remaining available for grant under the 2023 Equity Plan.

Under guidance of ASC 718, “Compensation — Stock Compensation”, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee’s requisite service period (generally the vesting period of the award). We settle the vesting of RSUs and PSUs through the issuance of new shares of common stock. Forfeitures of stock-based awards are recognized as they occur.

Restricted Stock Units

We grant time-vested stock awards in the form of restricted stock units. The fair value of the RSUs is based on the closing market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the RSUs is amortized using the straight-line method over the service period. Time-vested stock awards granted to eligible employees in 2023 vest 25% in year one, 25% in year two, and 50% in year three.

F-35

The table below presents RSU activity for 2023:

Nonvested RSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

604,787

$

27.88

Granted

355,644

27.83

Vested

(232,319)

26.91

Forfeited

(35,397)

28.61

Balance at December 31, 2023

692,715

28.14

During 2022, 269,324 RSUs were granted with a weighted-average grant date fair value per unit of $25.22. The total fair value of RSUs that vested during 2023, 2022 and 2021 was $6.5 million, $4.5 million and $4.6 million, respectively. At December 31, 2023, approximately $10.1 million of unrecognized compensation expense remains for the RSUs, which will be recognized over a weighted average period of 1.92 years.

Performance Stock Units

Shares of our common stock may be earned based on our performance compared to defined metrics. The number of shares earned under a performance award can vary from zero to 200% of the target shares awarded, based upon our performance compared to the metrics. The metrics used for the grant are determined by the Compensation Committee of the Board of Directors and may be either based on internal measures such as our financial performance compared to target or on a market-based metric such as our stock performance compared to a peer group. Performance awards vest over three years based upon attainment of at least the minimum stated performance targets and minimum service requirements. For performance awards, we recognize stock-based compensation expense based on the grant date fair value of the award. The fair value of internal metric-based performance awards is determined by the market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the PSUs is amortized using the straight-line method over the service period. We adjust the stock-based compensation expense related to internal metric-based performance awards according to our determination of the shares expected to vest at each reporting date. Stock-based compensation expense related to market metric-based performance awards is expensed at their grant date fair value regardless of performance.

The table below presents PSU activity for 2023:

Nonvested PSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

$

Granted

394,393

27.50

Vested

Forfeited

(59,455)

27.50

Balance at December 31, 2023

334,938

27.50

At December 31, 2023, approximately $6.6 million of unrecognized compensation expense remains for the PSUs, which will be recognized over a weighted average period of 2.17 years.

Stock-based Compensation Expense

For the years ended December 31, 2023, 2022 and 2021, we recognized $11.8 million, $7.4 million, and $10.5 million, respectively, in compensation expense for both RSUs and PSUs.

F-36

Note 17—Income Taxes

Income before provision for income taxes consists of the following (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

United States

$

158,137

$

133,564

$

140,307

Foreign

 

19,532

 

25,722

 

11,550

Total

$

177,669

$

159,286

$

151,857

The components of the provision for income taxes are as follows (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

Current provision

Federal

$

11,337

$

5,412

$

3,678

State

 

7,124

 

2,117

 

4,471

Foreign

 

3,705

 

4,041

 

2,405

22,166

11,570

10,554

Deferred provision (benefit)

Federal

 

28,634

 

12,645

 

22,607

State

 

1,412

 

(428)

 

2,372

Foreign

 

(688)

 

2,478

 

585

 

29,358

 

14,695

 

25,564

Total

$

51,524

$

26,265

$

36,118

A reconciliation of income tax expense compared to the amount of income tax expense that would result by applying the U.S. federal statutory income tax rate to pre-tax income is as follows:

    

Year Ended December 31, 

2023

    

2022

    

2021

U.S. federal statutory income tax rate

 

21.0

%

21.0

%

21.0

%

State taxes, net of federal income tax impact

 

3.8

0.8

3.9

Tax credits

 

(0.7)

(1.9)

(1.1)

Income taxed at rates greater than U.S.

 

0.2

0.6

0.2

Nondeductible meals & entertainment

 

3.6

0.5

0.2

Nondeductible compensation

0.7

0.4

0.3

Capital loss utilization - release of valuation allowance

0.0

(5.8)

0.0

Other items

 

0.4

0.9

(0.7)

Effective tax rate

 

29.0

%

16.5

%

23.8

%

The provision for income taxes has been determined based upon the tax laws and rates in the countries in which we operate. Our operations in the United States are subject to federal income tax rates of 21% and varying state income tax rates. Our principal international operations are in Canada. Our subsidiaries in Canada are subject to a corporate income tax rate of 23%. We did not have any non-taxable foreign earnings from tax holidays for taxable years 2020 through 2023.

Deferred taxes are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities and are measured using 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.

F-37

The tax effect of temporary differences that give rise to deferred income taxes are as follows (in thousands):

    

December 31, 

2023

    

2022

Deferred tax assets:

Accrued compensation

$

12,044

$

9,685

Accrued workers compensation

3,103

2,949

Net operating losses

41,819

46,843

Disallowed interest

8,227

4,439

Lease liabilities

72,363

36,372

Insurance reserves

 

6,430

 

5,200

Loss reserves

 

1,309

 

1,555

Tax credits

 

748

 

1,069

Capitalized research

11,522

5,127

Other

 

315

 

1,446

Total deferred tax assets

 

157,880

 

114,685

Deferred tax liabilities

Depreciation and amortization

 

(130,051)

 

(119,081)

Prepaid expenses and other

 

(3,672)

 

(2,760)

Lease assets

(73,516)

(36,865)

Total deferred tax liabilities

 

(207,239)

 

(158,706)

Valuation allowance

(10,206)

(13,080)

Net deferred tax liabilities

$

(59,565)

$

(57,101)

As of December 31, 2023, we have recorded a deferred tax asset of $41.8 million reflecting the tax benefit of approximately $531.7 million of federal and state income tax net operating loss carryforwards, some of which were acquired in the acquisitions of PLH and other companies. Our tax credits of $0.7 million generally expire between 10 and 20 years after they are generated. Our U.S. federal net operating losses expire beginning in 2031, and our state net operating losses generally expire 20 years after the period in which the losses were incurred.

The valuation allowances for deferred income tax assets at December 31, 2023 and 2022 were $10.2 million and $13.1 million, respectively. The $2.9 million decrease in valuation allowances during 2023 was primarily due to finalizing the fair value of acquired PLH state net operating losses in the second quarter of 2023. These remaining valuation allowances primarily relate to state net operating loss carryforwards established due to uncertainty in Primoris’ outlook as to the amount of future taxable income required in particular tax jurisdictions in order to utilize certain tax losses, considering also the tax regulations which limit the annual utilization of acquired losses. Primoris believes it is more likely than not that it will realize the benefit of its deferred tax assets net of existing valuation allowances.

A reconciliation of the beginning, ending and aggregate changes in the gross balances of unrecognized tax benefits is as follows (in thousands):

    

December 31, 

2023

    

2022

    

2021

Beginning balance

$

10,196

$

1,337

$

1,553

Increases in balances for tax positions taken during the current year

 

120

 

120

 

288

(Decreases) increases in balances for tax positions taken during prior years

 

(687)

 

9,204

 

83

Settlements and effective settlements with tax authorities

(416)

Lapse of statute of limitations

 

(412)

 

(465)

 

(171)

Total

$

9,217

$

10,196

$

1,337

We recognize accrued interest and penalties related to uncertain tax positions in income tax expense, which were not material for the three years presented.

F-38

We believe it is reasonably possible that decreases of up to $0.3 million of unrecognized tax benefits could occur in the next twelve months due to the expiration of statutes of limitation and settlements with tax authorities.

Our 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.

On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred approximately $42.0 million of FICA tax payments during part of 2020 as allowed under the CARES Act. The unpaid deferral was $21.7 million at December 31, 2022, and was included in Accrued liabilities on our Consolidated Balance Sheet. We paid all remaining payments to the U.S. Treasury on January 3, 2023.

ASU No. 2013-11, "Income Taxes (Topic 740) Presentation of an Unrecognized Tax Benefit When a Net Operating Loss Carryforward, a Similar Tax Loss, or a Tax Credit Carryforward Exists”, requires certain unrecognized tax benefits to be shown as a reduction to another asset or liability. Accordingly, this resulted in a decrease to the December 31, 2022, income tax receivable of $6.3 million.

Note 18—Dividends and Earnings Per Share

We have declared cash dividends during 2021, 2022 and 2023 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

0.06

August 3, 2021

September 30, 2021

October 15, 2021

0.06

November 3, 2021

December 31, 2021

January 14, 2022

0.06

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

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

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 our Board of Directors.

F-39

The table below presents the computation of basic and diluted earnings per share for the years ended December 31, 2023, 2022 and 2021 (in thousands, except per share amounts):

Year Ended December 31, 

 

2023

    

2022

    

2021

Numerator:

Net income

$

126,145

$

133,021

$

115,739

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,297

 

53,200

 

52,674

Dilutive effect of stock-based awards

 

926

 

559

 

487

Weighted average shares for computation of diluted earnings per share

 

54,223

 

53,759

 

53,161

Earnings per share:

Basic

$

2.37

$

2.50

$

2.19

Diluted

$

2.33

$

2.47

$

2.17

Note 19—Stockholders’ Equity

Preferred Stock

We are authorized to issue 1,000,000 shares of $0.0001 par value preferred stock. No shares of Preferred Stock were outstanding at December 31, 2023 and 2022.

Common Stock

We are authorized to issue 90,000,000 shares of $0.0001 par value common stock, of which 53,366,327 and 53,124,899 shares were issued and outstanding as of December 31, 2023 and 2022, respectively.

We issued 21,245 shares of common stock in 2023, 23,782 shares of common stock in 2022, and 25,987 shares of common stock in 2021 under our LTR Plan. The shares were purchased by the participants in the LTR Plan with payments made to us of $0.3 million in 2023, $0.6 million in 2022, and $0.5 million in 2021. Our LTR Plan for 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 2023, 2022 and 2021 were for bonus amounts earned in 2022, 2021 and 2020 and the number of shares was calculated at 75% of the average closing price for December of the previous year.

During the years ended December 31, 2023, 2022, and 2021, we issued 39,040, 42,080, and 32,920 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. The shares were fully vested upon issuance and have a one-year trading restriction.

During the years ended December 31, 2023, 2022, and 2021 168,605, 131,709, and 122,690 RSUs, net of forfeitures for tax withholdings, respectively, were converted to common stock.

In connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the year ended December 31, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1

F-40

million in stock compensation expense included in Transaction and related costs in the Consolidated Statement of Income.

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. In 2023, 12,538 shares were purchased at an average price of $25.85 per share. In 2022, 9,943 shares were purchased at an average purchase price of $17.44 per share.

Secondary Offering

In March 2021, we entered into an underwriting agreement with Goldman Sachs & Co. LLC, Morgan Stanley & Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred in connection with the acquisition of FIH.

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 February 2022, our Board of Directors replenished the limit to $25.0 million. During the year ended December 31, 2023 we did not purchase any shares of common stock. During the year ended December 31, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. During the year ended December 31, 2021, we purchased and cancelled 635,763 shares of common stock, which in the aggregate equaled $14.7 million at an average share price of $23.15. In November 2023, the Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024.

F-41

Note 20—Selected Quarterly Financial Information (Unaudited)

Selected unaudited quarterly consolidated financial information is presented in the following tables (in thousands, except per share amounts):

Year Ended December 31, 2023

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

1,256,896

$

1,413,377

$

1,529,486

$

1,515,550

Gross profit

99,732

157,264

173,895

156,600

Net income

1,310

39,032

48,144

37,659

Earnings per share:

Basic earnings per share

$

0.02

$

0.73

$

0.90

$

0.71

Diluted earnings per share

0.02

0.72

0.89

0.69

Weighted average shares outstanding

Basic

 

53,184

 

53,301

 

53,339

53,360

Diluted

 

53,944

 

54,324

 

54,351

54,385

Year Ended December 31, 2022

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

784,384

$

1,022,948

$

1,284,128

$

1,329,139

Gross profit

56,486

92,109

154,907

153,383

Net (loss) income

(1,674)

50,154

43,040

41,501

Earnings per share:

Basic (loss) earnings per share

$

(0.03)

$

0.94

$

0.81

$

0.78

Diluted (loss) earnings per share

(0.03)

0.93

0.80

0.77

Weighted average shares outstanding

Basic

 

53,240

 

53,263

 

53,181

53,120

Diluted

 

53,240

 

53,852

 

53,748

53,711

F-42

EX-21.1 2 prim-20231231xex21d1.htm EX-21.1

Exhibit 21.1

Subsidiaries and Equity Investments of the Registrant

Subsidiary

    

Jurisdiction of Organization

ARB, Inc.

California

ARB Chile, Ltda.

Chile

B Comm Constructors, LLC

Texas

Cardinal Contractors, Inc.

Florida

Comtrac Services, LLC

Delaware

Edison Power Constructors, Inc.

Arizona

Future Infrastructure Holdings, LLC

Delaware

Future Infrastructure, LLC

Texas

Future Telecom Purchaser, LLC

Delaware

James Construction Group, LLC

Texas

Juniper Rock Corporation

California

OnQuest, Inc.

California

OnQuest Canada, ULC (formerly Born Heaters Canada)

Alberta

OnQuest Heaters, Inc.

Delaware

PFMG Solar Tustin, LLC

Delaware

Pipe Jacking Trenchless, Inc.

California

Pipeworx, Ltd.

Alberta

PLH Group, Inc.

Delaware

Premier PV, LLC

Texas

Pride Utility Construction Co., LLC

Delaware

Primoris Canada ULC

British Columbia

Primoris Design & Construction, Inc.

Delaware

Primoris Distribution Services, Inc.

Texas

Primoris Electric, Inc.

California

Primoris Energy Services Corporation

Texas

Primoris Pipeline, Inc.

Texas

Primoris Power Line Services, Inc.

Texas

Primoris Renewable Energy, Inc.

Texas

Primoris T&D Services, LLC

Delaware

Q3 Contracting, Inc.

Minnesota

R.B. Hinkle Construction, Inc.

Virginia

Rockford Corporation

Oregon

Rockford Holdings Corporation

Delaware

Rockford Pipelines Canada, Inc.

Alberta

Saxon Construction, Inc.

Texas

Snelson Companies, Inc.

Washington

Talus Development, LLC

Arizona

TTRS, Inc.

California

Vadnais Trenchless Services, Inc.

California

Willbros Group, Inc.

Delaware

With the exception of Primoris Energy Services Corporation, Primoris Renewables Energy, Inc., and OnQuest Canada, ULC, the subsidiaries do not conduct business under any names other than those set forth above.


EX-23.1 3 prim-20231231xex23d1.htm EX-23.1

Exhibit 23.1

CONSENT OF INDEPENDENT REGISTERED PUBLIC ACCOUNTING FIRM

We consent to the incorporation by reference in the Registration Statements on Form S-3 (No. 333-161331, and No. 333-174602) and Form S-8 (No. 333-271806, No. 333-264840, No. 333-252160, No. 333-188553, and No. 333-159491) of Primoris Services Corporation (the “Company”), of our report dated February 26, 2024, relating to the consolidated financial statements of the Company and the effectiveness of internal control over financial reporting of the Company, appearing in this Annual Report on Form 10-K of the Company for the year ended December 31, 2023.

/s/ Moss Adams LLP

Dallas, Texas

February 26, 2024


EX-31.1 4 prim-20231231xex31d1.htm EX-31.1

Exhibit 31.1

Certification of Chief Executive Officer

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 Annual Report on Form 10-K for the period ended December 31, 2023, of Primoris Services Corporation;

2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

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

(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

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

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

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

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

Date: February 26, 2024

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)


EX-31.2 5 prim-20231231xex31d2.htm EX-31.2

Exhibit 31.2

Certification of Chief Financial Officer

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 Annual Report on Form 10-K for the period ended December 31, 2023, of Primoris Services Corporation;

2.Based on my knowledge, this report does not contain any untrue statement of a material fact or omit to state a material fact necessary to make the statements made, in light of the circumstances under which such statements were made, not misleading with respect to the period covered by this report;

3.Based on my knowledge, the financial statements, and other financial information included in this report, fairly present in all material respects the financial condition, results of operations and cash flows of the registrant as of, and for, the periods presented in this report;

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

(a)Designed such disclosure controls and procedures, or caused such disclosure controls and procedures to be designed under our supervision, to ensure that material information relating to the registrant, including its consolidated subsidiaries, is made known to us by others within those entities, particularly during the period in which this report is being prepared;

(b)Designed such internal control over financial reporting, or caused such internal control over financial reporting to be designed under our supervision, to provide reasonable assurance regarding the reliability of financial reporting and the preparation of financial statements for external purposes in accordance with generally accepted accounting principles;

(c)Evaluated the effectiveness of the registrant’s disclosure controls and procedures and presented in this report our conclusions about the effectiveness of the disclosure controls and procedures, as of the end of the period covered by this report based on such evaluation; and

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

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

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

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

Date: February 26, 2024

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)


EX-32.1 6 prim-20231231xex32d1.htm EX-32.1

Exhibit 32.1

Certification of Chief Executive Officer

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002

(18 U.S.C. Section 1350)

In connection with the Annual Report of Primoris Services Corporation (the “Company”) on Form 10-K for the period ended December 31, 2023, as filed with the Securities and Exchange Commission on the date hereof (the “Report”), I, Thomas E. McCormick, President and 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: February 26, 2024

/s/ Thomas E. McCormick

Thomas E. McCormick

President, Chief Executive Officer and Director

(Principal Executive Officer)

The foregoing certification is being furnished solely to accompany the Report pursuant to 18. U.S.C. Section 1350, and is not being filed for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, and is not to be incorporated by reference into any filing of the Company, whether made before or after the date hereof, regardless of any general incorporation language in such filing. A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities Exchange Commission or its staff upon request.


EX-32.2 7 prim-20231231xex32d2.htm EX-32.2

Exhibit 32.2

Certification of Chief Financial Officer

Certification Pursuant to Section 906

of the Sarbanes-Oxley Act of 2002

(18 U.S.C. Section 1350)

In connection with the Annual Report of Primoris Services Corporation (the “Company”) on Form 10-K for the period ended December 31, 2023, 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.

8

Date: February 26, 2024

/s/ Kenneth M. Dodgen

Kenneth M. Dodgen

Executive Vice President, Chief Financial Officer

(Principal Financial Officer)

The foregoing certification is being furnished solely to accompany the Report pursuant to 18. U.S.C. Section 1350, and is not being filed for purposes of Section 18 of the Securities Exchange Act of 1934, as amended, and is not to be incorporated by reference into any filing of the Company, whether made before or after the date hereof, regardless of any general incorporation language in such filing. A signed original of this written statement required by Section 906 has been provided to the Company and will be retained by the Company and furnished to the Securities Exchange Commission or its staff upon request.


EX-97 8 prim-20231231xex97.htm EX-97

Exhibit 97

Primoris Services Corporation

Dodd-Frank Compensation Recovery Policy

This Compensation Recovery Policy (this “Policy”) is adopted by Primoris Services Corporation (the “Company”) in accordance with Section 303A.14 of the New York Stock Exchange (“NYSE”) Listed Company Manual (“Section 303A.14”), which implements Rule 10D-1 under the Securities Exchange Act of 1934, as amended (the “Exchange Act”) (as promulgated pursuant to Section 954 of the Dodd-Frank Wall Street Reform and Consumer Protection Act of 2010). This Policy is effective as of October 2, 2023 (the “Effective Date”).

1.Definitions
(a)“Accounting Restatement” means a requirement that the Company prepare an accounting restatement due to the material noncompliance of the Company with any financial reporting requirement under the U.S. federal securities laws, including any required accounting restatement to correct an error in previously issued financial statements that is material to the previously issued financial statements, or that would result in a material misstatement if the error were corrected in the current period or left uncorrected in the current period. Changes to the Company’s financial statements that do not represent error corrections are not an Accounting Restatement, including: (A) retrospective application of a change in accounting principle; (B) retrospective revision to reportable segment information due to a change in the structure of the Company’s internal organization; (C) retrospective reclassification due to a discontinued operation; (D) retrospective application of a change in reporting entity, such as from a reorganization of entities under common control; and (E) retrospective revision for stock splits, reverse stock splits, stock dividends or other changes in capital structure.
(b)“Committee” means the Compensation Committee of the Company’s Board of Directors (the “Board”).
(c)“Covered Person” means a person who served as an Executive Officer at any time during the performance period for the applicable Incentive-Based Compensation.
(d)“Erroneously Awarded Compensation” means the amount of Incentive-Based Compensation that was Received that exceeds the amount of Incentive-Based Compensation that otherwise would have been Received had the amount of Incentive-Based Compensation been determined based on the restated amounts, computed without regard to any taxes paid by the Covered Person or by the Company on the Covered Person’s behalf. For Incentive-Based Compensation based on stock price or total shareholder return, where the amount of Erroneously Awarded Compensation is not subject to mathematical recalculation directly from the information in an Accounting Restatement, the amount of Erroneously Awarded Compensation will be based on a reasonable estimate by the Committee of the effect of the Accounting Restatement on the stock price or total shareholder return upon which the Incentive-Based Compensation was Received. The Company will maintain documentation of the determination of that reasonable estimate and provide such documentation to NYSE.

1

ACTIVEUS 201173858v.1


(e)“Executive Officer” means the Company’s president, principal financial officer, principal accounting officer (or if there is no such accounting officer, the controller), any vice president of the Company in charge of a principal business unit, division, or function (such as sales, administration, or finance), any other officer who performs a significant policy-making function, any other person (including as applicable executives of any of the Company’s parents or subsidiaries) who performs similar policy-making functions for the Company, or any other persons determined to be an “executive officer” of the Company within the meaning of Item 401(b) of Regulation S-K of the Exchange Act.
(f)“Financial Reporting Measures” means (A) measures that are determined and presented in accordance with the accounting principles used in preparing the Company’s financial statements, and any measures that are derived wholly or in part from such measures (whether or not such measures are presented within the Company’s financial statements or included in a filing made with the U.S. Securities and Exchange Commission), (B) stock price and (C) total shareholder return.
(g)“Incentive-Based Compensation” means any compensation that is granted, earned, or vested based wholly or in part upon the attainment of a Financial Reporting Measure.
(h)Incentive-Based Compensation is deemed to be “Received” in the Company’s fiscal period during which the Financial Reporting Measure specified in the applicable Incentive-Based Compensation award is attained, even if the payment or grant of the Incentive-Based Compensation occurs after the end of that period or is subject to additional time-based vesting requirements.
(i)“Recovery Period” means the three completed fiscal years immediately preceding the earlier of: (A) the date the Board, a committee of the Board, or the officer or officers of the Company authorized to take such action if Board action is not required, concludes, or reasonably should have concluded, that the Company is required to prepare an Accounting Restatement; or (B) the date a court, regulator, or other legally authorized body directs the Company to prepare an Accounting Restatement. In addition, if there is a change in the Company’s fiscal year end, the Recovery Period will also include any transition period to the extent required by Section 303A.14.
2.Recovery of Erroneously Awarded Compensation

Subject to the terms of this Policy and the requirements of Section 303A.14, if the Company is required to prepare an Accounting Restatement, the Company will attempt to recover, reasonably promptly from each Covered Person, any Erroneously Awarded Compensation that was Received by such Covered Person during the Recovery Period pursuant to Incentive-Based Compensation that is subject to this Policy.

3.Interpretation and Administration
(a)Role of the Committee. This Policy will be interpreted by the Committee in a manner that is consistent with Section 303A.14 and any other applicable law and will otherwise

2

ACTIVEUS 201173858v.1


be interpreted in the business judgment of the Committee. All decisions and interpretations of the Committee that are consistent with Section 303A.14 will be final and binding.
(b)Compensation Not Subject to this Policy. This Policy does not apply to Incentive-Based Compensation that was Received before the Effective Date. With respect to any Covered Person, this Policy does not apply to Incentive-Based Compensation that was Received by such Covered Person before beginning service as an Executive Officer.
(c)Determination of Means of Recovery. Subject to the requirement that recovery be made reasonably promptly, the Committee will determine the appropriate means of recovery, which may vary between Covered Persons or based on the nature of the applicable Incentive-Based Compensation, and which may involve, without limitation, establishing a deferred repayment plan or setting off against current or future compensation otherwise payable to the Covered Person. Recovery of Erroneously Awarded Compensation will be made without regard to income taxes paid by the Covered Person or by the Company on the Covered Person’s behalf in connection with such Erroneously Awarded Compensation.
(d)Determination That Recovery is Impracticable. The Company is not required to recover Erroneously Awarded Compensation if a determination is made by the Committee that either (A) after the Company has made and documented a reasonable attempt to recover such Erroneously Awarded Compensation, the direct expense paid to a third party to assist in enforcing this Policy would exceed the amount to be recovered or (B) recovery of such Erroneously Awarded Compensation would likely cause an otherwise tax-qualified retirement plan, under which benefits are broadly available to employees of the registrant, to fail to meet the requirements of Section 401(a)(13) or 411(a) of the Internal Revenue Code and regulations thereunder.
(e)No Indemnification or Company-Paid Insurance. The Company will not indemnify any Covered Person against the loss of Erroneously Awarded Compensation and will not pay or reimburse any Covered Person for the purchase of a third-party insurance policy to fund potential recovery obligations.
(f)Interaction with Other Clawback Provisions. The Company will be deemed to have recovered Erroneously Awarded Compensation in accordance with this Policy to the extent the Company actually receives such amounts pursuant to any other Company policy, program or agreement, pursuant to Section 304 of the Sarbanes-Oxley Act or otherwise.
(g)No Limitation on Other Remedies. Nothing in this Policy will be deemed to limit the Company’s right to terminate employment of any Covered Person, to seek recovery of other compensation paid to a Covered Person, or to pursue other rights or remedies available to the Company under applicable law.

Adopted by the Board on November 2, 2023.

3

ACTIVEUS 201173858v.1


GRAPHIC 9 prim-20231231x10k002.jpg GRAPHIC begin 644 prim-20231231x10k002.jpg M_]C_X 02D9)1@ ! @ 0 ! #_VP!# ," @," @,# P,$ P,$!0@%!00$ M!0H'!P8(# H,# L*"PL-#A(0#0X1#@L+$!80$1,4%145# \7&!84&!(4%13_ MVP!# 0,$! 4$!0D%!0D4#0L-%!04%!04%!04%!04%!04%!04%!04%!04%!04 M%!04%!04%!04%!04%!04%!04%!04%!3_P 1" %@ P8# 2( A$! Q$!_\0 M'P 04! 0$! 0$ $" P0%!@<("0H+_\0 M1 @$# P($ P4% M! 0 %] 0(# 01!1(A,4$&$U%A!R)Q%#*!D:$((T*QP152T? D,V)R@@D* M%A<8&1HE)B7J#A(6&AXB)BI*3E)66EYB9FJ*CI*6FIZBIJK*SM+6VM[BYNL+#Q,7& MQ\C)RM+3U-76U]C9VN'BX^3EYN?HZ>KQ\O/T]?;W^/GZ_\0 'P$ P$! 0$! M 0$! 0 $" P0%!@<("0H+_\0 M1$ @$"! 0#! <%! 0 0)W $" M Q$$!2$Q!A)!40=A<1,B,H$(%$*1H;'!"2,S4O 58G+1"A8D-.$E\1<8&1HF M)R@I*C4V-S@Y.D-$149'2$E*4U155E=865IC9&5F9VAI:G-T=79W>'EZ@H.$ MA8:'B(F*DI.4E9:7F)F:HJ.DI::GJ*FJLK.TM;:WN+FZPL/$Q<;'R,G*TM/4 MU=;7V-G:XN/DY>;GZ.GJ\O/T]?;W^/GZ_]H # ,! (1 Q$ /P#]4Z*** "B MBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *** M* "BBB@ HHHH *S-3\3:1HLRPZAJME8RLNY4N;E(V(]0&(XK3KPR;1=.UG]I MWQB-0T^TU!8O"6C&,7=NDH0F[U'.-P.,X'3T'I0!ZI_PG_AG_H8M)_\ Z+_ M .*H_P"$_P##/_0Q:3_X'1?_ !58/_"$>&_^A&_^A M&_\ H7-'_P#!=#_\10!O?\)_X9_Z&+2?_ Z+_P"*H_X3_P ,_P#0Q:3_ .!T M7_Q58/\ PA'AO_H7-'_\%T/_ ,11_P (1X;_ .A&_\ H7-'_P#!=#_\11_PA'AO_H7-'_\ !=#_ /$4 ;W_ M G_ (9_Z&+2?_ Z+_XJC_A/_#/_ $,6D_\ @=%_\56#_P (1X;_ .A&_P#H7-'_ /!= M#_\ $4 ;W_"?^&?^ABTG_P #HO\ XJC_ (3_ ,,_]#%I/_@=%_\ %5@_\(1X M;_Z%S1__ 70_P#Q%'_"$>&_^A&_P#H7-'_ /!=#_\ $4?\(1X;_P"A&_^A&_^A&_^A&_\ H7-'_P#!=#_\10!O M?\)_X9_Z&+2?_ Z+_P"*H_X3_P ,_P#0Q:3_ .!T7_Q58/\ PA'AO_H7-'_\ M%T/_ ,11_P (1X;_ .A&_\ MH7-'_P#!=#_\11_PA'AO_H7-'_\ !=#_ /$4 ;W_ G_ (9_Z&+2?_ Z+_XJ MC_A/_#/_ $,6D_\ @=%_\56#_P (1X;_ .A&_P#H7-'_ /!=#_\ $4 ;W_"?^&?^ABTG M_P #HO\ XJC_ (3_ ,,_]#%I/_@=%_\ %5@_\(1X;_Z%S1__ 70_P#Q%'_" M$>&_^A&_P#H7-'_ /!=#_\ M$4?\(1X;_P"A&_^A&_^A&_^A&_\ H7-'_P#!=#_\10!O?\)_X9_Z&+2?_ Z+_P"* MH_X3_P ,_P#0Q:3_ .!T7_Q58/\ PA'AO_H7-'_\%T/_ ,11_P (1X;_ .A< MT?\ \%T/_P 10!O?\)_X9_Z&+2?_ .B_P#BJ/\ A/\ PS_T,6D_^!T7_P 5 M6#_PA'AO_H7-'_\ !=#_ /$4?\(1X;_Z%S1__!=#_P#$4 =!'XZ\-S2+''X@ MTMY'(556]B))/0 ;JW:\3^+OA'0;+X;ZY<6VAZ9;7$4<3)+#8Q(ZGSH^0P4$ M5[6.E "T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !117SI^VE\2O''PW\%V%SX5U";PUIDJ7;:GXGMM M%;59-/,<0:!/*&1&LKEE,SJRIM QE@0 ?1=%?%'CW]H#QU_9?@+3]*\>B[^T M:;J.I7_BGX?^#I/$46H117$4-L?( 86[%3*TJ[B$:,J"01BY\5/C[XE6#X=6 M7A+X@ZO&)-TT_P )6'B&Y\5SZ(ER-:FN7EC@40[U6")OLTKO MM^<%E5=N#6_>?M"ZS?\ [)VD?$K3--M(/$^L6EA!;V5SN:VAO[JXCM1NP=S1 MI+)NQD$JN,Y- 'OM%?)WB/XP?$_X,W'BKP9K&N:5XV\226.E77A[79=*%C&L MM]J0T\QW,,B_"'Q+XW\/_ !1\1?#?QSK]IXPN;72; M37M/UZVTU;!WAFFFADAEB1F3Q3S1VT+RRN(XD4LSL< #))KYGLOC9X '[1_C"];QCHZVDOA71X4F-R M-K.MUJ!90?4!E/\ P(4 >\T5PO\ POCX= M#_\ H?X4 =U17"_\+X^''_0\Z'_ .!0_P */^%\?#C_ *'G0_\ P*'^% '= M45PO_"^/AQ_T/.A_^!0_PH_X7Q\./^AYT/\ \"A_A0!W5%<+_P +X^''_0\Z M'_X%#_"C_A?'PX_Z'G0__ H?X4 =U17"_P#"^/AQ_P!#SH?_ (%#_"C_ (7Q M\./^AYT/_P "A_A0!W5%<+_POCX=#_P# MH?X4 =U17"_\+X^''_0\Z'_X%#_"C_A?'PX_Z'G0_P#P*'^% '=45PO_ OC MX=#_\"A_A0!W5%<+_ ,+X^''_ $/.A_\ @4/\ M*/\ A?'PX_Z'G0__ *'^% '=45PO_"^/AQ_T/.A_P#@4/\ "C_A?'PX_P"A MYT/_ ,"A_A0!W5%<+_POCX=#_ / H?X4 =U17 M"_\ "^/AQ_T/.A_^!0_PH_X7Q\./^AYT/_P*'^% '=45PO\ POCX=#_\ H?X4 =U17"_\+X^''_0\Z'_ .!0_P */^%\ M?#C_ *'G0_\ P*'^% '=45PO_"^/AQ_T/.A_^!0_PH_X7Q\./^AYT/\ \"A_ MA0!W5%<+_P +X^''_0\Z'_X%#_"C_A?'PX_Z'G0__ H?X4 =U17"_P#"^/AQ M_P!#SH?_ (%#_"C_ (7Q\./^AYT/_P "A_A0!W5%<+_POCX=#_P# H?X4 =U17"_\+X^''_0\Z'_X%#_"C_A?'PX_Z'G0 M_P#P*'^% '=45PO_ OCX=#_\"A_A0!W5%<+_ M ,+X^''_ $/.A_\ @4/\*/\ A?'PX_Z'G0__ *'^% '=45PO_"^/AQ_T/.A M_P#@4/\ "C_A?'PX_P"AYT/_ ,"A_A0!W5%<+_POCX=#_ / H?X4 =U17"_\ "^/AQ_T/.A_^!0_PH_X7Q\./^AYT/_P*'^% M'=45PO\ POCX=#_\ H?X4 =U17"_\+X^ M''_0\Z'_ .!0_P */^%\?#C_ *'G0_\ P*'^% '=45PO_"^/AQ_T/.A_^!0_ MPH_X7Q\./^AYT/\ \"A_A0!W5%<+_P +X^''_0\Z'_X%#_"C_A?'PX_Z'G0_ M_ H?X4 =U17"_P#"^/AQ_P!#SH?_ (%#_"C_ (7Q\./^AYT/_P "A_A0!-\9 MO^27>(?^N47_ */CKU8=*^>_B?\ %_P/X@\!:QINE^+-)U"_N4BCAMK>X#/( MWG1G '?H:^A!TH 6BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH *\B_:/^&?C7XB^$)8O WBY?#VII:W- MM)I]]:K<6&I1RJHV2CNT4 ?.>@?LY_$7X?Z='-X/\ MBK;V.MZA<7MYKXU/P\MQIMY=7,WFM<06R31M;NA^11YCJ5QO#-\U:-I^S_XX M^'_A_P .Z5\-OB<=%M[#3GL+V'Q!HZZE#=2O,\SWR*LD1CN#)+(3RT9!4;/E M%>]T4 ?.D/[+6O> H=!?X8^/_P#A&K^TT!?#FH7.LZ4NI?;(5EDF2Y"B2(1W M"2SSL#S'^](*$ 8Z";]G$/\ !^7X70:Z++PG:Z38V>D7$%I_Q,+2\MI/-%W) M(7*2DRI"X38H!5\DA@![710!\[77[+FN^-K+Q7J'COQU'J7C'5[*QL;#5]#T MA;L[G[7;O' \DI=_M&)'WN0VT* H%=I\*OA+K_AOQAKWC/QMXFM/%7BW M5;2VTQ9M.TPZ?:6EG TCI%'$996):2:1V9G.20 !BO5:* "O&K&1U_:=\: M2. /".BXPY_Y_-2_Q/YU[+7C-E_R<]XU_P"Q1T7_ -+-1H ]&\Z7_GM+_P!] MG_&CSI?^>TO_ 'V?\:910 _SI?\ GM+_ -]G_&CSI?\ GM+_ -]G_&F44 /\ MZ7_GM+_WV?\ &CSI?^>TO_?9_P :910 _P Z7_GM+_WV?\:/.E_Y[2_]]G_& MF44 /\Z7_GM+_P!]G_&CSI?^>TO_ 'V?\:910 _SI?\ GM+_ -]G_&CSI?\ MGM+_ -]G_&F44 /\Z7_GM+_WV?\ &CSI?^>TO_?9_P :910 _P Z7_GM+_WV M?\:/.E_Y[2_]]G_&F44 /\Z7_GM+_P!]G_&CSI?^>TO_ 'V?\:910 _SI?\ MGM+_ -]G_&CSI?\ GM+_ -]G_&F44 /\Z7_GM+_WV?\ &CSI?^>TO_?9_P : M910 _P Z7_GM+_WV?\:/.E_Y[2_]]G_&F44 /\Z7_GM+_P!]G_&CSI?^>TO_ M 'V?\:910 _SI?\ GM+_ -]G_&CSI?\ GM+_ -]G_&F44 /\Z7_GM+_WV?\ M&CSI?^>TO_?9_P :910 _P Z7_GM+_WV?\:/.E_Y[2_]]G_&F44 /\Z7_GM+ M_P!]G_&CSI?^>TO_ 'V?\:910 _SI?\ GM+_ -]G_&CSI?\ GM+_ -]G_&F4 M4 /\Z7_GM+_WV?\ &CSI?^>TO_?9_P :910 _P Z7_GM+_WV?\:/.E_Y[2_] M]G_&F44 /\Z7_GM+_P!]G_&CSI?^>TO_ 'V?\:910 _SI?\ GM+_ -]G_&CS MI?\ GM+_ -]G_&F44 /\Z7_GM+_WV?\ &CSI?^>TO_?9_P :910 _P Z7_GM M+_WV?\:/.E_Y[2_]]G_&F44 /\Z7_GM+_P!]G_&CSI?^>TO_ 'V?\:910 _S MI?\ GM+_ -]G_&CSI?\ GM+_ -]G_&F44 /\Z7_GM+_WV?\ &CSI?^>TG_?P M_P"-,KP7XZ_%:+X>>+;"+PINO_'-\$MY],13+#-$<^7YR Y\P$_)MP<$Y^7% M;4:4JTN2.Y48N3LCWWSI?^>TG_?P_P"-'G2_\]I?^^S_ (UP_P * E[X<&KW M-PUWX@OB/[7DDRK0W"##6^P_ZM8\E0F.ASSNR>UJ)QY9./835G8?YTO_ #VE M_P"^S_C1YTO_ #VE_P"^S_C3**@1QOQHD=OA=XA#2.P\J/@N3_RWCKU0=*\I M^,W_ "2[Q#_URB_]'QUZL.E "T444 %%%% !1110 4444 %%%% !1110 444 M4 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 M 5X7-K=AH_[3WC'[;=);>9X1T;9O!YQ=ZCGH#ZBO=*\9L21^T]XUP2/^*1T7 MH?\ I\U&@#J/^$VT+_H*0_DW^%'_ FVA?\ 04A_)O\ "MS>W]YOSHWM_>;\ MZ ,/_A-M"_Z"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_P"$VT+_ M *"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_ .$VT+_H*0_DW^%' M_";:%_T%(?R;_"MS>W]YOSHWM_>;\Z ,/_A-M"_Z"D/Y-_A1_P )MH7_ $%( M?R;_ K;\Z-[?WF_.@##_X3;0O^@I#^3?X4?\)MH7_04A_)O\*W-[?W MF_.C>W]YOSH P_\ A-M"_P"@I#^3?X4?\)MH7_04A_)O\*W-[?WF_.C>W]YO MSH P_P#A-M"_Z"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_X3;0O M^@I#^3?X4?\ ";:%_P!!2'\F_P *W-[?WF_.C>W]YOSH P_^$VT+_H*0_DW^ M%'_";:%_T%(?R;_"MS>W]YOSHWM_>;\Z ,/_ (3;0O\ H*0_DW^%'_";:%_T M%(?R;_"MS>W]YOSHWM_>;\Z ,/\ X3;0O^@I#^3?X4?\)MH7_04A_)O\*W-[ M?WF_.C>W]YOSH P_^$VT+_H*0_DW^%'_ FVA?\ 04A_)O\ "MS>W]YOSHWM M_>;\Z ,/_A-M"_Z"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_P"$ MVT+_ *"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_ .$VT+_H*0_D MW^%'_";:%_T%(?R;_"MS>W]YOSHWM_>;\Z ,/_A-M"_Z"D/Y-_A1_P )MH7_ M $%(?R;_ K;\Z-[?WF_.@##_X3;0O^@I#^3?X4?\)MH7_04A_)O\*W M-[?WF_.C>W]YOSH P_\ A-M"_P"@I#^3?X4?\)MH7_04A_)O\*W-[?WF_.C> MW]YOSH P_P#A-M"_Z"D/Y-_A1_PFVA?]!2'\F_PK;\Z-[?WF_.@##_X M3;0O^@I#^3?X4?\ ";:%_P!!2'\F_P *W-[?WF_.C>W]YOSH P_^$VT+_H*0 M_DW^%'_";:%_T%(?R;_"MS>W]YOSHWM_>;\Z ,/_ (3;0O\ H*0_DW^%'_"; M:%_T%(?R;_"MS>W]YOSHWM_>;\Z ,/\ X3;0O^@I#^3?X4?\)MH7_04A_)O\ M*W-[?WF_.C>W]YOSH P_^$VT+_H*0_DW^%'_ FVA?\ 04A_)O\ "MS>W]YO MSHWM_>;\Z ,/_A-M"_Z"D/Y-_A1_PFV@_P#04A_)O\*W-[?WC^=>0_'?X\)\ M-K>/1=%4ZGXQOP$M;1 7\C=PKNHZDG[J=S[5K2I2K24(+4J,7)V1G_&W]HNQ M\%:>NE>&)$UCQ7>_NX(HT+BVST=EQRQ_A7OU/'7*^!'@#1/ [2^)_$^L0ZGX MUU#,DT\I:3[+N^\H;'+G^)OP''78^!'P+E\'RR>+/%DC:GXVOR99)9V\PVF[ MJ >\A_B;M]T<=?:][?WC^===6K&E%T:+]7W_ .!^9(?"UK?W=] M#=VL5W=A!/,B,&EV A=W') .,]^YD8?_";:%_T%(?R;_"C_A-M"_Z"D/Y-_A6YO;^\WYT;V_O-^=(#S7XM M^*](OOAOKMO;ZA%--)'$J(H;)/G1^HKVL=*\J^,[$_"[Q#DD_NHNI_Z;QUZJ M.E "T444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%% M% !1110 4444 %%%% !29Q2U\T?MT>%_%6O_ ZANM';4+WPYI\%[-K6CZ3K M1TJYN@8@()!*,>8D3@EH=Z!]P.3MVL ?2V:"<5^?'Q,_:PT#PW\&-3^&^B?$ MS5?#?B&'3=5DNM1\9R"'7-.6)I%BTU&/^MNV<+&LN6(B4R%F=D+=KXMM/&'Q MLT'X5:YX4T;4?B!X-@\)&2:72/'DOA]+K47:%#NFA;S971890 PV;I#E@0: M/M+-%?(/A"+3_P!ICQ/I.DVWB+QCX:\&Z5X&T[4=+L;/7KFUODO)[BZ@::YG M20O/+!]C"#S'="Q&_%']LR6/BC6K32=.GUNU 62-KF M]AM);I,C"OMD:0'& Q! XH ^ILT9S7Q3\2'UGX(>(_%GP^\*>+_$4.CZSI6@ M317>IZM-J%YI$MWK2Z=YN;>54FF9I-D@A1]K,<,&VX!Q0![]7C-E_ MR<]XU_[%'1?_ $LU&O8YI1!"\C!F5%+$(I9C@=@.2?85\UV/Q2TP_M(>,+O^ MQ_%1CE\*Z/$J+X8U R K=Z@22GD[@O/#$8)# 9P< 'NE%<7_ ,+9TK_H!^,? M_"2U+_XS1_PMG2O^@'XQ_P#"2U+_ .,T =I17%_\+9TK_H!^,?\ PDM2_P#C M-'_"V=*_Z ?C'_PDM2_^,T =I17%_P#"V=*_Z ?C'_PDM2_^,T?\+9TK_H!^ M,?\ PDM2_P#C- ':45Q?_"V=*_Z ?C'_ ,)+4O\ XS1_PMG2O^@'XQ_\)+4O M_C- ':45Q?\ PMG2O^@'XQ_\)+4O_C-'_"V=*_Z ?C'_ ,)+4O\ XS0!VE%< M7_PMG2O^@'XQ_P#"2U+_ .,T?\+9TK_H!^,?_"2U+_XS0!VE%<7_ ,+9TK_H M!^,?_"2U+_XS1_PMG2O^@'XQ_P#"2U+_ .,T =I17%_\+9TK_H!^,?\ PDM2 M_P#C-'_"V=*_Z ?C'_PDM2_^,T =I17%_P#"V=*_Z ?C'_PDM2_^,T?\+9TK M_H!^,?\ PDM2_P#C- ':45Q?_"V=*_Z ?C'_ ,)+4O\ XS1_PMG2O^@'XQ_\ M)+4O_C- ':45Q?\ PMG2O^@'XQ_\)+4O_C-'_"V=*_Z ?C'_ ,)+4O\ XS0! MVE%<7_PMG2O^@'XQ_P#"2U+_ .,T?\+9TK_H!^,?_"2U+_XS0!VE%<7_ ,+9 MTK_H!^,?_"2U+_XS1_PMG2O^@'XQ_P#"2U+_ .,T =I17%_\+9TK_H!^,?\ MPDM2_P#C-'_"V=*_Z ?C'_PDM2_^,T =I17%_P#"V=*_Z ?C'_PDM2_^,T?\ M+9TK_H!^,?\ PDM2_P#C- ':45Q?_"V=*_Z ?C'_ ,)+4O\ XS1_PMG2O^@' MXQ_\)+4O_C- ':45Q?\ PMG2O^@'XQ_\)+4O_C-'_"V=*_Z ?C'_ ,)+4O\ MXS0!VE%<7_PMG2O^@'XQ_P#"2U+_ .,T?\+9TK_H!^,?_"2U+_XS0!VE%<7_ M ,+9TK_H!^,?_"2U+_XS1_PMG2O^@'XQ_P#"2U+_ .,T =I17%_\+9TK_H!^ M,?\ PDM2_P#C-'_"V=*_Z ?C'_PDM2_^,T =I17%_P#"V=*_Z ?C'_PDM2_^ M,T?\+9TK_H!^,?\ PDM2_P#C- ':45Q?_"V=*_Z ?C'_ ,)+4O\ XS1_PMG2 MO^@'XQ_\)+4O_C- ':45Q?\ PMG2O^@'XQ_\)+4O_C-'_"V=*_Z ?C'_ ,)+ M4O\ XS0!VE%<7_PMG2O^@'XQ_P#"2U+_ .,T?\+9TK_H!^,?_"2U+_XS0!VE M%<7_ ,+9TK_H!^,?_"2U+_XS7!_%']IW3/"NG/8:)IVJS>*[G:EK8ZII-S9[ M=Q(60K*BEQD8"KDDXZ"M:=.562A!:E*+D[(U?CO\=(/AC91Z5I*+J7B^^ 6T MLE7?Y.[@2.HZY/W5ZL?:LWX$_ NX\*W4OC#QA*VI^-;\F5FF;?\ 8]W49[R$ M<$CA1\H[UQ7P.T"U\+ZE<>,/&NC^+]3\;7DC2%G\+:A*+3/!(80D,Y_O#A1P MOK7MW_"V=*_Z ?C#_P )+4?_ (S775J1HQ=&B_5]_)>7YFDFHKEB=I17%_\ M"V=*_P"@'XQ_\)+4O_C-'_"V=*_Z ?C'_P )+4O_ (S7GF)VE%<7_P +9TK_ M * ?C'_PDM2_^,T?\+9TK_H!^,?_ DM2_\ C- ':45Q?_"V=*_Z ?C'_P ) M+4O_ (S1_P +9TK_ * ?C'_PDM2_^,T 'QF_Y)=XA_ZY1?\ H^.O5ATKY_\ MBE\2-.U?P!K%E%I/B:WEG2)%DOO#E];0J?.C/S221!5''4D"OH =* %HHHH M**** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ H MHHH **** "O+_CO^S_HGQWT**VOK_4]!UBTBGBL-;T:[>WN;99E"RI\I DC< M*NZ-L@[1T(!'J%% 'GNA_ OPMX>^%6J> +.&[_L?5;>[AO[J>Z>:]NWN@WVB M>2=\LTKEV)<]\8 &#XS_9?\+>,#H4T6J>)?#=_I.F1Z*-0\.:S+87%U8I] MVWG9/]8@.6' 8%F*D;CGV"B@#QGQ9^R=X%\1V.@VNG_VQX/31M-_L6!_"VJS M:>\NG9!-I*R',D9(SS\P))# L<]%=? CPI?>&]3\,W$-W-X1O='MM$'ATW3B MRM;> ,$,"#!CDPRYD#;OW:'(*YKT2B@#QW1?V5?!-AX8\5:/JTFM^+7\30Q6 MVIZIXCU::\OI88B3!&LQ(:,1LQ9-F"&.[)/-=!\)_@CH?PD?5KJRO]:U[6M6 M:/[=K7B+4I+^]G2($11F1^B(&;:J@#YF)R237H5% !7C%DH_X:>\:\#_ )%' M1>W_ $^:C7L]>,V7_)SWC7_L4=%_]+-1H ]"V+_='Y4;%_NC\J6B@!-B_P!T M?E1L7^Z/RI:* $V+_='Y4;%_NC\J6B@!-B_W1^5&Q?[H_*EHH 38O]T?E1L7 M^Z/RI:* $V+_ '1^5&Q?[H_*EHH 38O]T?E1L7^Z/RI:* $V+_='Y4;%_NC\ MJ6B@!-B_W1^5&Q?[H_*EHH 38O\ ='Y4;%_NC\J6B@!-B_W1^5&Q?[H_*EHH M 38O]T?E1L7^Z/RI:* $V+_='Y4;%_NC\J6B@!-B_P!T?E1L7^Z/RI:* $V+ M_='Y4;%_NC\J6B@!-B_W1^5&Q?[H_*EHH 38O]T?E1L7^Z/RI:* $V+_ '1^ M5&Q?[H_*EHH 38O]T?E1L7^Z/RI:* $V+_='Y4;%_NC\J6B@!-B_W1^5&Q?[ MH_*EHH 38O\ ='Y4;%_NC\J6B@!-B_W1^5&Q?[H_*EHH 38O]T?E1L7^Z/RI M:\N^.7QOLOA-I"06R)J'B:]&VRT\?-C/ DD YVYZ#JQX'.F36#\"O@9=Z-J+ M^.?&SMJ'C.^)F59_F^Q[AU/;S,<<<(.!3/@9\$+ZQU23QYX[9M0\8WK>='%< M?-]CR.I'3S,< #A!P.:]WKMJ5(T(NC1=[[OOY+R_,UDU%KCI7E/QF_Y)=XA_ZY1?^CXZ]6'2@!:*** " MBBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH *\,EOYK']I[QCY6GW-_N\(Z+G[-L^7 M_3-1Z[F'7V]*]SKQFS_Y.>\:_P#8HZ+_ .EFHT =3_PD%W_T+VI_^0?_ (Y1 M_P )!=_]"]J?_D'_ ..5M8HQ0!B_\)!=_P#0O:G_ .0?_CE'_"07?_0O:G_Y M!_\ CE;6*,4 8O\ PD%W_P!"]J?_ )!_^.4?\)!=_P#0O:G_ .0?_CE;6*,4 M 8O_ D%W_T+VI_^0?\ XY1_PD%W_P!"]J?_ )!_^.5M8HQ0!B_\)!=_]"]J M?_D'_P".4?\ "07?_0O:G_Y!_P#CE;6*,4 8O_"07?\ T+VI_P#D'_XY1_PD M%W_T+VI_^0?_ (Y6UBC% &+_ ,)!=_\ 0O:G_P"0?_CE'_"07?\ T+VI_P#D M'_XY6UBC% &+_P )!=_]"]J?_D'_ ..4?\)!=_\ 0O:G_P"0?_CE;6*,4 8O M_"07?_0O:G_Y!_\ CE'_ D%W_T+VI_^0?\ XY6UBC% &+_PD%W_ -"]J?\ MY!_^.4?\)!=_]"]J?_D'_P".5M8HQ0!B_P#"07?_ $+VI_\ D'_XY1_PD%W_ M -"]J?\ Y!_^.5M8HQ0!B_\ "07?_0O:G_Y!_P#CE'_"07?_ $+VI_\ D'_X MY6UBC% &+_PD%W_T+VI_^0?_ (Y1_P )!=_]"]J?_D'_ ..5M8HQ0!B_\)!= M_P#0O:G_ .0?_CE'_"07?_0O:G_Y!_\ CE;6*,4 8O\ PD%W_P!"]J?_ )!_ M^.4?\)!=_P#0O:G_ .0?_CE;6*,4 8O_ D%W_T+VI_^0?\ XY1_PD%W_P!" M]J?_ )!_^.5M8HQ0!B_\)!=_]"]J?_D'_P".4?\ "07?_0O:G_Y!_P#CE;6* M,4 8O_"07?\ T+VI_P#D'_XY1_PD%W_T+VI_^0?_ (Y6UBC% &+_ ,)!=_\ M0O:G_P"0?_CE'_"07?\ T+VI_P#D'_XY6UBC% &+_P )!=_]"]J?_D'_ ..4 M?\)!=_\ 0O:G_P"0?_CE;6*,4 8O_"07?_0O:G_Y!_\ CE'_ D%W_T+VI_^ M0?\ XY6UBC% &+_PD%W_ -"]J?\ Y!_^.4?\)!=_]"]J?_D'_P".5M8HQ0!B M_P#"07?_ $+VI_\ D'_XY1_PD%W_ -"]J?\ Y!_^.5M8KS3XV_&O3?A#H8.$ MOM?NU(L=.!Y8]/,?'(0'\6/ ]M*=.562A!7;&DY.R,SXO_M!6_PPTP0'2+IO M$-VA^PV4YC()S@.X1B=N>V/F/ [UQOP8^%6L6>NR^._'6CZEK/BNZ?SH%D$1 M6U!'#$%QA\< 8P@X'/32^"'P4U*;6F^(7Q 9K[Q5>$36UK< $68/W69>@<#A M5'"#WZ>_8KMJ5(T(NC1=V]W^B\OS-6U!U/_P @_P#QRC_A M(+O_ *%[4_\ R#_\U/_ ,@__'*/^$@N_P#H7M3_ M /(/_P U/_P @_P#QRC_A(+O_ *%[4_\ R#_\U/_P @_P#QRMK%&* ,7_A(+O\ MZ%[4_P#R#_\ '*/^$@N_^A>U/_R#_P#'*VL48H \W^+FM7-Q\-]=B?1;^V5X MX@99?*VK^^CY.')_(5[4.E>4_&8?\6N\0_\ 7*+_ -'QUZL.E "T444 %%%% M !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !5>_O[;2[.6[O+B*TM85W23SN$1!ZECP!]:L5\N_MV_#T>/O!^G%+G0 M=4GTJTU&^'A#7YY$BU-!"JFX14)+26Y*LI9'0>:<@$JP /I]IHT569U4,< D MX!--EN8H /-D2//3>P&?SKXITKX:>"OC#\,9M(T3P;IFJ>,?";ZEI=I\/_&W MB1YK'2'%V5FEA,0=F1&PD4H4%5'EAH\'&%#\/-3_ &B/"WPGN]-_X0?QI#H' M@MX7TWXH-)=W37)N%@DNG@@)^5C9.BW&]ARQ >@#[T,\856+J%<@*WV[5!C^S0 M*DZ@%4*E2N^MR\\6:UK'_!/+PQJ6JZM>QW.I:?H]EJ&K>:\5PUE->P033&3. MX%K=V)?.?F+9[T ?7<"/!40\(^"-6T7PV^MV&DRO;P6GVC7!9SS+M;$+2VID5RNTL$W$Y&:]G^$ M'@[0OA1^TKXT\'>"+"#1/";^&-+U6YT:P4K:VM\US=1;T3.V)I(HT+ ;M@8 MY)S0!]$UXS9?\G/>-?\ L4=%_P#2S4:]BG:1(9&B022!250MM#'' SV^M?-% MCX@\=']HWQ?)_P (5IYO&\+:.LD'_"1JJJ@N]0VL&-OR221C'&W.3NX />** MX;_A(OB#_P!"'IG_ (5*?_(U'_"1?$'_ *$/3/\ PJ4_^1J .YHKAO\ A(OB M#_T(>F?^%2G_ ,C4?\)%\0?^A#TS_P *E/\ Y&H [FBN&_X2+X@_]"'IG_A4 MI_\ (U'_ D7Q!_Z$/3/_"I3_P"1J .YHKAO^$B^(/\ T(>F?^%2G_R-1_PD M7Q!_Z$/3/_"I3_Y&H [FBN&_X2+X@_\ 0AZ9_P"%2G_R-1_PD7Q!_P"A#TS_ M ,*E/_D:@#N:*X;_ (2+X@_]"'IG_A4I_P#(U'_"1?$'_H0],_\ "I3_ .1J M .YHKAO^$B^(/_0AZ9_X5*?_ "-1_P )%\0?^A#TS_PJ4_\ D:@#N:*X;_A( MOB#_ -"'IG_A4I_\C4?\)%\0?^A#TS_PJ4_^1J .YHKAO^$B^(/_ $(>F?\ MA4I_\C4?\)%\0?\ H0],_P#"I3_Y&H [FBN&_P"$B^(/_0AZ9_X5*?\ R-1_ MPD7Q!_Z$/3/_ J4_P#D:@#N:*X;_A(OB#_T(>F?^%2G_P C4?\ "1?$'_H0 M],_\*E/_ )&H [FBN&_X2+X@_P#0AZ9_X5*?_(U'_"1?$'_H0],_\*E/_D:@ M#N:*X;_A(OB#_P!"'IG_ (5*?_(U'_"1?$'_ *$/3/\ PJ4_^1J .YHKAO\ MA(OB#_T(>F?^%2G_ ,C4?\)%\0?^A#TS_P *E/\ Y&H [FBN&_X2+X@_]"'I MG_A4I_\ (U'_ D7Q!_Z$/3/_"I3_P"1J .YHKAO^$B^(/\ T(>F?^%2G_R- M1_PD7Q!_Z$/3/_"I3_Y&H [FBN&_X2+X@_\ 0AZ9_P"%2G_R-1_PD7Q!_P"A M#TS_ ,*E/_D:@#N:*X;_ (2+X@_]"'IG_A4I_P#(U'_"1?$'_H0],_\ "I3_ M .1J .YHKAO^$B^(/_0AZ9_X5*?_ "-1_P )%\0?^A#TS_PJ4_\ D:@#N:*X M;_A(OB#_ -"'IG_A4I_\C4?\)%\0?^A#TS_PJ4_^1J .YHKAO^$B^(/_ $(> MF?\ A4I_\C4?\)%\0?\ H0]-_P#"I3_Y&H [FDW#.,C/7'>O*/%/QAUWP1"9 M->\/:!I8 R$N/%T8D;Z(+;.ZK^U5<>+-;MF\-^#+Q?%=J_E6L]I>B[B MNH2Z]\2W;">TL[@<6@_A=EZ M!@/NIT0>_3C?A;X$\9ZWX^U+QGXF\/6OB7Q';S*!8ZAK*V3V#XRA:!H'XVX, M9!*XR?O=/>_^$B^(/_0AZ;_X5*?_ "-714G'#1=&D]7N_P!%Y?F4VH+EB=S1 M7#?\)%\0?^A#TS_PJ4_^1J/^$B^(/_0AZ9_X5*?_ "-7FF)W-%<-_P )%\0? M^A#TS_PJ4_\ D:C_ (2+X@_]"'IG_A4I_P#(U 'F?^%2G_P C4 =S17#?\)%\0?\ H0],_P#"I3_Y&H_X2+X@ M_P#0AZ9_X5*?_(U 'F?\ MA4I_\C4 =S17#?\ "1?$'_H0],_\*E/_ )&H_P"$B^(/_0AZ9_X5*?\ R-0! M+\9O^27>(?\ KE%_Z/CKU8=*^?/BAKGC2Y\ ZO%J/A"PT^Q=8A-=1>(%N&C7 MSH^1&(%W?#']A^,=(CU&!" MS6URI*7%H[+M+PRCYD)'!P<$<$$<5WU% 'DFN?LF_"3Q%X8T'P_>^!M-.E:$ MKII\5N9('A5SND7S(V5V5V^9PS$.W+9/-7/''[,OPO\ B-8Z'9Z]X+TVYMM$ M@^R:=' KVPM[? 'D#R63,7RC]V)?!^F MZA;:-%]GL(T1H!!!@ P#RBN82%4&(Y0[1E3BMR;X4^$K@ZN)=!M)K?5=-AT> M\LY%+6LMG$'$ *T_A?\&?!GP8TR[L/!N@V^BPWD MHGN71WEEG<#:IDED9G?:. "Q"C@8%=K10 5XS9?\G/>-?^Q1T7_TLU&O9J\9 MLO\ DY[QK_V*.B_^EFHT >AT444 %%%% !1110 4444 %%%% !1110 4444 M%%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4444 %%%% !1110 4 M5B>)_&V@>"[,@7,P5F^B_>/X"O&=?_ &P-%DNSI_@W0=2\6:@3 MM39&T49/K@ N1^ ^M=%/#U:WP1O^7WEQA*6R/H&L+Q3XZ\/>";?SM>UFRTI. MH6XE =OH@^8_@*\(_LSX]_%7_C[O+7X?:3)UBB^2;;]%+29^K+^%;OA;]D#P MEIUP+WQ%>7_BS4&Y=KN4QQ,?=0=S?BU;^PHT_P"+4^4=?QV*Y8KXG]Q3U[]L M#2;B[.G^"_#VI^+-0/RH5B:*,G_= +D?@*SO[%^/?Q4_X_\ 4;7P!I4G6& [ M)MOT4M)^;+7T%H7AO2?"]H+71]-M-+MP,>7:0K&#]<#G\:TJ/K%.G_!IKU>K M_P @YTOA1X5X5_9 \'Z5.+S7[B^\5Z@3N=[R4QQ,?=5.X_\ F->NZ)X-T'P MS(LFD:-8Z9(L/D![2W6,B/.=N0.F>?>MBBN>I7JU?CDV2YRENRM_9MI_:/\ M:'V:+[=Y/V?[1M^?R]V[9GTSSBK-%%8WN0%%%%( HHHH **** "BBB@ HHHH M **** .+^,W_ "2[Q#_URB_]'QUZL.E>4_&;_DEWB'_KE%_Z/CKU8=* %HHH MH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ KPR6>_A_:>\8_8;.&[SX1T7?YMQ MY6W_ $S4<8^4Y[U[G7C-E_R<]XU_[%'1?_2S4: .I^W:]_T!K3_P8_\ VNC[ M=KW_ $!K3_P8_P#VNMJB@#%^W:]_T!K3_P &/_VNC[=KW_0&M/\ P8__ &NM MJB@#%^W:]_T!K3_P8_\ VNC[=KW_ $!K3_P8_P#VNMJB@#%^W:]_T!K3_P & M/_VNC[=KW_0&M/\ P8__ &NMJB@#%^W:]_T!K3_P8_\ VNC[=KW_ $!K3_P8 M_P#VNMJB@#%^W:]_T!K3_P &/_VNC[=KW_0&M/\ P8__ &NMJB@#%^W:]_T! MK3_P8_\ VNC[=KW_ $!K3_P8_P#VNMJB@#%^W:]_T!K3_P &/_VNC[=KW_0& MM/\ P8__ &NMJB@#%^W:]_T!K3_P8_\ VNC[=KW_ $!K3_P8_P#VNMJB@#%^ MW:]_T!K3_P &/_VNC[=KW_0&M/\ P8__ &NMJB@#%^W:]_T!K3_P8_\ VNC[ M=KW_ $!K3_P8_P#VNMJB@#%^W:]_T!K3_P &/_VNC[=KW_0&M/\ P8__ &NM MJB@#%^W:]_T!K3_P8_\ VNC[=KW_ $!K3_P8_P#VNMJB@#%^W:]_T!K3_P & M/_VNC[=KW_0&M/\ P8__ &NMJB@#%^W:]_T!K3_P8_\ VNC[=KW_ $!K3_P8 M_P#VNMJB@#%^W:]_T!K3_P &/_VNC[=KW_0&M/\ P8__ &NMJB@#%^W:]_T! MK3_P8_\ VNN;\=>-=?\ !>EC7+C3],CTBSW&]AEU "213C!B8J!O4Y.SG<#@ M8.*Y;XH_M-Z'X,NFT;0(CXJ\3.WE):69+11OZ.RYW'_83)]2*XW1/@/XR^,. MJV^O_%;5);>S4[X= MFV%!V! ^6(>N,N>Y%>A3P_*E4KOEC^+]%^IK&%M9:( M9JO[8\MUXDBL?#/AJ37(E1ALA+LUQ(?NE?DW*B\D_+D^P&:DN;;]H'XH1,6: MT\":;)_RQ5Q#,5^OS2?F5KVKPQ\-M-\#:Q]H\-Q0Z1IL\/EW>G11921E&$E1 MLY5NS=0PP<9&:ZZJEB*5.WL8+U>K_P AN<5\*/FSPQ^R;9V5S]M\26TOBS4& M.YWN=6,4;'W 0LWXM7LWA_1I_"EF+71?">DZ5;@8\NTNUCS]2(\G\:ZVBN2I M7JUOCE_Z UI_X,?_ +71]NU[_H#6G_@Q_P#M=;5%8$&+]NU[ M_H#6G_@Q_P#M='V[7O\ H#6G_@Q_^UUM44 8OV[7O^@-:?\ @Q_^UT?;M>_Z M UI_X,?_ +76U10!B_;M>_Z UI_X,?\ [71]NU[_ * UI_X,?_M=;5% &+]N MU[_H#6G_ (,?_M='V[7O^@-:?^#'_P"UUM44 8OV[7O^@-:?^#'_ .UT?;M> M_P"@-:?^#'_[76U10!B_;M>_Z UI_P"#'_[71]NU[_H#6G_@Q_\ M=;5% &+ M]NU[_H#6G_@Q_P#M='V[7O\ H#6G_@Q_^UUM4C,$4EB !U)J92C"+E)V2 QO MMVO?] :T_P#!C_\ :Z/MVO?] :T_\&/_ -KK:HJ@,7[=KW_0&M/_ 8__:Z/ MMVO?] :T_P#!C_\ :ZVJ* /-_BY>:Q)\-]=6XTNV@@,<0>1+W>5'G1\A=@S^ M=>U#I7E/QF_Y)=XA_P"N47_H^.O5ATH 6BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *XGXL?&CP7\#_ M ZNM^-M?M]"L)',4/FAI)9WP6V11("\C8!)"@X R<"NVKY;_;MN_"NE>%-, MU'6?%&H>"-?AL]2BT;78H%>R+20HLUG<-(C1KYRA=@8HQ,9VMD$$ ]-\2?M5 M_";PGX=T#7=3\=Z3#I>O1M-ITT(_%ME9V6O1-<:7/ LETMY$H1C)'Y*OE<2(=W3YAS7RYI?[67A_ MPYX9L[6-_A[H'Q#\0RZE%9^,+Y(M(TNYTM+MP-6=)&\R19Y3(ZVZ,WG2+(VX M)EZEUC3?A7\/D^'\=E\?M6\!Z1I_@N2RT7Q!I:VGV/55-T'G:.ZDBDBDD,D4 M9:VB ;;M"\< ^G/%_[2WPR\ Z)X>U?Q#XPL-)L=?@6ZTU[G>K3PD*WF[-NY M4 9=SL JY&XBNZO_ !1H^E^')O$%WJEG;:%#;&\DU*2=1;K %W>:9,[=FWG= MG&*^/O OQFL?"'C/3/&OQRF@\.77B7X<6$,-WJUH;:.YEANKMKJW6,@[9I4E MM93;#YCNVA3LXDDC>T_8,T7PIJ"M&U)FOK?2UOHIF62 ?/C[ M/#*NTCGRV7!P10!]&>#_ -H?X;^//"6M>)M$\8Z7=:'HH+:G=R2F%;)0N[=* M) K(I4$AB "!P36C\,/C)X+^,VE76H^#/$%IKMM:2^1<"#-PKKD< MC(&1R,BOD+XR>+?#_P 6_%GCSQIX,N(O%_@C2]%\-)KVH:.C7-O="#7!=S1 MH")FBM!(SA=Q57VD,V7_)SWC7_L4=%_]+-1KV*?S/)D M\G:)=IV;\[QB^(W_#1GBX?:/"/V[_A%M'\TM!>^7Y?VO4-N 'S MNSNSVQMQWH ]YHKA?)^)W_/SX*_[\7__ ,71Y/Q._P"?GP5_WXO_ /XN@#NJ M*X7R?B=_S\^"O^_%_P#_ !='D_$[_GY\%?\ ?B__ /BZ .ZHKA?)^)W_ #\^ M"O\ OQ?_ /Q='D_$[_GY\%?]^+__ .+H [JBN%\GXG?\_/@K_OQ?_P#Q='D_ M$[_GY\%?]^+_ /\ BZ .ZHKA?)^)W_/SX*_[\7__ ,71Y/Q._P"?GP5_WXO_ M /XN@#NJ*X7R?B=_S\^"O^_%_P#_ !='D_$[_GY\%?\ ?B__ /BZ .ZHKA?) M^)W_ #\^"O\ OQ?_ /Q='D_$[_GY\%?]^+__ .+H [JBN%\GXG?\_/@K_OQ? M_P#Q='D_$[_GY\%?]^+_ /\ BZ .ZHKA?)^)W_/SX*_[\7__ ,71Y/Q._P"? MGP5_WXO_ /XN@#NJ*X7R?B=_S\^"O^_%_P#_ !='D_$[_GY\%?\ ?B__ /BZ M .ZHKA?)^)W_ #\^"O\ OQ?_ /Q='D_$[_GY\%?]^+__ .+H [JBN%\GXG?\ M_/@K_OQ?_P#Q='D_$[_GY\%?]^+_ /\ BZ .ZHKA?)^)W_/SX*_[\7__ ,71 MY/Q._P"?GP5_WXO_ /XN@#NJ*X7R?B=_S\^"O^_%_P#_ !='D_$[_GY\%?\ M?B__ /BZ .ZHKSW4+OXAZ3937E[J7@6SM(%+RSSQWR(@]2QDP*\6N/VD?'_B M_7+GPUX)T_1M=O'4*FJZ9;7*K"<\MMG8KMQT=L#V-=%*A.L_=6BW?1?,N,7+ M8]_^(7Q2\-_##3?M>O:@MNS F&TC^>>?_<3KCW. /6O!I-=^)G[3;M!HT3>" MO KDJ]W(2)+E>XW#!D_W4POJ34OA_P#9;\5)K_\ PD7B/4_#OBK59@LCQ:TM MY*L%_A/:K_95I]HU-EVRZG= -._J%[(OLN/?-=_7"^3 M\3N?])\%\__P#BZYRQ^)>O2>+X-!;7/!FI78)>XMM)AO9)8X@?F)]>?>-/C3K?P]UV/2-?U[P;87KPK.%.GZF MZA&) .Y6([&O,X?S6CQ'E]',<&FXU%>V[36C3MU3NBJE*5.;@]T>ZT5X-IOQ MWNM6Q]G\;_#<$]!,M_%_Z&XKK-,\1^--9VBP\0_#N]9N%6W>[_*G M.'Q1:^1DXM;H]-HKA?)^)O\ S\^"O^_%_P#_ !=!A^)HZW/@L?6WO_\ XNLQ M'=45POD_$W_GY\%?]^+_ /\ BZ/)^)W_ #\^"O\ OQ?_ /Q= '=45POD_$[_ M )^?!7_?B_\ _BZ/)^)W_/SX*_[\7_\ \70!W5%<+Y/Q._Y^?!7_ 'XO_P#X MNCR?B=_S\^"O^_%__P#%T =U17"M%\340NUUX*5 ,EF@OP /KYE<7XE^,6K> M$69=3\8?#J*1>#%$M],__?*.35QA*;M%7&DWL>W45XC\.OBMXN^*3ZA_8-SX M8DALBFZ>YTW48HY-V<;"9.>G(Z]*W?$MC\8KNUAATK4O"%E([XDN88+@LBXZ M@2[@?P&:KV4E/DGH_,?*[V>AZB 2#@$X]*YO7_B3X4\+-MU;Q'IE@^<;);E= MW_?()/Z5XAXB_9V^)_BJYC?5OB=;ZG:,/WMG-'=0KGT'E.%Q_P !J_X>_9KN MO#;QRP:)X$NKA3N\[4(M1N&)]2&DQ^E;\E"/Q3;]%^K_ ,BK16[/H-'61%=" M&5@&!!X(/3%><>&/%WBWQ)<:D-?\,KX7LHI EK#)-YL\^",SO**V6X&HJ MI&E-3DKV.RTRY^T6P!/SIP?Z5;K@TM/B5%G9-X M)3/7;;7P_P#9Z=Y/Q._Y^?!7_?B__P#BZ]#(\)B\!EM#"XZHJE2$>5R5];:) MZZWM:_=W9G5E&4W**LF=U17"^3\3O^?GP5_WXO\ _P"+H\GXG?\ /SX*_P"_ M%_\ _%U[AD3?&;_DEWB'_KE%_P"CXZ]6'2OGOXGQ>/E\!:P=5G\+/IVV+SQ8 M0W8F*^VG7)3@>@R.E/-A;-#'$;>(Q1G< MB%!M4^H&.*L44 136T5P%$L:2!6#*'4'!'0C/>G"%%D:0(HD8 %@.2!T&?Q- M/HH B@MHK6/9#&D29SM10HS]!2P6\5K&(X8TBC'144*!^ J2B@ KQFR_Y.>\ M:_\ 8HZ+_P"EFHU[-7C-E_R<]XU_[%'1?_2S4: /0Z*** "BBB@ HHHH *** M* "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH ***Y_QKX^T'X>:2 MVHZ_J,5A;_P*WS22G^ZB#EC]/QQ51BY.T5=C2OHCH.M>3_%?]HWPU\,V?3X6 M_MWQ"3L33;-L[&/02.,A?]T9;VKS6\^(WQ%_:+N9M.\"V.G^Y'D^K"O4_A3^SWX8^%BI=11?VMKN,OJEXH+J3U\M>B#WY8]S7?[& MGA]<0[O^5?J^GYFO*H?']QY?I_PF^('Q^OH-7^(VH2^'_#P;S+?0K4;'([?( M<[/]Y\M["OH3PCX+T3P)I":9H6G0Z=:+R5B'S2'^\['EC[DUG?$?XG:'\+=( MAU#6WGVW$AAMX+:(R23/C.T#IT[DBO-/^$T^+?Q1^7PSX?A\#:-)TU36OFN6 M7U6,CC\%/UIR=;$13=HP^Y?\'\0?--=D>UZIK6GZ)%'+J-];6$ZF6,, MQZ ;B,GZ5+?FY2QN39I')=B)C"DS%4:3!VAB.@SC)KR+P[^S+HB:E'J_B_4[ M_P ;ZRI#^;J4A\A6SGB//(SV)Q[5[)7'45.+2@[_ "L9M);,\(/P?^(/Q+(D M^(/C$Z;I[==#\._)'CT9^A_'=7HW@[X1^%/ -J8="TI+%F&)+@,7FE_WG;)/ MTX'M78T5R9C1I9KAI8/&04J4MXV]UV=U===5?4M59Q=XNQ5M]-BMI Z%\].3 MQ1?:59:H@2]L[:\4C]7R^DJ<+WM'17?7\"9SE M-WD[LX[4O@WX%U?/VOPCH\A/=;58S_XYBL*T_9K^'6GZS9ZI:>'Q:7EI,L\1 MANI54,IR,KNP1D#BO3J*]M5ZL593?WBYI+J0W]NU[97,"SR6S31M&)H3AXR0 M1N7W&W44J=65+X?R3_,%)QV/ M$/\ A&OCQI/_ ![^+O#NM(.BW=IY;'ZG8/YUWOPVN?'4]G>CQS9Z3:W*2*+9 M]*E+"1<'<6!)QSC'//-=E153K.:LXKY*PW*ZV.)^)7Q#U#P EA)9^$M5\30S ME_.?30#]GQC&X8)YR(-'O1$TA;4;0)&@'JV?4C M''->I]#Z&JM_9/?LFZ8@*. 1G^M?,<1UG-[S2]U: MKNTC6BZ?.O:;'FWBSXOZ]HFNQZ+HO@'5_$ET8TD-U"XCM\'_ &L'!&#G./RK MU&-F>)"RF-BH)7()4XY'H<55L; V;-^]+JW5<8&?6KE9\-U,RGE&'AF]+V>( MBN6?O*7,UHI73:]Y:OS;"O[/G?LMCQ*Y_9E'B2^EN/%OCGQ#XAC:0LML)A!$ M!G(&!GZ< 5U_AKX#> /">UK#PO8M*O2:[4W#_F^?Y5WU%?62Q-:2LY:?=^1D MYR?49%#'!&L<2+%&O1$4*H^@%/HHKF("BBB@ HHHH **** "BBB@#B_C-_R2 M[Q#_ -K#I7E/QF_Y)=XA_P"N47_H^.O5ATH 6BBB@ HHHH **** M"BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "O#);:^N/VGO&/V*^2RQX1T7?NMQ+N_TS4<=2,5[ MG7C-E_R<]XU_[%'1?_2S4: .I_LW7/\ H.P_^"Y/_BZ/[-US_H.P_P#@N3_X MNMJB@#%_LW7/^@[#_P""Y/\ XNC^S=<_Z#L/_@N3_P"+K:HH Q?[-US_ *#L M/_@N3_XNC^S=<_Z#L/\ X+D_^+K:HH Q?[-US_H.P_\ @N3_ .+H_LW7/^@[ M#_X+D_\ BZVJ* ,7^S=<_P"@[#_X+D_^+H_LW7/^@[#_ ."Y/_BZVJ* ,7^S M=<_Z#L/_ (+D_P#BZ/[-US_H.P_^"Y/_ (NMJB@#%_LW7/\ H.P_^"Y/_BZ/ M[-US_H.P_P#@N3_XNMJB@#%_LW7/^@[#_P""Y/\ XNC^S=<_Z#L/_@N3_P"+ MK:HH Q?[-US_ *#L/_@N3_XNC^S=<_Z#L/\ X+D_^+K:HH Q?[-US_H.P_\ M@N3_ .+H_LW7/^@[#_X+D_\ BZVJ* ,7^S=<_P"@[#_X+D_^+H_LW7/^@[#_ M ."Y/_BZOZIJ]CH=FUWJ5[;Z?:J,F:ZE6-!^+$5X]XO_ &N? GAQF@TV:Y\2 MW@X6/3X\1D_]=&P#_P !!K:G1J5G:G%LI1I?V=KG_0=A_P#!$;,X7S!U /!QC(R#7SOKG[2GQ \6 M[AI[Z)X"TUNEU?W"F;;ZC=EC_P !CKD;#PSX?^(GBG2K/5O'VL^-M7N;I1.+ M.SD\F.+!+;992,=.NT #. 3@5UU,-#"4IXG%S4803E)[V25VW;167F;QHMO4 M]1\5_M,:SJFK6NA_#>0^+-4N "TQTK8B CHJ[LDC/);"C'4TVS_9YEED'C'X MN>+K>74"=[6]XRO;1C^XS%E#8_N( OUKU+P%\,].\":K%)X62+2[:4"._M) MT@N8QG#AB=RR*>^<,"01P"'^)/@!X7\9>-)O$>OF^UB1P@CT^XN3]EAVC'RH M,'!QG&<=:\/A_B3+N(,!#'Y8W&G*Z=TN>Z=FGK9/KH]FGU-*L?82=/8\^N/C M[=7$R:'\-[2?Q=<0 1H++2%M[.$?7/ _ #WKM_ &D?%>[OI=2\6^(-,T^&2+ M;'H]E9I*(VR#N9N.0,CACUKTG2M(L="LDL].L[>PM$&%@MHEC0?@!5NO5G5A M9QIP^;U?_ ^1S.2M9(PI-'UB;9YFLV\FQMZ[],0[6]1EN#[T_P#L[7"<_P!N MQ$^O]G)_\76T.>G/TJJFJ63W_P!A6\MVO<%OLPF4R8'4[?2M3XD:W\48==33O!/AW2YK%H59M7U.X&U7.OKZOH>^LAQ\*D*>)BJ/.FTZC4%96N_> ML^JLK7?1,[+^S=<)Q_;D1/\ V#D_^+KPK]I/XT>,O@U?Z%;Z9J%A=_;HII)? M/T]05*LH ^][UZ/K'P_\5>./A[INDZ[XMFT77%D\R^O?#R^6DZ_-B/G:<8(R M1@$CI7A?Q;_8]U)VTG_A#9+C5FVR&^N-8U!!(SY&W&0!C&>E?1<.8;*88Z+S M&O%I.2Y6GRNR=FY.RL]UHWML?5\)X/(Z>90EFV)@TG-.+B^1V3M)SE96;UCH MV]+V,SX8_M4^/_&OQ T#0KJXTR*WU"[2WD>.P7M:'/>2F9K.X'VBV0GLJY '88.*]'B7#Y)6QL(8"M"G#DWB MFXN5WH^6[6G6QZ_&&$X=Q&8TX9;7ITJ?)O%.47+F>CY$VG;K9GH_]FZY_P!! MV'_P7)_\71_9NN?]!V'_ ,%R?_%UR?Q!U;XD^'ETIO"FBZ9XH@2#%^+B3R)Y M)1@90;@H!Y/?K[4ZV^+%SH_PYN/%/C'PSJ'AN2VG\F6PC'VB0@D .N,?+DGD MXZ>XKX=9;7G3A5I.,N9V24DY7;LO=OS:^A^;QRC$5*-.M1<9\[Y4HRBYW;LD MX7YM>FAU7]FZY_T'8?\ P7)_\71_9NN?]!V'_P %R?\ Q=8'P^^-?@[XH7$E MMX?U87-['&97M)HFBE" @%L,,$ D=">M=I:W<%\A>VGBN4!P6A<. ?<@FN3$ M86OA9NGB(.,ET::?XG!BL'B<%4='%4Y0DMU)-/7;1]S*_LW7/^@[#_X+D_\ MBZ/[-US_ *#L/_@N3_XNMJBN4XS%_LW7/^@[#_X+D_\ BZ/[-US_ *#L/_@N M3_XNMJB@#%_LW7/^@[#_ ."Y/_BZ/[-US_H.P_\ @N3_ .+K:HH Q?[-US_H M.P_^"Y/_ (NC^S=<_P"@[#_X+D_^+K:HH Q?[-US_H.P_P#@N3_XNC^S=<_Z M#L/_ (+D_P#BZV781E0Q"EN%#'!;Z>M>?^-/CYX#\ 7TUCJ^OQ)J$) DL[:- MYI4.,X8*, ^Q.:ZL-A<1C)^SPU-SEV2;?X';A,%BL?4]EA*4JDNT4V_P.G_L MW7/^@[#_ ."Y/_BZ/[-US_H.P_\ @N3_ .+KD_''Q3U;2-(T*]\*>#M2\8#6 M(?/A> &*.%2 5\W*DJ2&Z''0\U'9ZK\0->^&FL76JPZ7X U\/_HUQ/*)X8(A MM):4DD*<;ADGT.*[%EE;V<:U248Q;MK)7WLVXIN5D]_=.Y917C1CB*THPC*7 M+[THW6MFW!-SLGO[IV']G:YC_D.P_P#@N3_XNOESXU_M,^.?AQ\2-5\/Z=>: M9=6MH(@LLE@I8EHU8YPQZ$D?A7,3_M>^#?@YXLD>_P#BEK?QH\421/;Q^'/" M=MYUJTA(Q\^?+R,?P9(].U>>7GPN\;^+].NO&MS\.[[X>Z->7)*V&KW>^2W1 MLXDD+8AK]!X=RC+\)C)SS2494N7W7)[JF]K:_0O[.OQ[\;?%[QC?:1 MJ5[I]K#!8-=*\&GKNW!T7'WNGS&OHC^S=<_Z#L/_ (+D_P#BZ^<_V3/@GXL\ M ^*;CQ!KEA'8V-YI;11(TRF;7V=E\- MK7Z['A\:K*UF\O['Y/8\L;(?^N47_H^.O5ATH 6BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\W^-GQY\._ K1;:]UJVU; M5;R\$IL])T*Q>\O+@1+OE947A412"SN549'.2 ?2*^8_V[3H4'P\BN]AZO^U)\.= ^%=OX_U+ M7#8:+/*UK';W,#QWQNED\M[7[,P$GG(X*LF,KM)/ S5[XK_'C2/A-JVCZ5<: M%XE\2ZMJD,]S#8>%]'DU&9(86C621U3[J!IHUR>[8KP/Q1IWBGX@_L:>,-1\ M1Z-?ZSX@3[;!X?OM2T98-9N-.:YC$,DL"(&CED1064*I954LH.0.D_::T?P5 M_P +-L-3\:Z3\3!&^@R66GZKX(DOS;M*9]YMV6P_>I/D1NK2XB8 9.4- 'HO MC?\ :=\+^ K?0QJ&E>)[C4]3T[^V'T?3M"N+J^L+(8#SW4* F%59MIW<[@0 M<''9ZI\4_"VC?#=_'UUK,"^$5L%U,:F@9T>W90R.H W-N#+A0,DD #)Q7S%X M#\7>*_@CKVB^*_BCX=\4:O?Z[X$T[37NM,TJ74[G^T+6YNW^RSBV5@DTL5S" M=QQ&723+# S;3PAKFF_L;:3\/$T6_OO&WAG3-$UJ^T*"TDQ(D=]'=-:Q2L/+ MEEVP2)L1R00N:'HNE:!"EO? MZ1/876K2VFM+J%S#!!<*COLB3:"5 9WVJ3S7K?PCUH_%3X_^*OB%I.E:OIWA M5/#FGZ#;W>M:9/ITE]<)\:_ M]BCHO_I9J->QS1F6%T61HF92!(F-R\=1D$9'N*^:['P%JO\ PTAXPMS\0/%( MD3PKH[MW:,9& #EFR3P >Z45Q7_ KW5O\ HH_B_P#/ M3?\ Y"H_X5[JW_11_%_YZ;_\A4 =K17%?\*]U;_HH_B_\]-_^0J/^%>ZM_T4 M?Q?^>F__ "%0!VM%<5_PKW5O^BC^+_STW_Y"H_X5[JW_ $4?Q?\ GIO_ ,A4 M =K17%?\*]U;_HH_B_\ /3?_ )"H_P"%>ZM_T4?Q?^>F_P#R%0!VM%<5_P * M]U;_ **/XO\ STW_ .0J/^%>ZM_T4?Q?^>F__(5 ':T5Q7_"O=6_Z*/XO_/3 M?_D*E'P\U*?%O6=8T7P9;S:5X[?PYJ7F11QWUV;#^)_C!KY L[KXK:AKMT1M^S^&+$0HY]/-(C!^JJ:^>X1S> MEQAE_P#:.%3C'FE&S3O[KT>UM4T_)NW0Z:F%E3ERMGV]=W4%A$9;J:.UC'5Y MW$:C\20*IW?B32-/TI=3N=4LK?3F7^)KH8"-9 M )"[>BNW+?4*:YBZ^(/QV^)D?_%-^%E\)Z=)]VYN $D(/0[YN?Q5*ZFT^$'@ MWX+6D,R_$'5/#*RY"7-S)I8EEQUP[V1=NW0^E:4>KZ3=^&-5\1VGQA\4:AI. MF?\ 'W<6G]GRF,\8! L,G.1BM84YB6FE[_B==/!XBI!5* M-"4HMI)V;3;=DMK7;T2[GF^@_LF>*/$_B*VU+XB^)5U.U5BTUO%=2S3/P<*' M("H,XY7MTKVR'X#^!+3PY>:+:^'K>TM;N,1S3PDBY89!_P!<.Z=^T M%X&O=76RN/C#XQT>%E9OM^KC2K6V4J,X+M:9!(!QQ7D'BS]O+PUH>H7,&G?$ M#Q'J=O%*R)I3]G**4FIRC3LGL_?<>Q]"SF472JW4H.:YVK-[:]M3UN',CIYEC M\+3Q%>/+5DURQFG46DG>UFEMU[['UUI/[4/PRO-4M+>UU/43<32K%&'LG W, M<#)],FO3[[XA>%],U6#3+KQ%I<&HSRB&.U:[3S&.:_+BUM;Z[N8 MH-,9$U*5PELSL HE)PA).1C=BNST#X/_ +2?PLU-=0;X5IXCNH7$BW>E:W8/ M(KC^)%EB<@YYSMZUZ6+\.^&^$H*AEB=)3N^6\%S2T5[R<;=+Z._D?7\;<-Y) MPY.DIU*K".0".OI6CXQOOB/KGAO0I_!UEINAWUXF^_BUQMTMGD A0 ,$ M@YSP>W'6ODZ3]J#XO^'!_P 59\+/C3I8'#2:8^GW@/N/^):O'XTZU_;Z\#V3 M+%XF\2?&;PG,>J:AHVF$+]<6N?TKR%@JU-4Y8?!J4H[MR512=K?"G:U]4K/S M;/RZ.:8&BJ,J&%CSP^)S;FI.UM8NT4KZI6?2[?7ZNT#X>>)]1\"ZUH?CCQ;+ MJ]UJ;8%UI:"V:U3C*(P R"1W'0D=Z/AY^S_X-^&>IKJFDV5Q-JP1D^WWMPTL MF",' X4$CC(%>"^'_P!LOX)^(MHB_:)\3V+M_#J5G;6^/J6T['ZUZ-H'Q-^' M_BC;_97[2$MX3T5=8T="?P>S!KAKULWIQJ4Y1E3A-WE%1<(O2VR25K+;84L] MQLX5:5.KR0J.\HPM"+T2^&-E:RVV^9[I:V%M8M(UM;0V[2,6)KV)NCVUQI4JG\5LS5QOAUK*#+?$3QB@]6_LX?^V-? M.R;O[VYX[DY.[=SLZ*XK_A7VJG_FH_B__OK3?_D*E_X5[JQ_YJ-XO_/3?_D* MI$=I17$1^ =4E173XD^+71AD,KZ:0?H194[_ (5[JW_11_%_YZ;_ /(5 ':T MA (((!!X(/>N+_X5[JW_ $4?Q?\ GIO_ ,A4?\*]U;_HH_B_\]-_^0J .DM_ M#>DVE[/>0:5907=PACFN(;9$DD0]59@ 2/;->767[+/@_1/$=GK&A76LZ#-; MW"S^197Q\J3!SM(8$X/0\].*ZW_A7NK?]%'\7_GIO_R%1_PKW5O^BC^+_P ] M-_\ D*O2P^98S"\RHU6N96>NC7FMG;IV/6PN;8_!^[9T1S2$X MT:>(P].<8=ER2DK6M*4+-][O6ZU;UO4\%_&K1/%_AK5M;GMM0\.VNE$"\_MB M Q>7D9R",[OPYY''(K@/B#^V+X8\':M;VFEV?_"46\MNLYO+&\544DD;""I( M88R?$#Q7=VTRE)(9QICHZGJ"#8X(KX^_:&^!EUX/\ M',-KX;TW6-7L9;-)GG%FC@2%F!4>1"B#@#C&>?I7U7#6#R?-ZDDMWI*]]ON?<^VX0P&09WFDJ&,I2C%IN,>?W4DEHY>[*][M>6CVN>[>!/ MVS/#OB[Q);Z9J&F-X=MI5/E@!RIZU]K#X=ZHF"/B-XN7:,#!TT8'H/]"XK7B;!9-E&8TZ M>'IN4.6[2GI=MI>][SZ:KTMU-N,,NR#(454TNVTO>]Y]-5IT MM;4H7'C3QCXE^'%MK7A7PN++7+B;8-.\0/Y1BBR09",C/8@''!)^J?#W2/B3 M+'JK>.-;TP)=0&*UM]&A"O:.<@N)-HR0#P#NYP>W.3X_O='^%>EG4?&'QKUS MPW9XRKZE=:7$S^R*;+7]:^=H*OB:,X87#14&[\S5W%7VYY.R2^3?4_/9YK3IT9T*5"$ M5)W3MS32O=14I-Z+:Z2;ZO4^F?"7[,NA:!XCLM=U#6M>\2ZS:2B>*;4+LE0X MY!VCDX]SBLCXO?'GX#? _5KS5/%FJ>'HO$K'=);VELEYJ3L!@91 2IXZL5]S M7BVB?LT_M,?&G3UA^+WQFN/"FA2$L^A^&%A%VZ'^"2:%(TXZIG4] N-;75,AA>WQL;V1&]4,]H^P]^.:ZL3BE*?M,=BI5)6M:&B MMO;FT5O)1:,\7G698^?M*]63=N7>VF]K*RM?IL<9_P -9_&SX\9A^!_P?GTS M1Y/E7Q9XW(A@Q_>2/(4_@9.W%2VG[!OB?XL746I?'[XMZUXW8-O_ .$?T20V M>FQ_[/09'NJ(?>OI;_A7FKOW6/&Y+_ !.XSX8_ _P#\&;$6O@KPGIGAX;0K3VT M(-Q)_OS-F1OQ:NW(!!! (/7/>N+_ .%>ZM_T4?Q?^>F__(5'_"O=6_Z*/XO_ M #TW_P"0J\>I4G5DYU)-M]7JS1)+8[6BN*_X5[JW_11_%_YZ;_\ (5'_ KW M5O\ HH_B_P#/3?\ Y"K,9VM%<5_PKW5O^BC^+_STW_Y"H_X5[JW_ $4?Q?\ MGIO_ ,A4 +\9O^27>(?^N47_ */CKU8=*^?_ (H^"M2T[P!K%U-XX\2ZG%$D M3-9WIL3#*/.C^5O+M4;'/9@>*^@!TH 6BBB@ HHHH **** "BBB@ HHHH ** M** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *BN+:*[@DAGB2: M&12KQR*&5@>H(/!%2T4 )CC%!&:6B@!,9HQ2T4 (!B@#%+10 5XS9?\ )SWC M7_L4=%_]+-1KV:O&;/\ Y.>\:_\ 8HZ+_P"EFHT >AT49HS0 449K$\:^+[# MP%X6U#7]3$S6-B@DE%NH9R"P48!([L.]7"$JLU""NWHO5FE.G*K-4X*[;LEY MLVZ*\;O/VI_"UAX8T_Q!/I6NII5_+)#;S&UC^9DZ\>9P.N#WVMZ5K7/[2OPY MLM'M+^?Q) AN8%G6SC5I;A PSM9$!VL.X)XK=86M*+G&-TI2CI9VE%M23M>S M33371IG=B#2=>FU?3\^WH_N/3J*^;]9_;@\+V,["QT#5+ZW (^T321VX M)[8!R<'WQ]*\C^)_[?L[:/=6ML^F>$DD 7[9]N,MT@R/N@#@GIPIX_.NVAE. M,KNT*;_K\3FCAJLTY*.BW\O4^X]1U.ST>V:XO[N"QMU&3+D>KOK-PO'E:7"91GTWG"_K7YH:W^T=H/B"[\VZ\07WB&\8D_+'- MJC=KYK4_2C3_VEO ,_AVTU2^UN+299U+'3K@^ M9#3_ !CXFD\/R;1!I>CV0M6Q@ AI&;+9 M.3DJ>O2O&_#OA[XJ7_AZ>PL_V8M:U&[G?<-8UK6/L,D(XPJQC: ..$PO/*5 M:/-T]Z-G^/,ONOY#3P5.,W[1RDMK1=G\Y(+R6_E=R<#Y%V)G/J#75?%'Q1\7_"%N+'6[<^']+38X&C644-FC.& M4+YD:D;L;@1N)ZUN:;\!/VKKMV>3XJ^ _!;.VYCX<\/QLP)ZG=]G4Y_&M6W_ M &,/B=X@N(7\<_M#:UXJM4;>VE/IVVTE;'!*^:,8/<#(YQ70WD[J*.)E&=-I MJ2?--N_9EA\;ED,33=2C-T_M-R5_6*7+MKHY:]T?+]YK%SJ 7S MKF6!["OIKX?\ Q5^'WP2T+5XO%GQ'^'6AZE/; 63:%LNK MVUD*G+/M#,Q!*_*>X/:MCPY^R=I&MZPEOJ.AWNBVEB_^FS->EQ=-V2W/=",$ MR'D [<;LX] \*?L7? [P:ZRV'PTT*>X!W?:-2B:]D)]\I5()RTY;6DVW9M.Z M:6[6SLOE72_VT_"6D^++*]L_B)\0_BK=VTNX:7H6B/%;W!_N,99 =I]D^GK4 M/BO7?B7\.@?BOT.TC1M.\/V MX@TJPM-+@ QY5C;I N/H@%72=QR3D^IYKRGQ-*G5]OAZ5IVM>]M+WVIJ"W/F M'Q!FWM_K,*_LYVY;PC&&E[V]U+K\SX/U3X!_M1_%O2])T_Q!=?#CP)I6F1"& MQ@@MC?W%M'@#;N82[N%'5STK6T#_ ()Q:S=6!M/%WQT\67ME(V^73O#T2Z=; M,>_R[F!'_ 17VUFC->;/B','#V<)*,=[)+??K=[Z[GD3Q6)JT_95:LI1O>SD MVKWO>U[7OKZGS!X7_P"";7P'\.SK<7?AB]\2W8P3/KFIS3;CZE4**?Q!KVGP MC\$/AYX""_\ ".>!?#NBLO1[/3(5?Z[]I;/XUVV:,UY-;'XO$?QJLI>K9R\J M3O84NQ7:68K_ '<\?E5/4-)L=6B6*^LK:]C4[E2YA615/J P.#5O-&:X8R<7 M>+LS2,I0?-%V9D1>#M AD22/0]+CD0AE=;&(%2.A!V\5KGGKS1FC-7.I.I\; MN7.K.KK.3?J*A,?W"4_W3BF7$27D31W"+<1MP4F4.I^H-.S1FLS(XK7O@E\. M_%"LNK^ _#.I!NOVC2+,Q-'^'5DO1M?J2XQ>Z/D>]_P""7_P6$K3:,?%'AJ<])=-UILK_ M -]J3^M54_8 \0>'6+>$/VBOB/H1'W5N;G[2H]L+)'Q7V%FC-=RSG'_:JM^M MI?FF3[./8^/A^S]^U7X98_V)^T;8ZW$OW8=>T8$M]6*2']:U]"_X:*T!;J'X MN:YX9G\)2JL3ZCX4MREP,G&)7PIB1N%+JIQGJO6OJK-,ECCGB>.5%DC=2KHX M!5@1@@@]01VK*KF-2O!PG"-WU4(J2\TTM_D+V:Z?\ ^9]<\9^//AQ:W4'PG\ M%'QXL>;7]JO\ :)L5_P")A^RKJK@# M)>SUG?UZ<",_SKZPT30M.\.:;%I^EV<-C919*00KA0256OL0,5Z,1 M]#3O.SM9P1C][ C_7J*/K&7/?#R7I/_.+"T^_X'S19?\%+OV>;P#/C6ZMV(R5G MT:[7'MD(17067[??[/\ ?'"?$O38N0/](M[B/^<=>Q7?P_\ "U^"+KPSHER# MC/FZ9 V<=.J5@WOP"^&.I9^U_#KPI<9))\S1;<]>O\%'/E;_ .7=1?\ ;T7_ M .VH+3[HY>S_ &R_@;?X\KXJ^& 2"0)+PQ]/]Y16ZO[07@[7-/?_ (0WQ%I? MC+4F(2*STB^64*Q&0TK*3Y: $O$^O>-K MT$0Z#HMFTR2L#C*3GAE/4;0S8ZJ#7 ?;/VN?VAO^/:VT?]G_ ,+S?\M)C]JU M=D/H,%E/X15].> _ \FA3R:SJKI-X@N8_+/E-F.SB)SY,1[\@%GZL1V KLN M!54,93PU*/+0C[2VK?O*_P#=3T^_F]0Y;MZNW3H[>9\K^ ?^"='PTT351KOC MFYU;XK^)F^:6_P#%%RSQ,WM"&P1[.S]:^G='T;3_ ]ID.G:58VVF:?",1VE ME"L,2#V10 /RJYFC-BV7R+45'9!11FC-<90449HS0 44 M9HS0 449HS0 449HS0!Q?QF_Y)=XA_ZY1?\ H^.O5ATKRGXS'_BUWB'_ *Y1 M?^CXZ]6'2@!:*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH * M*** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ HHHH *\,DT^2__ &GO M&6R_N['9X1T7/V5E7=_IFH]K"M3=I1::?FG='9@\3+!XFEB8;PDI+U33_ $/A_P 4?!;2 MWTQM3BUN&)-C[=$@OHI#9KMPA!W8D((W.JXSN;:3@;NU\!?L8>$O%7@[0]:U M37O%"W.H6<=S-;6=]#!"C,N2J[8=V >A+$^]?4?]FV?_ #Y6W_?A/\*L !0 M !P !@"N3*:F8Y=AY4*^*=9MIJ3BHN*UTO=M[K5OF=KMMML[\7CZ=:GRTX- M2^^: M6K.7T[X?66CQJEA=W%BB_=%K%;Q8^FV(5H?V#=8Q_P )#K)'O/'_ /$5L45Q M-MZL#%/AR<]=>U8_]M8__C=+_P ([/\ ]![5O^_L?_QNMFBD!C?\([/_ -!_ M5_\ O['_ /&Z/^$=G_Z#^K_]_8__ (W6S10!C?\ ".S_ /0>U;_O['_\;H_X M1V?_ *#^K_\ ?V/_ .-ULT4 8W_".S_]!_5_^_L?_P ;H_X1V?\ Z#^K_P#? MV/\ ^-ULT4 8W_".S_\ 0?U?_O['_P#&Z/\ A'9_^@_J_P#W]C_^-ULT4 8W M_".S_P#0?U?_ +^Q_P#QNC_A'9_^@_J__?V/_P"-ULT4 8W_ CL_P#T']7_ M ._L?_QNC_A'9_\ H/ZO_P!_8_\ XW6S10!C?\([/_T']7_[^Q__ !NC_A'9 M_P#H/ZO_ -_8_P#XW6S10!C?\([/_P!!_5_^_L?_ ,;H_P"$=G_Z#^K_ /?V M/_XW6S10!C?\([/_ -!_5_\ O['_ /&Z/^$=G_Z#^K_]_8__ (W6S10!C?\ M".S_ /0?U?\ [^Q__&Z/^$=G_P"@_J__ ']C_P#C=;-% &-_PCL__0?U?_O[ M'_\ &Z/^$=G_ .@_J_\ W]C_ /C=;-% &-_PCL__ $']7_[^Q_\ QNC_ (1V M?_H/ZO\ ]_8__C=;-% &-_PCL_\ T']7_P"_L?\ \;H_X1V?_H/ZO_W]C_\ MC=;-% &-_P ([/\ ]!_5_P#O['_\;H_X1V?_ *#^K_\ ?V/_ .-ULT4 8W_" M.S_]!_5_^_L?_P ;H_X1V?\ Z#^K_P#?V/\ ^-ULT4 8W_".S_\ 0?U?_O[' M_P#&Z/\ A'9_^@_J_P#W]C_^-ULT4 8W_".S_P#0?U?_ +^Q_P#QNC_A'9_^ M@_J__?V/_P"-ULT4 8W_ CL_P#T']7_ ._L?_QNC_A'9_\ H/ZO_P!_8_\ MXW6S10!C?\([/_T']7_[^Q__ !NC_A'9_P#H/ZO_ -_8_P#XW6S10!C?\([/ M_P!!_5_^_L?_ ,;H_P"$=G_Z#^K_ /?V/_XW6S10!C?\([/_ -!_5_\ O['_ M /&Z/^$=G_Z#^K_]_8__ (W6S10!C?\ ".S_ /0?U?\ [^Q__&Z/^$=G_P"@ M_J__ ']C_P#C=;-% &-_PCL__0?U?_O['_\ &Z/^$=G_ .@_J_\ W]C_ /C= M;-% 'F_Q4_&;_DEWB'_K ME%_Z/CKU8=* %HHHH **** "BBB@ HHHH **** "BBB@ HHHH **** "BBB@ M HHHH **** "BBB@ HHHH **** "BBB@#P7]H+]HK7?ACXNT'PCX1\+Z?XA\ M1:G%'=XUG5UTVW\EKN*V"1ML=I92\HR%7"+\S'& V%XR_:QU[2/%&@>'M.\) M>']+UB^TBVU&[LO'7BR/1);:>>66*.T0"&832YAD/R]MI&=PJ;]L+PKXL\6Z M=I-I9?##0_BCX8^TV;26,UTMKJ-I1$NDD@*>2\0*,R[7CY8EESM\[E^!/ MQ#T#P1:^&]5^$_@CXI:AJGA]-*D\0ZC?JMSICYFQ!)Y_[96U:W\R-I?(M%:(_ M:)1$C/AC$N"@W9; Z_Q_\;;+PM\,]&\5Z+I\GB:;Q#+8VN@Z?%*L!OI[PJ( M9&XC7#;V8@[55C@G /BEW\(?BM\+;;Q!HGA/2K'QU%XN\.:=I%QKE_JJV3:= M?6UC]BDNIHV5FFB=!')A"7W*P(Y!KL/'7PL\6+X!\*>%O#.DQ7D_P\.AZGH] M_J%\D46LRV@:.:U8 %H6,2G$C KNE7LK4 -D_:HU?1],US2-;\#"V^)6GZKI M^CV_ANRU99[6^DO@S6LL=VT:;8BL]^#WQ9U#Q_?>)]!\1 M^'X_"_B_PW<0PZAIUM?"^MVCFB$L$\,^Q"Z.NX?,BL&1@1P"?%=0^$'Q-\8W M^L?$^Z\/V&B^,(];T74]+\'S:JDP>VT^.XC>*6[1-BRS"\N2I 95Q%D_>QZE M\"?"/BM/%/CKQYXRTF'PUJOBB2RA@T"&]2\-E;6L+1IYDR (TCO)*Q"Y !09 M)S0!['7C-GQ^T]XU_P"Q1T7_ -+-1KV.:)9XGC8L%=2I*,5.#Z$<@^XKS5?V M?/#=MK]WK5EJ/B>SU*[MHK2XN%\1WLKR11,[1J3+*YPIED( ('S&@#JLT9K! M_P"%-V?_ $,OBS_P?3_XU@^.O"WACX;>%[[Q#X@\9>*['3+--TC_ -N7+NQ/ M"HB*2SNQP%5022<"@#O,T9KP#Q/XY\+>'O#GA?5[-?BQXG&OZ2->CL]!NY9Y M[2PV(YGG#2JJX\Q1L5F=CD*K8-:_B#6?"VDV%K:5;ZQ:6OAZ^ MN+B:>"=PD& SJ%+_ #-ERJJL;EF7'(![1FC-?/Z_$?X=Q^%= UB]\2?$#3+K M6=7_ +!AT.[U*X&H0WHN5MI8Y8U5VC?;&JDG'N* /5*-"T[6=,\6>*[K3=0MH[NVG&NW $D4BAT;!.>5(- '6YHS6#_ ,*; ML_\ H9?%G_@^G_QH_P"%-V?_ $,OBS_P?3_XT ;V:,U@_P#"F[/_ *&7Q9_X M/I_\:XSXN1>#O@CX+N_$_BGQAXP@L( 0D-MK-Q-<7#A2WEQ1@Y9L*3V )) M!( /4+O"OPRUD6-[-\4M5MK>TBO]5U31[R>>TT>VD9E26Y_T3PA?:AI]DOQ3\8:I9/;QO9>&KZ6X.?AQJDGP_@M/&7C:>]\;$?V99#5+D31+LE8 MO<*3^Y ,,B?,$^/?%_A/P!KXTN>Z^*&L+;6,6J:M?Z M/>SW%MHMI(7V373>8" 1'(=L8=@J,Q4#FO5HOA#83Q))'XH\521N RLNOSD$ M'H0+_&$5JK;(K>UUFXEN+A\9 MV1Q@_,< DG@* 22 ": /5,T9KPGXC^+?"OPR\3MI%_:PT>*9RL;W,AD4X.TDB-9"JC(7&EVR:K=!XX3#++YEP"1Y(_Y-J=/\ #=]+<2,5@CGE8%Y40+&DT.[BW5MJGQ.UG1[[3;76+S5].O+A[;1K.X=DAFO2TBO&"4DRJJ[*(W+ 9K MVX?!RS/_ #,OBS_P?3_XT ;V:,U@_P#"F[/_ *&7Q9_X/I_\:/\ A3=G_P!# M+XL_\'T_^- &]FC-8/\ PINS_P"AE\6?^#Z?_&N)^)'_ AGPKN- M=<\7^, M1?Z[J$&FV%G:ZS<2RRR2RI$'(!^6-6D3<[$ 9 Y) (!ZIFC->%ZQXK\*Z)\1 M5\*SS_%&2V&H0:1/XEBO)SI-O?3!3%;O-Y@?)+73;FY@O[K0KF:>&T2W5&GF>1I578A?;M!,C&.3:C!^9 MHS7D%CJG@/5OB)I7@K3O&GC#4=;U'3'U=1;ZQVD\J:YD8RKF,2"10$W2 M,8I"$(7- 'T/FC->0OJ/@1OB%X<\%VWC7Q??ZYKMH]];K::U57[S=<8!->@?\*;L_P#H9?%G_@^G_P : -[-&:P?^%-V?_0R^+/_ ?3 M_P"-'_"F[/\ Z&7Q9_X/I_\ &@#>S1FL'_A3=G_T,OBS_P 'T_\ C7$^*QX- M\'>._"W@V^\7^,9/$7B./2KZ\@5VE@BE\S>6 BEPS(J M-Y3;6;'.=X@^(WA#P\MK=N?BQ>: \KI=>(;2YG?3[%!)OB9K?@72_%_C&]UK1K1+J^DBUJX-O%ND:/RO, MW8:164[E&=O0D'BN%U'XL^"-/NK,I)\6+W1W6&2]UZTNIGL-,CFF:*"2X6 BEPS($8QL%9B.?5O\ A3EG_P!#+XL_\'T_^- &]FC-8/\ MPINS_P"AE\6?^#Z?_&C_ (4W9_\ 0R^+/_!]/_C0!O9HS6#_ ,*;L_\ H9?% MG_@^G_QKA[MO!EK\5;'X=KXP\87'B:YLYKYXH-:N&BMHXPA(E?=A682*53EB M.2 ,$@'JV:,UX-X#\9^$?'GB5](6Z^*&@136D]_IFJ:[>3VMIJUM"RK+-;MY MA;"[T;$BQL58, 1S4$'COPM-KGANS=/BU;:7KIM(K?Q#<7$Z:='/=*IMX7D, MFXL^]!N160%PK,&R ?0&:,UX_X4U3P'XTOO&<&D^-/&%Q;^$B@U*_\ [9N! M;',;2$Q/N_>!0C L!C((!.#CF[#XB>$;_P 5:5I&?BQ;V-_<6MC_ &_/=3+I MUO>W$2216DDGF[A(1(BEE1HP[!2^[B@#Z$S1FO%? VK^'_&_C>X\+L?BIX;O M3;S7EA/XANKBTBU.")T262#+EP%:2/*RK&V'4A2.:],_X4W9_P#0R^+/_!]/ M_C0!D_&8_P#%KO$/_7*+_P!'QUZL.E>=7?P.TG48&M[W6_$M[:N5+V]QK4[Q MO@A@&4G!&0*]%H 6BBB@ HHHH **** "BBB@ HHHH ***0L%ZD#ZT +13=Z_ MWA^=5+G6;"SOK2RGO;>&[O-PMX))55YMHRVQ2"_%>M^#])M+NZBOO%FGW.I:5'<6K()8X'VR GD*W4A3U .*Z/PK\4- \:>+ MO%OAO2;F2XU+PO-!;ZD#"RQQR2QF155SPY"CG' /'4$ ZRBBB@ HHHH *** M* "BBB@ K+\3V$NJ>'=3M;=0UQ-:RQQ;CCYV1@.>W)ZUJ55U75+/0],N]1U" MZALK"SA>XN+FX<)'#&BEF=F/ 4 $DGH!0!\M^/?"'Q>T_P"$OPP\ :)X177- M M?#MK9>*8;#Q%#IMQ<21P1Q?9$G=&*PMM?>\8#L,*K*"V>UD\*>/;+PQXGU MS2?"VBIK>H?8+1/"MW?E83I4-LJR6D=S'@12;Y;G8^W:/ER,'(Z_X8_M&?#[ MXOZ=K5]X:\0)/;Z,2;YKVWELC#'\V)B)E0F)@C$2#Y3M/.012>(/VD/ASX9\ M":%XROO$B?\ "/:Z1_9ES:VEQ#:S;HX8HVD90JLQ8+@*,D@5^%?@5 MXLTWX 0>&AI5GHUPWBVPUFR\.Q:FUW'H]A'J5M&[/4?%EI%+XAMX;O3I(HY9H7@E8+%,\J(R0QNQ"J\K*K'@$D&M3XH_&KP9 M\&+&QN_&&M#2HKZ1HK=4MIKF20HNYV$<*.VQ%Y9R-J@@L1F@#YM^)_[-/BKQ M)\,_A+H^H>#-.\?VWA_PJNBW?A^?Q"^E"RU PP)]L6>-3YRJ(Y$*>C!@">GU M5\/M&U3P[X$\.Z5K=]'JFLV.G6]M>WL2;$GF2-5=P,# + GH.O05R^O?M&?# MGPSXHT'P_J'BFVCU/7(H)[$112S0M'.VV!WF1#'$)6^5#(R[SPN:](H **** M "N!^/?A'4O'OP6\<>'=&CCEU?5-&N[*T2601JTDD3*H+'[H).":[ZL?Q=XN MT;P'X:U#Q!X@UM&L(C-*^[9<;T9FMTVJ?+7:)&)WEE&TZ_C#P3 MXZ3P)X@>V\*Z/XOF\2:S=S:[X:O-3>RDN;!E\BWCANU)5'2.*W+!AAAY@!4X M-=IX._:/^'?CGX=:KXXT_P 110>'-)#_ -HW&I0R6;V6U0Q\V.55=,J01D?, M",9S71ZS\4?"GAW0M$UC4],9 R3@ M D 'D?AKX+^*]'^'WP7TF[6TEO/#'B(:A>Q179D2RLA!>I%;QRN TPA6XAB# M$ L%+5K^(_A=XAUO]GSXE:+]FM_^$N\5P:O*(?M \L2W"O' AD/ B$*$].# M6MXE_:E^&_@_QW'X.UC5M2LM>DO8-.2-M U%K=[B8J(HUN5@,)+%U&0^,YR1 M@XUOB5\?_ 'PAU/3M.\6^(HM*O;]&EBA^SS3E(@P5II?*1O)B#$ RR;4!_BH M \1_:?\ V>?$?Q3U:UMM#\*VTQU?1%T2^\01^*[K35MDRX/VRRB 6^C02%XE M+??W!L*@T %%%% !7G?[0G@S4_B#\%O& M/AW18HIM6U+39;:V2601JSMC@N>@.*]$KEOB3\3?#?PC\)W7B3Q5J::7I-N5 M0R%&D>1V.$CCC0%I'8\!5!)]* /%_CS8?%3Q1\3-.T^R\ Q^*_AI8BWNFM(O M$<&G?;[M7WYNE=&=X8R$*Q+M#L"7W !:N>-? OCE/A[JT,'A'1_&H\1ZO>W/ MB+PU>:J]C)<6LC;+98+M251HXXK?<&&& 8 @XSW^G?M#?#W4?AC%\05\36UO MX4=Q";RZ5X628N$\EHF42++N(7RRN[/:NF\6^/?#_@0:1_;VJ0::=7U! M90>%_@YXLT;PI\#-.OY+6[O/">K/=:F8[D MNEO;FRO88HHWIKG/B-X8^,&F^!=,TCPMX<74)?$&I7^I M>+)=.U^+3KM$EXO9=/@M;C0-0ABFGC#%U2=X!$V CG<'((&02*U?$O[0'@#PAX_P!.\%:O MXBBM/$=^8EBM?L\SHC2DK"LLRH8X6D((19&4N?N@T >$^)OA%\1KG2M5T?PY MX'T72-&\=^'-/T'4;>;6PQ\+BW66%MH$9%TGDR_)L*G>G/#9KZTMX5MX(XES MM10HR?!7B/XBWO@?3=0O;KQ%9R2PSHND7@M4DC&9$^U&$0%ES MR!(3GCKQ7H- !1110 5YW\-_"VE66D112W4'B#1[^022",>1;W\$\I MR>I"1L0.Y %>B5P_Q;^-/A#X'^'HM9\7ZH=/MIY?(MX8+>2YN+B3!;9%#$K. MY"@DX' !)P* /(?&%G\5]?\ C_:W>H_#U->\ :-?0OHOD^);>UBC?;A[ZXMR MA>:5"S>7&6"H #@N0RU?B1\*/'=[\(=&\)?\(;H7CZQU2":;7=/N=9FTN:WU M2:7S_M27";O,A1WE!0#=PA4D K7M:_&CP0WA[PSK@\2V/]E^);F&ST>?>+]+\4_"[5YIH/$-]X;\,:E8:G?/((3=WTD= MD$8*>SM;R9/;C->;?$CP/\6++PQX-\$Z/X.3Q7X.73?/\3Q6GB.'3)M3OGD+ MRV[/(CL+9F:1GV8:3>%+!0P;V_P'^T!\/_B;XEU#0/#/B2#5-4LA(SQI#+&D MRH^R1X)'0)<(K$*S1,X4D D9%.E^/7@J+XF_\( -0O9?% D6%X(-(O);>-VB M$H1[I83 C;"&PT@/([D4 9?B#P3K.N?$GX4^(8=-M["ST5+]]2MUG4_9VFLU MC1%P 'PWRY&.!GI7JM>??#_X]>"OBCXAU+1?#.HWNH7NGB0SO)I%Y;VQ"2>6 MWEW$L*Q2X;C]V[9ZCCFO0: "BBB@ KSSXI>#-3\4>)OAK>Z=%$\.B>)!J-\S MR!"L L;N$$#^([YT&/0D]J]#KSOXM_M >!?@3RXD9A&F]=SD;1D#.2 0#QDV?QJUGXNZSK>L_#R"XBM!?VOA:^_X2>W% MGI<;1,L4YM F^2>4A0[L_P BR%4"C=OE^,WP4\<:SX8\,>!="\-:'K>AV%G: M+I6ORZO-I]WX>U.$,IOG10PNE&4=$&#N5@V0P(]]G^)_A2WU'PO8/K]B;SQ0 M"VBP1RAWOU$1F+Q@9R@C4MO^[R.69DP MUM:EMHED/1%)!^\0< GH,T ><^,/A_XO'Q(\3^(]"BMI9+KP0NBV5Q),L1-_ M]IF$_B9'XV\-^&M+\ )XG^%'AVWL1:VL?B2"P%[<>&K'XK:U^T2VM>,O "3>';&\N;;0K^'Q+!]FTR MT*E1<_8Q'OEN90,,S/\ (LA5 HWE_I*N$^%OQR\$?&B+4'\'ZV-4-@8Q4 %%%% !7FWC'P7JNI?&CP%XFL[>.33 M-'L-7AO&,H1_,G6V$0"G[V?)<$]L"O2:\S^)?[2'P[^$/B32M!\5>(DTW5-1 M =(5MY9A#$2P$T[1JPAC+(P#R%1D'G"L0 >'>'/"OQI\::EXLN?&W@.#3]>U MO3YM*M]:'B:"YM-*LI)E#6]M:HBLN8B6>5F+N\:Y(4(J]7\5/A9XZ\8?$_PO M;V/AG0H]&T#4+6\T'QC!JLMO<:);H8OM5N]E@K';?QG9>$GU>U_X26\LY=0ATQ7W3-;QLBO*0/NKEU )QDDXS@XXS1/VH?A;X MAD\2K9>,+,IX=MI+W49YXI8(4MXVVR31R2(J31JWREXBZ@D#.2,@'-:_\)_$ MU_XD^+'V6WMXM-\7'1;&&47 !6T1/*O3M&"I$;.%'PE\B\2YMIK.>V?:' DAG1)$!4A@64 CD$BN=T']JKX4^)=(U M_5+'QE9G3M"M_M=[K,0 22!0!Q/PW^'/Q"N M/V@)/&OB;P[HGAJX@L)].U76='U:6X3Q*N4%KMM''^BK$$+'+%MS$ L"37T= M7)_#CXI^&/BUHDNJ^%M3.H6D,QMYDEMY;:>"0 -LEAF5)(VVLK ,HR&!&00: MZR@ HHHH **** "BBB@ HHHH **** "BBB@ KY__ &@OV?/B5\6O%5EJ7A#X MZ:U\-=,@M! ^E:=IZRI))N8F4N)8SD@J,'.-O&,FOH"BNBAB*F&G[2G:_FD_ MP::$TFK,^+O^&)_CI_T=OXJ_\%1_^2JW=,_9+^)&GV26FK?$Z#QIJCI^-?6E(3CU_*N^>:XFHN67+;1_#%;:K9)[_)];HQ ME0A-6?\ 70^+S^Q1\=&))_:V\4Y//&DD#_TJK9\%_LA_&GPSXNT?5K_]J/Q) MK=A97<<]QIL^DC9=1JP+1-NN& ##(SM.,YKZXHJI9OBY)Q;C9_W(?_(E^SC_ M $V(*6BBO&- HHHH **** "BBB@ IK#*D"G44 ?-OP(_96;P=X<\(:GXGU[Q M7JNO:1:+-!X?U76Q[@LY'AVM?VB33F%)8'XVH-IC>0( P7/TWI'Q*\ M(^(/$M_X(=/!-YI-IJ,,MW;#I^\B5BZ=>X%6M*\;>'==U35]-TW M7M,U#4='<1ZE9VMY'+-8L1D+,BL3&2 2 P'2@#Y*M/@!\2=$\/\ @C4-/T&% M_$GA+PO*]I;R7T*I)J4>IPW"6I_9Y^%GB#X=^)_%MY MK=N%.K6.E227@G63[3>A)WO&P#D8EF(!(&1C&<5W_A#XT?#[XA:I-IGA;QUX M:\2ZE"ADEL]'UBWNYHT!P69(W) !.,D59UOXJ^"O#/BBP\-:QXPT#2O$>H;/ ML>D7VIP0W=SO8JGEPLP=\L"!@')&!0!U-%8.F^/?#.L>)-2\/6'B+2K[7],4 M/?:5;7T4EU:*<8,L08L@.1@L!UIWA3QUX;\=VUS<>&O$&E>(;>UF:VGETJ]B MNDBE'WHW,;$*P[J>: -RBBB@ HHHH **** "L'Q]8/JO@?Q#9)HL'B1[G3[B M$:-=3B&*^W1L/(>0@A%?.TL0<;LXK>IKNL:,S$*JC)). !0!\H_LIZ3KOB=_ M&&DZ[X9\1V_PV67;;:3\0%AN9X[Q;N1GBB8L[RPHJPY:5F!D7*'&ZJ?A31_% M?PC\"? WQ-=>!/$/B)_#VC:AI6I:)H\,7/A3Q'I7B.WLYVM;B72KR.Y6&5>J,4)P?8_6DUKXD>$/#G MAN#Q!J_BC1-+T"=UCBU2]U"&&UD9B0JK*S!2200 #S@T ?'7_"LO'O@/X>:I MX)D\":MKNH>._"&FZ)#>:>T,EGHMTC70EBNG+@QQPBZ5U=0P;:X7D#/L/Q,U MW7O#GCOP]X[LO 'BCQ?8V>EZMX9ET^PMXOMBS-<6YBN/+>108)?LS#S > R$ MC!./:-6\?^%]"U/1M.U/Q'I&G:AK+;=,M+N^BBEOFXX@1F!D/(^Z#U%2>+/& MWAOP)80WOB;7M*\/64TRV\5QJUY%:QO*WW45I& +'!P!R: /C,_"KQUX*\%W M_P -9/!>K:UJ'C#0_#UA#KU@8I-/TN2UA2*Y6YD+AHUAV&1"%;?D!>_O M[72[&XO+VXBM+.WC:6:XG<)'&@&69F/ '))H ^0O@]X<\4_$+]G#QY9>(/# M^N:EI(LYCX4MO&5M!)JQF%K*&;"Y.!,V(FD)DY;G&TUZ'X]^&MWK/P0^&R#P MY]M\3Z/<^'%^:W5[JSBCO+)[K#'E %B)?!Y".])K_P 2?"'A6'29=:\4Z)I$6KNL6FO? MZC# MZ[ %5A+L/,)!! 7.I^*_C_H,U]9W)\+>&M)DU&UD)/V> M;5)Y&A4D9Y>&!9<<:IX\NO&7A?3OB587GB'0K*WT6+PXE ME"+34+=KK;%JJ3$E;>&;#Q7:>&+GQ#I5OXEO(C-; M:/+>Q+>3QC.72$MO91@\@8X-4_&GQ2\%?#B2QC\6^+M \+O?%A:+K6IP69N" M,;A&)&7=C?P9JLTFH>/;+QE)XM@$?]DQ6L8MY M91YA?>)0\#P+%L)PRG.W./K8=*PF\>>&$\6Q>%V\0Z2OB>:#[5'HQOHA>O#_ M ,]%AW;RG!^8#%;U !1110 5Y#^U-8->_"6]D7PEJ'B\6L\=R8-%N_LVHV>T M-B[M2"I:6(D'8&4LI<9/W6]>K,\2>)=)\'Z'>:SKNI6FCZ19QF6YOK^98884 M'\3.Q ^M 'R;#X+\8?$;]CG5TU[PYJ6K:^F3X9BURUMVUE+,^0L;2^7\JRD M"49&'\O;N^;=G1_:3^%/Q@\1_$_2O$GAZ+PKK>AVFKZ*-,MKZ*\-YIJQWD4M MQ+\A\O:S*#(_WO*C"CIS]+Z;XY\-ZSX3@\3V.O:;=^&YXA/'JT5W&UJT9.-P MESMQGC.>O%:.I:O8:/'"^H7MO9)--';1-+/%VKZ3J%QIOAG1XK'0(8D\P7#RJT][+ A/,C;;>$'C_5L,X8UX M+\7/ GC+Q1\=9M3L_#'C(G5;O0KS2HK,P)X=FAMVBDF.M1E]WG1,)=O4X2'9 MN*U]=6OCGPU?>*KOPS;>(-*N/$EI$)[G1XKV)KR&,XP[PAMZJ/ M/#&C>)M.\.ZAXATFQ\0ZBI>QTJYOHH[NZ49R8HF8.X&#]T'I0!\U_#?P5XBT M3]H"W_LCPOX\\-B+6=5O?$NH:OKIO- U&TG,[PBUC,FPR-+)%(-D4;QCS%=F M_B^LZP=-\>>&-8\3:CX>T_Q#I-]X@TY0U[I5M?127=JIZ&6)6+H#G^("MZ@ MHHHH *^>OVT;%Y/AU:WR>$==\0?8Y96&I^%;ORM4T@M$4$T29'FHV3&ZYQA@ M2K ^.[+Q/ID\T]Q;6YO[:P&J++F9HOD1_(6)IA'A2RM MQQBJ?B+Q/J_B3]H6T\.ZA\-_%^G^"=*UV"ZM[O2=#C:SU;4,+B_O+GS%VP1, M00JJ68QAV; 5*^E!XBTEM-LM0&IV1T^],2VMU]H3RIS(0(@CYPV\L N"&(O%T?A9_$&DIXHDA-RFBM>Q"]:(=9!#NWE?\ :QB@#Y%^%/@KQ7X5 M^*&D7O\ 87Q)'@_P%:ZC;VVDZ_'821QB[4*'?S96^1%5>I-=! M)X,\26/[1;2^'O"GCO1=7N/%!U34-?EUYIO#5YI)A"R*8=X02/LC41>294=0 MWF%%Y^FM&\=>&?$>MZKHVD^(-)U36-*8)J.GV5[%-<6;'H)HU8M&3Z,!6I+J M5G#J,%C)=0)?3QO+#;M(HED1"H=E7.2%+KDCIN&>HH ^6/V7_!&O^%?B#:V^ MG^%_'?@SP_IVC3V>O6OB_7#J-E=W_FQ?9S8YD92J*L^98DB1E904W=/K&L'P MYX[\,^+[W4[30?$.DZU=Z9+Y%_!IU[%<26DG/R2JC$HW!X;!XK>H **** "O MF/\ ;(M;ZVG\*ZKIW@_Q7J-]#,D%MXC\$72"_LI6N8&%O)!(0DD,I0$,^Y%> M-8,:3>(RM(O2,3RX"J=NY M^!WJ77?A1'<_'/Q1<1>%RWA_7/ ]S97TMHB0+?74MT=\;2,;:Q6\B9[I6)2.TPK00I&F^Y&=>BT^2PN//MYXX[33WB!DN_.:=F'G'$2?(>37V1X3\=^ M&/'<-Y+X9\0Z3XABLYS;7+Z3>Q72P3#K&YC8[6']T\UIC4[$ZC)IXNK+_"OBK0?%U[;VL4Q MUO2%L+"VMD,ABLK/]X[2+&SR,TCX+L^["C:B_0]8/A/QWX8\=17DOAGQ#I/B M".SF-M M$_!>J:1IOB#Q)I.B:AJ\WD:?:ZA>QP2W>ZMX#O8/V M@?!/B:ST*V2Y?0-6CU?5+: +&]TWV!85E?[S B)PN)[K1?#5W::AH'B$6T^GO>O<020VNAHC-MMF=&+$@@1Q0_Q* ?N MZ74[."_M[*6Z@CO;A'D@MWD422JFW>57.2%W+DCIN&>HK)T?Q_X6\176L6NE M>(]'U.YT=S'J<-G?13/9,,_+.%8F,\'AL=#0!X9\!]6O/$EEXDN/%?@WQF/$ MWBJY6WU>ZUC15TZU$8M91'%"HFG-%A)S +-6^T3,?-/EKR,U]P>$ MO&?AWQYI U7PQKFE^(M+,C1"]TB[CNH2Z\,N^,E*[:Z\=>+?%3>)3 M)XAN[06I\7PVUOJV B@5G+A8QSM7<>6KZ&KF_!7Q)\(?$BTN+ MGPAXIT3Q3;6[!)IM$U"&\2)B,@,8V8 D \&NDH **** "BBB@ HHHH **** M"BBB@ HHHH *\N^*.D_%G4-;MW\"ZUX>TW2E@ ECU.%VE:7)R<[&&W&,8QWZ MUZC177A<2\+4]JH1EY22DON9W8+%O!5E64(S\IQ4E]S/,I-,^*Q^&"6J:OX> M'CGSOFO3"_V0Q;NPV_?QCG;CV[U\9_%7P-\:KGX@:M+J&GZYJ]X73?>Z';7! MLY/W:X\K:H& , X Y!K]&:*^GRCB6IE-6=2-"$N:_P!FUKM:)KIIHMC['(N+ MZN1UJE:&&IRY[_92:NT[)K[*MI'8\%\,Z!^T!#J&F2ZAXB\*/IBO&T]N8)/, M,7&Y?]4#NQG^+KWKL/%&F?%.?XAV=SH.K>'[?P>C1>?:7<+FY=<_O>0IY/., M,.V>^?2J*\BIFLJE3VGL::T:LH*VO6W=='T/#JYW.K5]J\/26C5E3BEKUMW7 M1[H2EHHKQ#YP**** "BBB@ HHHH *9(Q6-F"ER!D*N,GVYI]% 'PC\)+[PWH M/Q%\(:+X0T2?Q#J&F7UW$I=-U[PV&MIR[2ZB@6&92Y\M@^_P SSD8. MY )P?V;O%R:/\5)XK71+C59/$EG\.2V.I2/+8F )=W$DS;@$E8LJHFYU4G &*R?BH[:'^TU=76C:OXB'CB^ MU;14L?#-SX7AN-,U&Q7RDN)5O#"[JD<;3N7$L)B=6RC9&[[+R *#CKS^% 'Y M]#1#KMC%X.\+Z'J$?Q8T6W\7/XBNUTJ6"8BYANUBWW)15E-Q+):O'M=LA0W& MSCV?]F2^\->)_B=JNM?#[1IM&\(VOA;3-'O5;2)--1M1BEF;RBCHFZ2&)@K$ M XWJN3BOIX =: ,4 +1129 H 6BBB@ HHHH *YCXGZ?9ZO\ #;Q78:AIM_K% MA=:5=07&G:5C[71R1S73T4 ?%G[(%KH7CU?'GA>RL1K/ M@TQ) _B*/09- OGQ-8A,5C"LVQ5V^:Z,/FK.\-3>'O 7PL_9WUOQ] MHTTG@?2]$U*RGCDT:6]BL[R58EMS) D;LNZ-+B-3LX+[>-]?;UO:PVBLL$20 MJSM(P1=H+,:)%X8^'=QX<\7^&-1G\9>)/ VD:9X M)ADT>6XF@N$DN2ELDH1A;RPO+;.^XIM 5L_)Q[C\>%?%'C:PE\0 M^";;2=:T)G&B37T,>K>=;HR&(1L0TB0W$:-MP<, V&&?J0XXH(&._P"% 'YW M7>@OX<\*S>$/%>@:A-\4-?\ #WA:U\)O)I4L\LPN_$NM:1DZ:R()%BB2)]UP[;BJ?)@QAG;"*K?<-K:065ND M%O"D$*#"QQJ%51[ =*D*@^OYF@#\_?$NF13_ +25@U@]W)*WB#P_>:7X:D\. M2S7&M6<-O;(-275BF8$C3<7BW!?]&=7&96SU_P"T_P"(M*U;Q5IWBW1_$7B: MQU>Z\,;/"EM9>$H]2L-:O//D=;9C+!(ZLS"(/&1 =I1A)P=OVGP#WH( QUH M^)KF*U/Q7D\-W^@W ^+5Y\1+#Q##=1Z7*XCTM(K;-GD) D]OC>#NRFW MYN?MH=*.,]\TM !1110 5X;^V/8^'KKX,7$_B6WU9M/LKV"\2^TJQ6]_L^9- MQCN9X&5Q) K8#C8^ V[ QN7W*F2Q)/$\7IMTUQI$VEZ7/I<&K$-!MU!K'/+EC)RP(+(9% W#'2?M71?$J[ M^*?AF^C^'I\1^$]%\1:%+H=U!KL,*K=&\B,TLMNR%MYSY*N3MC0R-_$>+G4+_P MW=Z3H"^&Y;B7Q)%"\4OVF+4MA-D(MSAE!4#R&+\2'/WUQD]:0@9'6@#Y#T"[ MT/5?VN/#K^&-#GTZ\TJ35+36/#TGA@V#Z:9!(SZF]\@V3K<.L6Q"S!A.'&&4 MX^OJ3C/?-+0 4444 %?,G[=\'AN'X?Z-JOB$ZGI\FGW4TECKEMI2ZE9V$[P, MG^EP,K_)(K,BN%RK[?G3.3]-U#=6L%[;R07$*3P2#:\A!ZB@#Y(O/# ML7B_X+_!?Q'>^%4T?4]/\7Z7]AL=/LI[&U@@;50/M26).(#+$!)AP6C65ER, MG/'?$'P_<6_[3K^'?#=Y!=ZMJ7C/3/$EQ;W/@VX.IVR1^09Y4U4L(?L0AB9< M@%]S-"."17W;QQ1CG- 'PW\#M<\.^'?$_@ 1:7>:+KO@K2=6A\>7DNC3P/'+ M-+$%2641_OVEN,S+M+Y56?@&O<-=\&6.F?M;^&?$-MI]Q/?:CX6UB*\NF>20 M,J2Z>(H5W'9&OWR$7:"6=CDY->YX&3UI>] 'R-^S[>:)K'[1][J7@_19[#1T M\.OIU[HTOAE2H]S;M+9SP!6<2.$5DV["X1 MUWG.T_7-17%M#=(J3Q),JNKA77< RD,I^H(!![$ T ?-%UX6&I>)/V9_%U]X M6?0/$8E6UN--B$ODZ1$=&O&>W2(G9" ^U2 M)O%.IWFKZW<>*?!^L>$[>&.VL7CN'22&[\H;C(_D1QDW#K*DH!5,';]N9Y%' M&: /D#]G/QAX9A^,WBO6]"MY(/"NJ6.G:7'_ ,4O+HHT6Z%Q(D&DO&J!9Y!Y MSEI,'R\ ,VUEQ=^*7PUOK;XA_'.+P=97;:YXA^'<4OGF2:5[JZ>YOU\M7+9! M";45%("C:%"\5]8@#WI>,T ?*?[&NHI<^)_%%OI"Z7K/AN#3[.--=L?!C^&W MM9E>4?V8R.,SK"FU@>2GF$,26KZMI%QVS^-+0 4444 %?$?[:D^@>'?BMH^K MKI-U>>+KJPCM;;3M5\,?VSI7B*-%NVCLHRJEXIA+( V&3B9'(?9E?MRHIK:& M>2%Y(DD>%M\;,N2C8*Y'H<,PSZ$CO0!X/K/@FUC_ &I/ OB$:=#-7U;3=>\/\ A0C7M+\+>#]2 MTB^33/!-QHM])$T]H1:7CRG_ $J\=(KC*QJ%.UFZR#/Z8\9I..>M 'S!\%O& MO@6\\:?$77O#]O)I?@#7DLK&Q>+2KBQBO+NVL[B2\>./RT9=L B0OAOXDT >2_LP>!H_"WPNLM8N+&WM/$/BK&OZ MMY%N(,33J&2': -JPQ>7"H["/GDDGURD%+0 4444 %%%% !1110 4444 %%% M% !1110 5YE\3OBCXI\$ZS;V>A_#G4_%MM)!YKWEI.J(C9(V8VL<\9YQU'6O M3:0@'J,UI"48N\HW_KR&FENCP+_AH3XB?]$/UW_P,'_QJNM\(?%3Q%XAL);K M5O!TWAF:*4HMA=70>65<#YL[5"CGC/7':O4-H]!4;6L+L6:)&)[E0:\+B"AC ML?A(T<;BSRM%!)(D;3,JE@B$ M98XX SQS7BVB?'/QUJ>OV5C=?!S7-/LY[A8I+Q[I2(4+8WD; , V= M*-H]!7O4YQBFIQO]YBFENA:***R)"BBB@ HHHH **** "H[A6:"14D\IRI"R M8!VG'!P>N*DJ&[M8;ZUFMKB-9H)D:.2-QD,I&"#[$&@#XANO[2\)>#/'WBOP M-XS\6W?A3^QDTZ\\5Z]K,DRZG?R7L,<^I64"=0\;>,7\":-JVE26=AINM75UJFH7=S:R%M*BNMYN2'=89]BR M C<?!O[,?PG^'M[?7?AOX=^&]&N+ZSDT^Z>STZ-//MI,>9"_'S(VT M94\'%,N?V7OA)=^#;3PG+\.?#3^&K6[:^ATK^S8Q;I<,NUI0F,;RO&[KCCI0 M!\__ !"\(:_9? _3=-OO%&LO\2M%T:]U6QT23QT]A+86OGNT=U//'@7LMHAB MB)E8Q.P.XC=O/8_M!ZO<>./A]\&I].TWQ/XLMM>U&*=]+T'5SH5_?QMI=S,N MZ43PB/!"R,AD ^7 SQ7JTW[-?PJN?#.B^'9_AYX:GT/1;A[K3M/FTR)X;25V MW.T:D$+N8Y..">N:[J]T#3=1N=-N+FQ@GGTV4SVL37OV?_AIXHMM M]6\ ^&]1M] 4)I4-SI<+I9*""%B4KA5 MR =HXX'% '._!OQIXT\?>.?'=YJEWI=MX3TC43I-AI4-BPO=_D6TYEFG\TJ= MOG.FQ4YQNW=J\"\8W9UWP/XW^)6J:OXWU'Q;H>NZC:W%CX9\5Q:4/"EM;2RK M"QMIIXK>4&&**4^8JJF M1\=6*H@SZ*/2N1\5_ /X;^.O%5MXF\1>!/#VM^(+?;Y>I7^FQ33C;]W+,I)Q M@8SG':@#P/2OCS\3O$=@;ZRUGPSIEGKOBM?">B/JFER%K(>2TYNKDK.HFD95 M,:0)L!=E._G;6[X'_:/\17.K_P!E>(K[P[NT[3O$B7FJ60,=K>7.FW%JBSQ; MY#L39.WF1DMM=6&_"U[GJ_PJ\':_X'WWZ583:;$T%DV,$Q(5PN< M\XZ]3DT ?-EO^U%\1I[:_P#$:ZCX270_#]IX;N;[19;.7[=J9U*UMVD2&038 MB(>5_*RC[V^0XQD_9H.17D>@?LQ>"='^)FH>-+G0](U*_#V;:,)]-CWZ*MO: MI;JD$AR0"(PPP!M[>M>NT %#C/\2OA_P# M#PQXK\5ZY:Z1J^AZGJ.H7MOKDUC>:A=6ZQ"(27,;I(=JRS2E0P!,8)!52*^E MOAA\%?!'P9M-2MO!?AG3?#L6HW3W=T+"V2(RN22 2H'RKDA5Z*.!1X@^"/@# MQ7X,L?"6L^#=$U3PS8,KVNDW=C');P,N<%$(PI&YAQV)'>@#XU_X3#6O&?PU MU7Q?KGC;6K'Q%X.\#:3JWAYK75Y+5+VXDDN<74T",%N3<&"",K(K*=Q"@%\U M[[\^#7@3Q3JWA[5-7\'Z'J.H>'MHTBYN;")WL I!40DCY "JD < M@$5!XG^!WP^\:Z*FD:_X,T/6=+2^EU-;2^L8YHUNI'9Y)@&!^=F=BQ[[CF@# MX\_X3;Q!XM\#:CX^UCQ;K%EXR\*^'_#%UHEG:ZK);07$MU&CR22VJ,$G-U(S M1$2*W VK@C-??8Z5R.M_"'P1XD\3Z%XCU7PEHNH:]H8"Z9J-S8QO/9@'*B-R M,J >1CH>1@UU] !1110 5YW^T&DTWP?\1P6WBR'P/<3QQ01ZY/<&W2!GF10A ME',?F$^5O7YE\SB52UG1;#Q%I-YI>JV5OJ.FWD307%I=1"2*:-AAD=6 M!# C@@T ?&?PHNM1B_9G^)?AO0M=U_PEK_AZUDN[IGU@:W]G1[1Y56RN9%_@=X;\.PZCXCT6ZN/"EEK-UKNG:9>W!N'_= M!+5;J*-EB+D.TKNRG8 H.9&#X8F,-N7;R37T=?\ PC\$ZKX\L_&UYX4T:Z\76'[^/P\1_9*W.G12"QP<@19!VC(!P M.,@&@#Y8N/%_B#4?VD+?Q3!>ZO;>&HO&=CH$FH2^(9$,"2648_LPZ-GRW1II M58W)/F#<7"E4R?N,=!7(3_!_P/<_$&/QU+X1T63QE'&(DUUK&,WBJ!M'[W&[ M.WY>\O88E274'L/[4'S,UB M+B/YXC*JD IR2NWHQKVJL/QMX(T+XC>%M1\.>)=+M=9T6_C,5Q9WD2R1N.H. M"#R" 0>H(!'2@#X^?7-5E_8MU@^&O$WB+PY<^%KEK3489]334KDR(T#?9H;_ M "6\C$J\_P"L )C)7:17I'[0?PGTOQ[\6O!>EV5_XET[Q!KD[7=_>Z;XEU"U MAM=-L@AE*6\4ZQ;Y'>&')3_EJSSCO3&/-2%V5WC#=0I9$ M)'"*&94L&TC/ MEVR120.1<#,C>6K,JB4FM3XYW.K:=\<=2\:W5UINN>%_#-UHEB^CV7C+4+#4 M;=YI%(*V5NRP2.[SHP2?=YJ)M7%?1\OP-^'L_BW5/%,G@K07\1ZI;26E[JIT M^/[3<1.NQT>3&2&7Y3ZC@\5)=_!7P%?^)]#\1W/@W0[C7]#B2#3-2EL(VN+- M$&$6-R,J%_A].V* /&_A[X;ENOVA)-3\,>)_%7B"UL+G48_%>KZIJDC:7&_&. MB6FNZ/,RR&WNXE<(Z_=="1\K#)Y'/)'>@#Y2ULV?Q,\ ^#XO#7BGQ_=^-IM. MGLO#^C1>(BATZXM[N2&;4[ZY@.RXBB= @>8R+*L8"([R-6EXW_: N;G]J#X> M^'[K4_$>E66D^(SHTFGPZ%?1VVKR/I]P'NY)EB\IXA*8UCC5R%Q)*WRA2ON? MB;]E;X0>,I-/?6_AKX8U-M/LTT^S^T:9&PM[="2D2#&%0%F(4D#+?, QSU(R>:O#X/>!E M^()\=#PCHH\9&/RCKWV&/[9MV[?];C=G;\N./!]UKOB."_U>2]A2[22U*S11,Q6W >>>'9&%7"@8RF:^MJY+PA\) MO!?@#6M9U?PWX5T?0M4UF3S=1O-/LHX9;M\ELR,H!;EB?J2:ZV@ HHHH *^4 M_P!M72+K7=6\(PV_B-VBL\W3\4/$/@35O!7BWQOJ?BR]L=%U6V$VJ-;V6@Z40C2RWT49$,\ETHE&QU= MW9ODV(N\)XC35/#_ (V\;>+_ #XD\5>(+[P]9:Y=>(-3U'4GDTF6Y%O*UKI M=M9L?*+V\GE$M$J[!"5D=GD8#W37?V8OA/XF\4IXDU7X=^'+_7D,)34)].C: M93$JK%AL<;%10/0* .E2:#^S5\*_#'C4>+])\ >']/\ % FEN/[7M[!%N?,E M#"1]^,Y8.X)[[CZT >.?LE:C>:-XRO=!UB+Q!%J6I^'[778KG4/&G_"0VVHQ M-)L-TRD8M9W9AF.(F%E^X3L..&^'T7BQ?C1H7AWQ%-KET?%]QKMEK>MP^-OM M5CJ]HD2PBCWHL+1L=F9"VX?57AOX"_#GP!] T=;F_B MU.86.GQP^9$]&T?Q!JYS?Z MG96,<5Q<\Y.]U&3D\GU/)R: /)OV4/ %EIMWXR\8:7J&N/H&J7\FG:-8ZIKU M[J:+:VDC1-:596XP!&L8ZEL_0]9^@>']-\*Z/;:5H]C;Z;IMLNR&U MM8PD<8R3@*.!R2?QK0H **** "OC+]L-_L/Q1TOQ%<^*;ZZTCP[81WEWX?T3 MQ.VD:AI0$=Y(;^./B*X\Q8MH68X)@V#/F,*^S:X;Q_\ _P'\4MU+0IO/L+B^M4E:(X/RY8'*Y(;:>-RJ>U 'ANJ6-QJWQP76_!GB'Q=KNN: M=>'4-=FFU&6/1["Q-H6BT@6F1$\TF8GPJ&5"QD=QE5;A_P!G&6?QA?:7IWC@ M>*XY?'WA:74WU2/Q])=QWY1H'GD:WA*_V:R-+MC^SOMV;D<[ABOIA?V:OA8O MCO\ X34> /#X\6?;/[0_MG[ GVK[1NW>;YF,[L\YK9\-?!KP+X,UC7-5T'PA MHNCZGKF1J=W8V,<,MV"22)&4 L"221W)SUH \E_9;\$R:5\-_$OBS2=5U:VB M\6RR7>B6^O:Q=ZDFGV2*Z6CYN9)&W2#]^^#C]X%Z(*^>/#NI?$?3++5/#5G> MZQHFK:CX.;5=2U#5?B!!?QZK<+>V:&[L[C>ZV"7,(-. MTGP+X=TZP\0%CJUK;:9"D5]G.1*H7#CD\'@9.!S0!Y7^R%K>L/JOQ(\.W=AJ M^D:/H>HVD5EI>N:Z-;N[%Y+99)H7NA))DY*OY?F2;/,^\,[5^D*Y_P #> /# M7PS\/0Z%X3T+3_#NCQ,SI8Z9;+!$&8Y9MJ@R>9<6D$[XQNDB5CCTR16M-PC*]177K8J+2>I\\_P##>?P[ M_P"?'7O_ '@_P#CU8>H_M\:"KZD+#0+R=0(_L#3NB>83_K/- 8[=O4;<[NA MVU].?\(_IG_0.M/^_"?X5G7/P\\,7BWXGT#391?A1=;K5#YVT87=QS@=*[(U M<(GK3?W_ / -%*GV/$/^&\_AW_SXZ]_X#P?_ !ZIK3]NOX=W=W#!]DUR+S7" M;VMHF"Y.,D+*2?P!->]#P]I8&!IUH!_UP3_"E30M-C966PM593D$0*"#^53[ M3"_\^W_X%_P!7AV_$O Y&:6BBN R"BBB@ HHHH **** "F3-(L+F)5>0*2JL MVT$]@3@X^N*?4-W ;JUFA6:2W:1&0318WH2,;ER",CJ,@T ?)MY\:/BE\/;C MQU;ZKXA\-^-M1L='AGEBTK2Y(+7P]JUQ=106UF\H*?BI9V/C3P;?\ Q!\,V>I^&;BSO+WQ]J&D+;Q0Z9/!+(6^R>:8O.66$IEI M%3RVW'+#!W?!7['6B^#_ IJWA:X\>>-O$GA?4K*:TDTC5[RT\J-Y)!(;E7A MMHY?M <%A(SDY))R<$1:O^QGHFM^&CIMWX^\<3:E+K$&MW?B"6]M)+^\F@C\ MNW27?;&(Q1#!6,1@!@&.6YH X[Q'\4?BR_P-\/>-#XN\.>$DBM;AQ<76@RSW M/B.Z\]DL(8;-G5H5N8E20JI:4-* J@*375_M*_%G7_A_X!^']Y<>*K7X87.L MZC';:MJDND_VPMF?L4\QB6$'+9EC5-PZ#FM#7/V3SK]YX8U"X^+OQ%76O#UM MGFX83OND=MUD4#[=L8=%4[%"\Y;/J%Y\/[34IO!]Q>ZAJ%W=^&9S MO70A\*6NLVT=O%--<2&]<1PB-WDA!!/F,J[5ZD:/BC_@HUX#T+3?#5 M_:VL-Y;ZCI0UJ^6ZU[3K*2TMO-DA985EF O)0\$P$?$CQUXJTJS\+7-MXGB?Q ^.?C>T\.WWQ,'Q$\,> ?!]OK%YI.DZ+JV@SWR:B;::6$M>7,3&2#S' M@F/[N,A$"D[CD5]*^#/ .F^!9?$#Z<]P_P#;>I-JMPL[A@DK111;4P!A=L*< M')SGGFO./%/[*FA^(M6UF:S\7^,O#&C:Y-)<:OX=T'5EM]/OY)!B9F4QM)$9 M/X_(>/<22>220#GX_P!K74M075'TCX*Z7P9^TC#XJO[?3;GPQJ&BZPFGZKP-;%9OB/P_8^+/#^I:+J4;3:=J-M):7 M,:2-&S1NI5@&4AE.">001U!H ^,['5]=L?%7C2PE4P:%J^ MCOX?N;%FF>-A+M,JR6X*';)'N;*.I9B13-!^*GQ)^*/@/X/Z9HNOZ5X:\5>* M]+O-8U/7'TG[7#$EL8U,<-NTBCYWG099B0JMW((]'^"/[.]E\&]0UC4YO$NO M>+]8OR8$O]?NQ-);V@E>1($"JJCYG+,^-SMR3P (=2_9@T&X\#>$/#FF>)/$ M_AJ?PK')#IFNZ-?1PZ@D4B[98V9HFC97&W(*<%%*[2H- 'CD_P"T7\2O%_A" MY\9Z'?:-HEEX-\,V6NZYI$VG&X&L3R&?[1#',9 8(U2V;8P#$M(,Y"\^N?%[ MQ/XXUOQGX<\&_#_7=/\ "][=Z5>:]XRS9R G' M)J'6_P!D3P;JT>C6MMJ7B'1-'LM-M-'O='TS4=EKK%G;,6AAO R,S@%I,LC( MS"1PS$'%;?C_ /9\LOB%'92W'C'Q;H^KVDMYY6LZ-?Q6]V+:Z<-+9D^45,/R MQA%M(T;4-7\/3:<9WU62[C M26Y1+@R PB.-P(R%;#M4U;2IK;4->T;1[2UL+*[\. MZ=?A-.U6&R(^RI=(R,S;, ?(Z;P K[@,5[7TH 6BBB@ KCOC!J/BS2/AKKUW MX'L8=1\4Q0 V5O.F]2=RAV";EWLJ%V5"RAF4*2,YKL:Y_P >^";#XB^$=1\/ M:G+>6]I>HH-QI]RUO<0NK!XY(Y%Y5T=58'IE>01D$ ^+M M)M0\26[6NJZYJ5PK74L9B:%$C 4)&J(QVJ%QDDG M))I_C/\ 9ET/Q?::'!%XF\5^'/[-TE=!FDT+4Q;MJ-@ !Y%QE&&#@G?&$D&Y MMKJ#B@#DOB'\3?'7@_XJ^ ;^/Q!ILO@OQ)?VUBFFPZ'++:1P2*@:>;50^R.5 MI'Q"FT+)\J@$DD6?VG+CXG:/>Z%<> ?']MHESK%U;Z-I^@3>'8;X7%VY=WF> M=I R1I"KR/A3A83C)(%=%=_LN>%KCQ5;ZE#JOB&QT..:SN9O"-KJ.W1[F>U6 M-;>62$J6R@@A^575&,2EE8Y)ZY/A;92:OX/U2_U;5=6U'PQ%5>(?%WQ-\+?&[PMILOBKP_J-EJ]^EI%X.M=-9 MKM],6+]_JV7Q%\:VEUJ MU_%?7^D)2V=KD^=/%;ED$TB#!"%@#R<-C:?4JXGXO?"ZS^+ MO@R?0[G4M1T6X61;FSU32;DP7-I<*#LD4\AOO,"K JRL01S0!X/+\>/'EE^R MD?&&CZUH?B_7;%C'J.LW-C+IS6JJ\899;$@G[3A]I3*)DA_ND*:?[17[2?BW MX4?%34X%U:#1=)T>SM;S3M!F\-W%ZWBA7)^U;;Q#MM_)X'0[3\[Y4@5ZWH'[ M-.@Z7\%]2^'EYJVLZI%JY\[5=9N;H/?7EP?+W2EBI5>(D4*%VJJ@ <5=^(W[ M/VE?$_Q/;:EJ_B7Q1'I(\@WGABUU/9I.HF)]\?G0E21\V-PC9 X #A@,4 >= MZ!\6_'LWQ TOQ%>ZKIDO@/7/%M[X0MO#J::4NK40&Y2.[-SOR[-):MNC*!0L M@QRI)U/C%^T/=>&_B=X1\*>'+O34C77]/LO$=S=R(6BCN0VRVB0MGS2H61F/ M"(4ZF08Z$?LQ:#'XZO/$L'B/Q/;K+'_"^H:CJ-AH>FZAX2CM[. M\,'F>6J7YF,I=HXFF&^)4<9",V.?J*O)_#?[..A>&_B!%XH77?$FH0VES=INF7%P'$TL$>W?N822 !W=4$C! H->L4 %%%% !7A?[7/C#XA>"_ MA];7W@25].B%PW]JZQ:Z4-4NK& 1LRM%:EE#[I J,WS%0V0I[>Z5YI\=?@G; M_&KPW;V2:]JWA;5[)WEL=7T:X\N6$NI1U92"DB,IP593T!&" : /'O'?Q3^( M\7PP\.>,= ^(GA![5;,););Z'--/XJU;S71;*.W:0/;!MBJP4O(CM)D*L1SG M>)?VF/%OACX^OH^IZI!IT":]I^C0^"3X73K^UE=S-.\]S.[7%M*WG32 M.6=U(S@# Q77:A^SQIFL_$'3_%&J>*_%FJ6UE<07\7AR[U0/I7VR) L=SY6 MS<'! ?8'$6_Y_+W@1RDR_Q1E5_O$!-=\8_$KP]\?]#TQ_$GA[4=.UF]ECB\$V6G MLUS;:4D3$ZE->;LHWF*JE2GEGS BEF&:VO#W[*VB>&-5:^LO%WC!C;130:+! M@QRNK2BS#Q$C<%";I3(50E5*@T[2OV9TT/XFZWXTT_XD^.+6XUJ_\ M[0OM+6YLFLYB$V)$=UJ9?*1?OC:1OG"R 1*Q $@%>_5X[\$?V;8?@7.5T MWX@^,]?TORI5&D:[<63_ !N_9_MOC)<:/>Q>*/$'A#5=/<(;[P_>^2\UL98Y)(75E92ZGU M(R$6D>)282P(8A5;<2<<[_PO_P >>%OBUXIOO%CZ_I/A&WDU=-%TB\\*1V]E MJ)M()I(XX]0,QFWND#S M"J,,A6;'/IUY^R-X/FO=.6TU;Q)I7A^WMK&UN_# M-GJ9&FZFEHJK;_:4=6&H?&<^MW>L>(]7TXS7ES: M^&=1U+S=*L9KI)$N)(8MH<%EFF 5G94$K[%7- &#\#/&WC]?&L'AWQYK>E^( MI-;\.1>*+2?3M-^P_8"95CFM"/,?S47S8RDAPQP^<\8Q_#DOQ@3X\:QH$'Q( MTWQ-I&DZ7+>WUO=>&([6*VN+@.-/M_-BF+N1M:63 !V*@ZR?+VGP[_9GTKX; M7C7EEXO\6ZG>A;2U@NM6OXKB2VL+>0NEA&?*&(&)(O- EMWM[V309-%GF$AE639 [MYMNK1@1W"G#DN.=N3[O7FWPK^! MFF_"[4K_ %,^(?$7BW6+JWBLAJ7B:^6ZG@M8RS1V\95$ 0,S$D@NQ.69L#'I M- !1110 5\P?M._%'XC?#SXC>>_7+7P;X!\M7FUFXT!]4MKBXQ.TL-XZ.' MM852.,AU7^-V+@)@_3]>+?&;]F#2?C)XFL=6N/$GB+08VB%GJUEH^H&"#5;0 M),HBD7!V']_(I>/:Q1W4GE2H!P-[\8?'<'[2"VFHW>N>'_AZ^KPZ1IYD\*12 M:;J,KVR%!_:#3"5?-F9U5UA:/Y%7?N;%7_"OB_XR/XY\4^%_^$G\(>*]>&B/ M>R06VG2P6/AG4'D06UM+.K,UPKQM*^UE20B%3A5D%=Q/^S'X?E\>)XC77O$L M5C%>KJL7AA-0!TB*_6/8ETL)0L&7 8)O\H. ^S=S7,>&OV,[+PQX.U[PK;_% M3XBSZ%K-G<6D]M-?6(*&=P\LZR)9JYF;Y@7=FR';.3@@ O? [XD^)IM!^($W MB+Q%8>/M(\.7#+9>*-+TX6"7Y2 R7$(C5W1O*<;/,0E225^\C5S'PZ\>?%[6 M+C3M.U'Q)X>N=1\;^%F\2Z-+_8KI%H<@DMP]NZK-FY01W:E68J2T9SPW'IWP M[^!+?#W3;?33X_\ %OB/2X&41V&L267D+ L+PBW"06L0$6'#;1@[HTYP"#SN MB_L@>$M)TO5["XU[Q9K%O=Z[H **** "BBB@ HHHH **** /_]D! end EX-101.SCH 10 prim-20231231.xsd EX-101.SCH 99900 - Disclosure - Standard And Custom Axis Domain Defaults link:presentationLink link:calculationLink link:definitionLink 00100 - Statement - CONSOLIDATED BALANCE SHEETS link:presentationLink link:calculationLink link:definitionLink 00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME link:presentationLink link:calculationLink link:definitionLink 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME link:presentationLink link:calculationLink link:definitionLink 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS link:presentationLink link:calculationLink link:definitionLink 40201 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Acquisition - PLH (Details) link:presentationLink link:calculationLink link:definitionLink 40503 - Disclosure - Revenue - Contract assets (Details) link:presentationLink link:calculationLink link:definitionLink 40504 - Disclosure - Revenue - Contract liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40601 - Disclosure - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40703 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) link:presentationLink link:calculationLink link:definitionLink 40801 - Disclosure - Accounts Payable and Accrued Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) link:presentationLink link:calculationLink link:definitionLink 40901 - Disclosure - Credit Arrangements (Details) - Cal2 link:presentationLink link:calculationLink link:definitionLink 40902 - Disclosure - Credit Arrangements - Scheduled maturities of long-term debt (Details) link:presentationLink link:calculationLink link:definitionLink 41101 - Disclosure - Leases - Components of Lease Expense and Operating Lease Liabilities (Details) link:presentationLink link:calculationLink link:definitionLink 41102 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink 41701 - Disclosure - Income Taxes (Details) link:presentationLink link:calculationLink link:definitionLink 41801 - Disclosure - Dividends and Earnings Per Share (Details) link:presentationLink link:calculationLink link:definitionLink 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY link:presentationLink link:calculationLink link:definitionLink 10101 - Disclosure - Nature of Business link:presentationLink link:calculationLink link:definitionLink 10201 - Disclosure - Summary of Significant Accounting Policies link:presentationLink link:calculationLink link:definitionLink 10301 - Disclosure - Fair Value Measurements link:presentationLink link:calculationLink link:definitionLink 10401 - Disclosure - Business Combinations link:presentationLink link:calculationLink link:definitionLink 10601 - Disclosure - Property and Equipment link:presentationLink link:calculationLink link:definitionLink 10701 - Disclosure - Goodwill and Intangible Assets link:presentationLink link:calculationLink link:definitionLink 10801 - Disclosure - Accounts Payable and Accrued Liabilities link:presentationLink link:calculationLink link:definitionLink 10901 - Disclosure - Credit Arrangements link:presentationLink link:calculationLink link:definitionLink 11201 - Disclosure - Commitments and Contingencies link:presentationLink link:calculationLink link:definitionLink 11301 - Disclosure - Reportable Segments link:presentationLink link:calculationLink link:definitionLink 11401 - Disclosure - Multiemployer Plans link:presentationLink link:calculationLink link:definitionLink 11501 - Disclosure - Employee Benefit Plans link:presentationLink link:calculationLink link:definitionLink 11601 - Disclosure - Stock-Based Compensation link:presentationLink link:calculationLink link:definitionLink 11701 - Disclosure - Income Taxes link:presentationLink link:calculationLink link:definitionLink 11801 - Disclosure - Dividends and Earnings Per Share link:presentationLink link:calculationLink link:definitionLink 11901 - Disclosure - Stockholders' Equity link:presentationLink link:calculationLink link:definitionLink 12001 - Disclosure - Selected Quarterly Financial Information (Unaudited) link:presentationLink link:calculationLink link:definitionLink 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) link:presentationLink link:calculationLink link:definitionLink 30303 - Disclosure - Fair Value Measurements (Tables) link:presentationLink link:calculationLink link:definitionLink 30403 - Disclosure - Business Combinations (Tables) link:presentationLink link:calculationLink link:definitionLink 30603 - Disclosure - Property and Equipment (Tables) link:presentationLink link:calculationLink link:definitionLink 30703 - Disclosure - Goodwill and Intangible Assets (Tables) link:presentationLink link:calculationLink link:definitionLink 30803 - Disclosure - Accounts Payable and Accrued Liabilities (Tables) link:presentationLink link:calculationLink link:definitionLink 30903 - Disclosure - Credit Arrangements (Tables) link:presentationLink link:calculationLink link:definitionLink 31303 - Disclosure - Reportable Segments (Tables) link:presentationLink link:calculationLink link:definitionLink 31403 - Disclosure - Multiemployer Plans (Tables) link:presentationLink link:calculationLink link:definitionLink 31603 - Disclosure - Stock-Based Compensation (Tables) link:presentationLink link:calculationLink link:definitionLink 31703 - Disclosure - Income Taxes (Tables) link:presentationLink link:calculationLink link:definitionLink 31803 - Disclosure - Dividends and Earnings Per Share (Tables) link:presentationLink link:calculationLink link:definitionLink 32003 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Tables) link:presentationLink link:calculationLink link:definitionLink 40101 - Disclosure - Nature of Business (Details) link:presentationLink link:calculationLink link:definitionLink 40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details) link:presentationLink link:calculationLink link:definitionLink 40203 - Disclosure - Summary of Significant Accounting Policies - Operating cycle (Details) link:presentationLink link:calculationLink link:definitionLink 40204 - Disclosure - Summary of Significant Accounting Policies - Foreign Operations (Details) link:presentationLink link:calculationLink link:definitionLink 40205 - Disclosure - Summary of Significant Accounting Policies - Customer Concentration (Details) link:presentationLink link:calculationLink link:definitionLink 40206 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details) link:presentationLink link:calculationLink link:definitionLink 40301 - Disclosure - Fair Value Measurements (Details) link:presentationLink link:calculationLink link:definitionLink 40401 - Disclosure - Business Combinations - PLH and FIH (Details) link:presentationLink link:calculationLink link:definitionLink 40402 - Disclosure - Business Combinations - B Comm Holdco, LLC (Details) link:presentationLink link:calculationLink link:definitionLink 40403 - Disclosure - Business Combinations - Alberta Screw Piles, Ltd (Details) link:presentationLink link:calculationLink link:definitionLink 40404 - Disclosure - Business Combinations - Pro Forma Information (Details) link:presentationLink link:calculationLink link:definitionLink 40501 - Disclosure - Revenue - Performance obligations (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Revenue - Performance obligations - Details (Details) link:presentationLink link:calculationLink link:definitionLink 40502 - Disclosure - Revenue - Performance obligations - Details Default (Details) link:presentationLink link:calculationLink link:definitionLink 40505 - Disclosure - Revenue - Disaggregation of revenue by customer type and contract type (Details) link:presentationLink link:calculationLink link:definitionLink 40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) link:presentationLink link:calculationLink link:definitionLink 40702 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) link:presentationLink link:calculationLink link:definitionLink 40903 - Disclosure - Credit Arrangements - Narratives (Details) link:presentationLink link:calculationLink link:definitionLink 40904 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) link:presentationLink link:calculationLink link:definitionLink 41001 - Disclosure - Derivative Instruments (Details) link:presentationLink link:calculationLink link:definitionLink 41002 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) link:presentationLink link:calculationLink link:definitionLink 41201 - Disclosure - Commitments and Contingencies - Legal (Details) link:presentationLink link:calculationLink link:definitionLink 41301 - Disclosure - Reportable Segments (Details) link:presentationLink link:calculationLink link:definitionLink 41302 - Disclosure - Reportable Segments - Revenue and Total Assets by Geographic Area (Details) link:presentationLink link:calculationLink link:definitionLink 41401 - Disclosure - Multiemployer Plans (Details) link:presentationLink link:calculationLink link:definitionLink 41501 - Disclosure - Employee Benefit Plans (Details) link:presentationLink link:calculationLink link:definitionLink 41601 - Disclosure - Stock-Based Compensation (Details) link:presentationLink link:calculationLink link:definitionLink 41602 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 41603 - Disclosure - Stock-Based Compensation - Performance Stock Units (Details) link:presentationLink link:calculationLink link:definitionLink 41901 - Disclosure - Stockholders' Equity (Details) link:presentationLink link:calculationLink link:definitionLink 41902 - Disclosure - Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) link:presentationLink link:calculationLink link:definitionLink 42001 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Details) link:presentationLink link:calculationLink link:definitionLink 00090 - Document - Document and Entity Information link:presentationLink link:calculationLink link:definitionLink 00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) link:presentationLink link:calculationLink link:definitionLink 10501 - Disclosure - Revenue link:presentationLink link:calculationLink link:definitionLink 11001 - Disclosure - Derivative Instruments link:presentationLink link:calculationLink link:definitionLink 11101 - Disclosure - Leases link:presentationLink link:calculationLink link:definitionLink 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) link:presentationLink link:calculationLink link:definitionLink 30503 - Disclosure - Revenue (Tables) link:presentationLink link:calculationLink link:definitionLink 31003 - Disclosure - Derivative Instruments (Tables) link:presentationLink link:calculationLink link:definitionLink 31103 - Disclosure - Leases (Tables) link:presentationLink link:calculationLink link:definitionLink 41103 - Disclosure - Leases - Other Information Related to Operating Leases (Details) link:presentationLink link:calculationLink link:definitionLink EX-101.CAL 11 prim-20231231_cal.xml EX-101.CAL EX-101.DEF 12 prim-20231231_def.xml EX-101.DEF EX-101.LAB 13 prim-20231231_lab.xml EX-101.LAB EX-101.PRE 14 prim-20231231_pre.xml EX-101.PRE XML 15 R1.htm IDEA: XBRL DOCUMENT v3.24.0.1
Document and Entity Information - USD ($)
$ in Millions
12 Months Ended
Dec. 31, 2023
Feb. 19, 2024
Jun. 30, 2023
Document and Entity Information      
Document Type 10-K    
Document Annual Report true    
Document Period End Date Dec. 31, 2023    
Document Transition Report false    
Entity 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    
ICFR Auditor Attestation Flag true    
Auditor Name Moss Adams LLP    
Auditor Firm ID 659    
Auditor Location Dallas, Texas    
Entity Common Stock, Shares Outstanding   53,436,884  
Entity Central Index Key 0001361538    
Current Fiscal Year End Date --12-31    
Document Fiscal Year Focus 2023    
Document Fiscal Period Focus FY    
Amendment Flag false    
Entity Well-known Seasoned Issuer Yes    
Document Financial Statement Error Correction [Flag] false    
Entity Voluntary Filers No    
Entity Public Float     $ 1,604.9
XML 16 R2.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED BALANCE SHEETS - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Current assets:    
Cash and cash equivalents $ 217,778 $ 248,692
Accounts receivable, net 685,439 663,119
Contract assets 846,176 616,224
Prepaid expenses and other current assets 135,840 176,350
Total current assets 1,885,233 1,704,385
Property and equipment, net 475,929 493,859
Operating lease assets 360,507 202,801
Intangible assets, net 227,561 249,381
Goodwill 857,650 871,808
Other long-term assets 20,547 21,786
Total assets 3,827,427 3,544,020
Current liabilities:    
Accounts payable 628,962 534,956
Contract liabilities 366,476 275,947
Accrued liabilities 263,492 245,837
Dividends payable 3,202 3,187
Current portion of long-term debt 72,903 78,137
Total current liabilities 1,335,035 1,138,064
Long-term debt, net of current portion 885,369 1,065,315
Noncurrent operating lease liabilities, net of current portion 263,454 130,787
Deferred tax liabilities 59,565 57,101
Other long-term liabilities 47,912 43,915
Total liabilities 2,591,335 2,435,182
Commitments and contingencies (See Note 12)
Stockholders' equity    
Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,366,327 and 53,124,899 issued and outstanding at December 31, 2023 and December 31, 2022, respectively 6 6
Additional paid-in capital 275,846 263,771
Retained earnings 961,028 847,681
Accumulated other comprehensive income (788) (2,620)
Total stockholders' equity 1,236,092 1,108,838
Total liabilities and stockholders' equity $ 3,827,427 $ 3,544,020
XML 17 R3.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED BALANCE SHEETS (Parenthetical) - $ / shares
Dec. 31, 2023
Dec. 31, 2022
Stockholders' equity    
Common stock, par value (in dollars per share) $ 0.1000 $ 0.1000
Common stock, shares authorized 90,000,000 90,000,000
Common stock, shares issued 53,366,327 53,124,899
Common stock, shares outstanding 53,366,327 53,124,899
XML 18 R4.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF INCOME - USD ($)
shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
CONSOLIDATED STATEMENTS OF INCOME      
Revenue $ 5,715,309 $ 4,420,599 $ 3,497,632
Cost of revenue 5,127,818 3,963,714 3,080,972
Gross profit 587,491 456,885 416,660
Selling, general and administrative expenses 328,733 281,577 230,110
Transaction and related costs 5,685 20,054 16,399
Gain on sale and leaseback transaction   (40,084)  
Operating income 253,073 195,338 170,151
Other income (expense):      
Foreign exchange gain (loss), net 1,163 1,088 (95)
Other income, net 1,604 2,072 299
Interest expense, net (78,171) (39,212) (18,498)
Income before provision for income taxes 177,669 159,286 151,857
Provision for income taxes (51,524) (26,265) (36,118)
Net income $ 126,145 $ 133,021 $ 115,739
Dividends per common share (in dollars per share) $ 0.24 $ 0.24 $ 0.24
Earnings per share:      
Basic (in dollars per share) 2.37 2.50 2.19
Diluted (in dollars per share) $ 2.33 $ 2.47 $ 2.17
Weighted average common shares outstanding:      
Basic (in shares) 53,297 53,200 52,674
Diluted (in shares) 54,223 53,759 53,161
XML 19 R5.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME      
Net Income (Loss) $ 126,145 $ 133,021 $ 115,739
Other comprehensive income (loss), net of tax:      
Foreign currency translation adjustments 1,832 (3,318) (260)
Comprehensive income $ 127,977 $ 129,703 $ 115,479
XML 20 R6.htm IDEA: XBRL DOCUMENT v3.24.0.1
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, 2020 $ 5 $ 89,098 $ 624,731 $ 958 $ 714,792
Balance (in shares) at Dec. 31, 2020 48,110,442        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     115,739   115,739
Foreign currency translation adjustments, net of tax       (260) (260)
Issuance of shares, net of issuance costs $ 1 178,474     178,475
Issuance of shares, net of issuance costs (in shares) 5,597,216        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (1,398)     (1,398)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 122,690        
Stock-based compensation   10,462     10,462
Dividend equivalent Units accrued - Restricted Stock Units   2 (2)    
Purchase of stock   (14,720)     (14,720)
Purchase of stock (in shares) (635,763)        
Distribution of noncontrolling entities     (165)   (165)
Dividends declared     (12,870)   (12,870)
Balance at Dec. 31, 2021 $ 6 261,918 727,433 698 990,055
Balance (in shares) at Dec. 31, 2021 53,194,585        
Increase (Decrease) in Stockholders' Equity Roll Forward          
Net income     133,021   133,021
Foreign currency translation adjustments, net of tax       (3,318) (3,318)
Issuance of shares, net of issuance costs   1,726     1,726
Issuance of shares, net of issuance costs (in shares) 75,805        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (1,324)     (1,324)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 131,709        
Stock-based compensation   7,441     7,441
Purchase of stock   (5,990)     (5,990)
Purchase of stock (in shares) (277,200)        
Dividends declared     (12,773)   (12,773)
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     126,145   126,145
Foreign currency translation adjustments, net of tax       1,832 1,832
Issuance of shares, net of issuance costs   1,978     1,978
Issuance of shares, net of issuance costs (in shares) 72,823        
Conversion of Restricted Stock Units, net of shares withheld for taxes   (1,736)     (1,736)
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 168,605        
Stock-based compensation   11,833     11,833
Dividends declared     (12,798)   (12,798)
Balance at Dec. 31, 2023 $ 6 $ 275,846 $ 961,028 $ (788) $ 1,236,092
Balance (in shares) at Dec. 31, 2023 53,366,327        
XML 21 R7.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) - $ / shares
12 Months Ended
Nov. 02, 2023
Aug. 02, 2023
May 03, 2023
Feb. 22, 2023
Nov. 03, 2022
Aug. 03, 2022
May 04, 2022
Feb. 24, 2022
Nov. 03, 2021
Aug. 03, 2021
May 04, 2021
Feb. 19, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY                              
Cash dividend declared (in dollars per share) $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.24 $ 0.24 $ 0.24
XML 22 R8.htm IDEA: XBRL DOCUMENT v3.24.0.1
CONSOLIDATED STATEMENTS OF CASH FLOWS - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Cash flows from operating activities:      
Net income $ 126,145 $ 133,021 $ 115,739
Adjustments to reconcile net income to net cash provided by operating activities (net of effect of acquisitions):      
Depreciation and amortization 107,041 99,157 105,559
Stock-based compensation expense 11,833 7,441 10,462
Gain on sale of property and equipment (48,104) (31,890) (15,921)
Gain on sale and leaseback transaction   (40,084)  
Unrealized gain on interest rate swap (397) (5,581) (4,859)
Other non-cash items 2,181 277 1,381
Changes in assets and liabilities:      
Accounts receivable (16,885) (98,724) 10,540
Contract assets (229,826) (118,806) (66,999)
Other current assets 45,578 (70,275) (54,725)
Net deferred tax liabilities 29,429 14,695 25,564
Other long-term assets 459 932 (1,683)
Accounts payable 93,433 191,532 15,701
Contract liabilities 84,745 (7,869) (29,111)
Operating lease assets and liabilities, net (1,194) (505) (2,605)
Accrued liabilities (6,832) 5,707 (24,700)
Other long-term liabilities 946 4,318 (4,596)
Net cash provided by operating activities 198,552 83,346 79,747
Cash flows from investing activities:      
Purchase of property and equipment (103,005) (94,690) (133,842)
Proceeds from sale of assets 63,695 41,302 49,548
Proceeds from sale and leaseback transaction, net of related expenses   49,887  
Cash paid for acquisitions, net of cash and restricted cash acquired 9,300 (478,438) (606,974)
Net cash used in investing activities (30,010) (481,939) (691,268)
Cash flows from financing activities:      
Borrowings under revolving lines of credit 440,223 188,560 100,000
Payments on revolving lines of credit (540,223) (88,560) (100,000)
Proceeds from issuance of long-term debt 10,000 469,531 461,719
Payments on long-term debt (96,987) (86,769) (113,851)
Proceeds from issuance of common stock 681 585 178,707
Debt issuance costs   (6,643) (4,876)
Dividends paid (12,783) (12,778) (12,565)
Purchase of common stock   (5,990) (14,720)
Other (6,190) (5,893) (8,681)
Net cash (used in) provided by financing activities (205,279) 452,043 485,733
Effect of exchange rate changes on cash, cash equivalents and restricted cash 1,288 (102) 456
Net change in cash, cash equivalents and restricted cash (35,449) 53,348 (125,332)
Cash, cash equivalents and restricted cash at beginning of the year 258,991 205,643 330,975
Cash, cash equivalents and restricted cash at end of the year 223,542 258,991 205,643
SUPPLEMENTAL DISCLOSURES OF CASH FLOW INFORMATION      
Cash paid for interest 82,264 37,177 22,224
Cash paid for income taxes, net of refunds received 5,072 3,574 39,256
Leased assets obtained in exchange for new operating leases 260,396 98,127 17,149
SUPPLEMENTAL DISCLOSURES OF NONCASH INVESTING AND FINANCING ACTIVITIES      
Dividends declared and not yet paid $ 3,202 $ 3,187 $ 3,192
XML 23 R9.htm IDEA: XBRL DOCUMENT v3.24.0.1
Nature of Business
12 Months Ended
Dec. 31, 2023
Nature of Business  
Nature of Business

PRIMORIS SERVICES CORPORATION

NOTES TO CONSOLIDATED FINANCIAL STATEMENTS

Dollars in thousands, except share and per share amounts

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 services, 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 — Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments. See Note 13 – “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.

Seasonality 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.

Variability — 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 large 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 financial condition or operating results for any other quarter or for an entire year.

XML 24 R10.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Summary of Significant Accounting Policies

Note 2—Summary of Significant Accounting Policies

Basis of presentation The accompanying consolidated financial statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) and the financial statement rules and regulations of the Securities and Exchange Commission (“SEC”). References for Financial Accounting Standards Board (“FASB”) standards are made to the FASB Accounting Standards Codification (“ASC”).

Principles of consolidation The accompanying Consolidated Financial Statements include the accounts of Primoris and our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

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 Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which was recorded as restricted cash at December 31, 2022. As of December 31, 2023, all of the restricted cash from the PLH acquisition had been released. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the Consolidated Statements of Cash Flows (in thousands):

December 31,

    

2023

    

2022

a

2021

    

2020

Cash and cash equivalents

$

217,778

$

248,692

$

200,512

$

326,744

Restricted cash included in prepaid expenses and other current assets

5,764

10,299

5,131

4,231

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

223,542

$

258,991

$

205,643

$

330,975

Accounts Receivable Securitization Facility In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Fees associated with the Facility for the year ended December 31, 2023 were $1.9 million and are included in interest expense in the Consolidated Statement 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 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 Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of December 31, 2023. The SPE owned $112.2 million of trade accounts receivable as of December 31, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheet. For the year ended December 31, 2023, we received $75.0 million in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statement of Cash Flows. As of December 31, 2023, we had $25.0 million available capacity under the Facility.

Use of estimates The preparation of our Consolidated Financial Statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting periods. As a construction contractor, we use estimates for costs to complete construction projects and the contract value of certain construction projects. These estimates have a direct effect on gross profit as reported in these consolidated financial statements. Actual results could materially differ from our estimates.

Operating cycle In the accompanying Consolidated Balance Sheets, assets and liabilities relating to long-term construction contracts (e.g. contract assets and contract liabilities) are considered current assets and current liabilities, since they are expected to be realized or liquidated in the normal course of contract completion, although completion may require more than one calendar year.

Consequently, we have significant working capital invested in assets that may have a liquidation period extending beyond one year. We have claims receivable and retention due from various customers and others that are currently in dispute, the realization of which is subject to binding arbitration, final negotiation or litigation, all of which may extend beyond one calendar year.

Cash and cash equivalents We consider all highly liquid investments with an original maturity of three months or less when purchased as cash equivalents.

Business combinations—Business combinations are accounted for using the acquisition method of accounting. We use the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses. The determination of fair value requires estimates and judgments of future cash flow expectations to assign fair values to the identifiable tangible and intangible assets. GAAP provides a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, any material, newly discovered information that existed at the acquisition date would be reflected as an adjustment to the initial valuations and estimates. After the measurement period, any adjustments would be recorded as a current period income or expense.

Contingent Earnout LiabilitiesAs part of certain acquisitions, we agreed to pay cash to certain sellers upon meeting specific operating performance targets for specified periods subsequent to the acquisition date. Each quarter we evaluate the fair value of the estimated contingency and record a non-operating charge for the change in the fair value. Upon meeting the target, we reflect the full liability on the balance sheet and record a charge to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

Goodwill and other intangible assetsWe account for goodwill in accordance with ASC 350, “Intangibles — Goodwill and Other”. Under ASC 350, goodwill is subject to an annual impairment test, which we perform as of the first day of the fourth quarter of each year, with more frequent testing if indicators of potential impairment exist. The impairment review is performed at the reporting unit level for those units with recorded goodwill. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.

Income taxCurrent income tax expense is the amount of income taxes expected to be paid for the financial results of the current year. A deferred tax liability or asset is established for the expected future tax consequences resulting from the differences in financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized. We provide for uncertain tax positions

when such tax positions do not meet the recognition thresholds or measurement standards as set forth in ASC 740, “Income Taxes”. The difference between a tax position taken or expected to be taken on our income tax returns and the benefit recognized in our financial statements is referred to as an unrecognized tax benefit. Amounts for uncertain tax positions are adjusted in periods when new information becomes available or when positions are effectively settled. We recognize accrued interest and penalties related to uncertain tax positions, if any, as a component of income tax expense.

As a result of the Tax Cuts and Jobs Act (the “Tax Act”) new taxes were created on certain foreign earnings. Namely, U.S. shareholders are now subject to a current tax on global intangible low-taxed income (“GILTI”) earned by specified foreign subsidiaries. Available guidance related to GILTI provides for an accounting policy election to either recognize deferred taxes for temporary basis differences expected to reverse as GILTI in future years, or provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. We have elected to recognize the current tax on GILTI as an expense in the period the tax is incurred. The current tax impacts of GILTI are included in our effective tax rate.

Comprehensive incomeWe account for comprehensive income in accordance with ASC 220, “Comprehensive Income”, which specifies the computation, presentation and disclosure requirements for comprehensive income (loss). Comprehensive income (loss) consists of net income (loss) and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.

Functional currencies and foreign currency translation For foreign operations where substantially all monetary transactions are in the local currency, we use the local currency as our functional currency. The effects of translating financial statements of foreign operations into our reporting currency are recognized as a cumulative translation adjustment, net of tax in “Accumulated other comprehensive income” in the Consolidated Statements of Stockholders’ Equity. For certain foreign operations where substantially all monetary transactions are made in United States dollars, we use the U.S. dollar as our functional currency, with gains or losses on translation recorded in income in the period in which they are incurred. Gains or losses on foreign currency transactions are recorded in income in the period in which they are incurred.

Partnerships and joint ventures We are periodically a member of a partnership or a joint venture. These partnerships or joint ventures are used primarily for the execution of single contracts or projects.  Our ownership can vary from a small noncontrolling ownership to a significant ownership interest. We evaluate each partnership or joint venture to determine whether the entity is considered a variable interest entity (“VIE”) as defined in ASC 810, “Consolidation”, and if a VIE, whether we are the primary beneficiary of the VIE, which would require us to consolidate the VIE in our financial statements. When consolidation occurs, we account for the interests of the other parties as a noncontrolling interest and disclose the net income attributable to noncontrolling interests.

Cash concentrationWe place our cash in demand deposit accounts and short-term U.S. Treasury bonds. At December 31, 2023 and 2022, we had cash balances of $217.8 million and $248.7 million, respectively. Our cash balances are held in high credit quality financial institutions in order to mitigate the risk of holding funds not backed by the federal government or in excess of federally backed limits.

Collective bargaining agreementsApproximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements in 2023. Upon renegotiation of such agreements, we could be exposed to increases in hourly costs and work stoppages.

Multiemployer plansVarious subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan. If we were to withdraw from an agreement, we could incur a withdrawal obligation, and the potential withdrawal obligation may be significant. In accordance with GAAP, any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated.

InsuranceWe self-insure worker’s compensation and general liability up to $0.5 million per claim. We maintained a self-insurance reserve totaling $47.6 million and $45.7 million at December 31, 2023 and 2022,

respectively, with the current portion recorded to “Accrued liabilities” and the long-term portion recorded to “Other long-term liabilities” on the Consolidated Balance Sheets. Claims administration expenses are charged to current operations as incurred. Our accruals are based on judgment and the probability of losses, with the assistance of third-party actuaries. Actual payments that may be made in the future could materially differ from such reserves.

Derivative instruments and hedging activities We recognize all derivative instruments as either assets or liabilities on the balance sheet at their respective fair values. Our use of derivatives currently consists of interest rate swap agreements. The interest rate swap agreements were entered into to improve the predictability of cash flows from interest payments related to variable rate debt for the duration of the term loan and is not designated as a hedge for accounting purposes. Therefore, the change in the fair value of the derivative asset or liability is reflected in net income in the Consolidated Statements of Income (mark-to-market accounting). Cash flows from derivatives settled are reported as cash flow from operating activities.

Accounts receivable—Accounts receivable and contract receivables are primarily with public and private companies and governmental agencies located in the United States and Canada. Credit terms for payment of products and services are extended to customers in the normal course of business. Contract receivables are generally progress billings on projects, and as a result, are short term in nature. Generally, we require no collateral from our customers, but file statutory liens or stop notices on any construction projects when collection problems are anticipated. While a project is underway, we estimate the collectability of contract amounts at the same time that we estimate project costs. As discussed in Note 5 — “Revenue”, realization of the eventual cash collection may be recognized as adjustments to the contract revenue and profitability. We provide an allowance for credit losses to estimate losses from uncollectible accounts. Under this method an allowance is recorded based upon historical experience and management’s evaluation of, among other factors, current and reasonably supportable expected future economic conditions and the customer’s willingness or ability to pay. Receivables are written off in the period deemed uncollectible. The allowance for credit losses at December 31, 2023 and 2022 was $1.5 million and $2.0 million, respectively.

Significant revision in contract estimates We recognize revenue over time for contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. Under this method, the costs incurred to date as a percentage of total estimated costs are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. For projects that were in process at the end of the prior year, there can be a difference in revenue and profit that would have been recognized in the prior year had current year estimates of costs to complete been known at the end of the prior year. During the year ended December 31, 2023, certain contracts had revisions in cost estimates from those projected at December 31, 2022. This change in estimate resulted in a decrease in net income of $15.0 million, or $0.28 per share (basic and diluted) for the year ended December 31, 2023.

Customer concentration — We operate in multiple industry segments encompassing the construction of commercial, utility, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year account for approximately 40.0% to 50.0% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the years ended December 31, 2023, 2022 and 2021, approximately 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue, and no one customer accounted for more than 10% of total revenue.

Property and equipmentProperty and equipment are recorded at cost and are depreciated using the straight-line method over the estimated useful lives of the related assets, usually ranging from three to thirty years. Maintenance and repairs are charged to expense as incurred. Significant renewals and betterments are capitalized. At the time of retirement or other disposition of property and equipment, the cost and accumulated depreciation are removed from the accounts, and any resulting gain or loss is reflected in operating income.

We assess the recoverability of property and equipment whenever events or changes in business circumstances indicate that the carrying amount of the asset may not be fully recoverable. We perform an analysis to determine if an impairment exists. The amount of property and equipment impairment, if any, is measured based on fair value and is charged to operations in the period in which the impairment is determined by management. For the years ended December 31, 2023, 2022 and 2021, our management has not identified any material impairment of its property and equipment.

Depreciation — Effective January 1, 2022, we changed our estimates of the useful lives of certain equipment to better reflect the estimated periods during which these assets will remain in service. The estimated useful lives of equipment that previously ranged three to seven years were increased to a range of three to ten years. The effect of this change in estimate reduced depreciation expense by $19.3 million, increased net income by $16.1 million, and increased basic and diluted earnings per share by $0.30 for the year ended December 31, 2022.

Taxes collected from customersSales and use taxes collected from our customers are recorded on a net basis.

Share-based payments and stock-based compensationIn May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Equity Incentive Plan (“2013 Equity Plan”). Detailed discussion of shares issued under the 2013 Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of Restricted Stock Units (“RSU”) and Performance Stock Units (“PSU”) to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

In May 2023, the shareholders approved and we adopted the Primoris Services Corporation 2023 Equity Incentive Plan (“2023 Equity Plan”). Detailed discussion of shares issued under the Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of RSUs and PSUs to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

Recently Issued Accounting Pronouncements

In October 2021, the FASB issued ASU No.2021-08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” which changes the accounting for contract assets and liabilities acquired in a business combination by requiring an acquiring entity to measure contract assets and liabilities in accordance with FASB Accounting Standards Codification 606, Revenue from Contracts with Customers. This ASU is effective for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years with early adoption permitted. The amendments should be applied prospectively to business combinations occurring on or after the effective date. We adopted the new standard on January 1, 2023, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.

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 and it did not have a material impact 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. This ASU 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.

Other new pronouncements issued but not effective until after December 31, 2023, are not expected to have a material impact on our consolidated results of operations, financial position or cash flows.

XML 25 R11.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements
12 Months Ended
Dec. 31, 2023
Fair Value Measurements  
Fair Value Measurements

Note 3—Fair Value Measurements

ASC 820, “Fair Value Measurements and Disclosures” defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC 820 addresses fair value GAAP for financial assets and financial liabilities that are remeasured and reported at fair value at each reporting period and for non-financial assets and liabilities that are remeasured 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 820, our financial assets and certain liabilities that are required to be measured at fair value at December 31, 2023 and 2022 (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 December 31, 2023:

Cash and cash equivalents

$

217,778

 

$

 

$

Interest rate swap

1,633

Liabilities as of December 31, 2023:

Contingent consideration

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

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 a 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 10 – “Derivative Instruments” for additional information.

On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statement of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration liability.

Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

The March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “Business Combinations”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “Business Combinations” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration in 2023 related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.

XML 26 R12.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations
12 Months Ended
Dec. 31, 2023
Acquisitions  
Acquisitions

Note 4—Business Combinations

Acquisition of PLH

On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused specialty construction company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.

During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.

The intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. For the period from August 1, 2022, the acquisition date, to December 31, 2022, PLH contributed revenue of $367.9 million and gross profit of $38.2 million. It is impractical to segregate and identify revenue and gross profit for PLH in 2023 as we have integrated PLH into our existing operations.

Acquisition costs related to PLH were $15.7 million for the year ended December 31, 2022, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors.

Acquisition of B Comm, LLC

On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled

workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

Acquisition of Alberta Screw Piles, Ltd.

On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million.

During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per year.

Acquisition of Future Infrastructure Holdings, LLC.

On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the communications, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities.

During the fourth quarter of 2021, we finalized the estimate of fair values of the assets acquired and liabilities assumed of FIH. The tables below represent the purchase consideration and estimated fair values of the assets acquired and liabilities assumed. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up and a $4.0 million increase in the final valuation of intangible assets. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $7.2 million since the first quarter of 2021. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash and restricted cash acquired

(10,525)

Net cash paid

$

604,724

Identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

54,337

Contract assets

32,343

Prepaid expenses and other current assets

483

Property, plant and equipment

56,128

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

122,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(29,838)

Contract liabilities

(2,256)

Long-term debt (including current portion)

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(7,581)

Total identifiable net assets

248,688

Goodwill

366,561

Total purchase consideration

$

615,249

We incorporated the operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the communications market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a 15-year period.

The intangible assets acquired with the FIH acquisition consisted of Customer relationships of $122.0 million and Tradenames of $4.4 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 19 years and one year, respectively.

For the period from January 15, 2021, the acquisition date, to December 31, 2021, FIH contributed revenue of $266.6 million and gross profit of $43.6 million.

Acquisition related costs were $14.6 million for the year ended December 31, 2021, and are included in “Transaction and related costs” on the Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and the expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.

Supplemental Unaudited Pro Forma Information for the twelve months ended December 31, 2022 and 2021

The following pro forma information for the twelve months ended December 31, 2022 and 2021 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021 and FIH had occurred at the beginning of 2020. The supplemental pro forma information has been adjusted to include:

the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;

the pro forma impact of nonrecurring transaction and related costs primarily consisting of advisor fees and transaction bonuses payments to select PLH employees directly attributable to the acquisition; and

the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using an effective tax rate of 16.5% and 23.8% for the twelve months ended December 31, 2022 and 2021, respectively.

The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH and FIH acquisitions been completed on January 1, 2021 and 2020, respectively. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (in thousands, except per share amounts):

Year Ended December 31,

    

2022

    

2021

(unaudited)

(unaudited)

Revenue

$

4,814,237

$

4,138,778

Income before provision for income taxes

149,125

79,421

Net income

124,537

60,543

Weighted average common shares outstanding:

Basic

 

53,200

 

52,674

Diluted

 

53,759

 

53,161

Earnings per share:

Basic

$

2.34

$

1.15

Diluted

2.32

1.14

XML 27 R13.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue
12 Months Ended
Dec. 31, 2023
Revenue  
Revenue

Note 5—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 years ended December 31, 2023, 2022, and 2021, $3.9 billion, $2.7 billion, and $2.1 billion, 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 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.

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 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 December 31, 2023, we had $5.4 billion of remaining performance obligations. We expect to recognize approximately 53.9% 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 years ended December 31, 2023 and 2022, revenue recognized from performance obligations satisfied in previous periods was $1.2 million and $3.3 million, respectively. 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 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.

At December 31, 2023, we had approximately $203.5 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 $175.7 million of the unapproved contract modifications had been recognized as revenue on a cumulative catch-up basis through December 31, 2023.

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 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 the cost incurred to a specific project.

Contract assets consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Unbilled revenue

$

604,166

$

420,511

$

283,767

Retention receivable

202,358

174,149

124,990

Contract materials (not yet installed)

 

39,652

 

21,564

 

14,902

$

846,176

$

616,224

$

423,659

Contract assets increased by $230.0 million compared to December 31, 2022 primarily due to higher unbilled revenue.

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

deferred revenue on billings in excess of contract revenue recognized to date, and

the accrued loss provision.

Contract liabilities consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Deferred revenue

$

363,159

$

269,853

$

234,352

Accrued loss provision

 

3,317

 

6,094

 

6,060

$

366,476

$

275,947

$

240,412

Contract liabilities increased by $90.5 million compared to December 31, 2022 due to increased deferred revenue.

Revenue recognized for the years ended December 31, 2023 and 2022, that was included in the contract liability balance at the beginning of each year was approximately $232.9 million and $220.9 million, respectively.

The following tables present our revenue disaggregated into various categories.

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

For the year ended December 31, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,809,349

$

570,881

$

2,380,230

Energy

289,948

3,045,131

3,335,079

Total

$

2,099,297

 

$

3,616,012

 

$

5,715,309

For the year ended December 31, 2022

Segment

MSA

Non-MSA

Total

Utilities

$

1,691,571

$

332,736

$

2,024,307

Energy

331,416

2,064,876

2,396,292

Total

$

2,022,987

 

$

2,397,612

 

$

4,420,599

For the year ended December 31, 2021

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

1,364,995

 

$

292,962

 

$

1,657,957

Energy

238,854

1,600,821

1,839,675

Total

$

1,603,849

 

$

1,893,783

 

$

3,497,632

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

For the year ended December 31, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

391,882

$

1,472,815

$

515,533

$

2,380,230

Energy

2,230,905

583,876

520,298

3,335,079

Total

$

2,622,787

 

$

2,056,691

 

$

1,035,831

 

$

5,715,309

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

For the year ended December 31, 2022

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

192,991

1,327,379

$

503,937

$

2,024,307

Energy

1,695,802

407,067

293,423

2,396,292

Total

$

1,888,793

 

$

1,734,446

 

$

797,360

 

$

4,420,599

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

For the year ended December 31, 2021

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

125,640

 

$

1,146,316

 

$

386,001

 

$

1,657,957

Energy

1,127,988

310,974

400,713

1,839,675

Total

$

1,253,628

 

$

1,457,290

 

$

786,714

 

$

3,497,632

(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 28 R14.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment
12 Months Ended
Dec. 31, 2023
Property and Equipment  
Property and Equipment

Note 6—Property and Equipment

The following is a summary of property and equipment (in thousands):

    

December 31, 

    

2023

    

2022

Useful Life

Land and buildings

$

168,788

$

154,596

 

Buildings 30 Years

Leasehold improvements

 

22,864

 

21,349

 

Various*

Office equipment

 

26,470

 

23,659

 

3 - 5 Years

Construction equipment

 

664,838

 

717,419

 

3 - 10 Years

Solar equipment

23,552

23,552

25 years

Construction in progress

38,669

26,145

 

945,181

 

966,720

Less: accumulated depreciation and amortization

 

(469,252)

 

(472,861)

Property and equipment, net

$

475,929

$

493,859

* Leasehold improvements are depreciated over the shorter of the life of the leasehold improvement or the lease term.

Depreciation expense was $85.2 million, $78.2 million and $87.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.

XML 29 R15.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Intangible Assets
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets  
Goodwill and Intangible Assets

Note 7—Goodwill and Intangible Assets

The change in goodwill by segment for 2023 and 2022 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2021

462,905

118,759

581,664

Goodwill acquired during the period

253,379

36,765

290,144

Balance at December 31, 2022

716,284

155,524

871,808

Goodwill adjustments during the period

 

(12,822)

(1,336)

(14,158)

Balance at December 31, 2023

$

703,462

$

154,188

$

857,650

There were no impairments of goodwill for the years ended December 31, 2023, 2022 and 2021.

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

December 31, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(29,399)

3,421

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(77,787)

224,140

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(107,186)

$

227,561

$

334,747

$

(85,366)

$

249,381

Amortization expense of intangible assets was $21.8 million, $20.9 million and $18.3 million for the years ended December 31, 2023, 2022 and 2021, respectively.

Estimated future amortization expense for intangible assets as of December 31, 2023 is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024

$

19,701

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,073

$

227,561

XML 30 R16.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accounts Payable and Accrued Liabilities
12 Months Ended
Dec. 31, 2023
Accounts Payable and Accrued Liabilities  
Accounts Payable and Accrued Liabilities

Note 8—Accounts Payable and Accrued Liabilities

At December 31, 2023 and 2022, accounts payable included retention amounts of approximately $24.7 million and $21.5 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):

December 31, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

108,618

$

114,053

Current operating lease liability

96,411

72,565

Casualty insurance reserves

 

18,015

 

19,935

Corporate income taxes and other taxes

 

14,203

 

16,213

Other

 

26,245

 

23,071

$

263,492

$

245,837

XML 31 R17.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements
12 Months Ended
Dec. 31, 2023
Credit Arrangements  
Credit Arrangements

Note 9—Credit Arrangements

Long-term debt and credit facilities consist of the following at December 31, 2023 (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Term loan

$

874,128

$

933,188

Revolving credit facility

100,000

Commercial equipment notes

71,004

98,064

Mortgage notes

 

19,615

 

20,483

Total debt

964,747

1,151,735

Unamortized debt issuance costs

(6,475)

(8,283)

Total debt, net

$

958,272

$

1,143,452

Less: current portion

 

(72,903)

 

(78,137)

Long-term debt, net of current portion

$

885,369

$

1,065,315

The weighted average interest rate on total debt outstanding at December 31, 2023 and 2022 was 6.8% and 6.2%, respectively.

Scheduled maturities of long-term debt are as follows (in thousands):

    

Year Ending

December 31, 

2024

$

72,903

2025

 

75,545

2026

 

65,847

2027

 

734,485

2028

 

8,847

Thereafter

 

7,120

$

964,747

Commercial Notes Payable and Mortgage Notes Payable

From time to time, we enter into commercial equipment notes payable with various equipment finance companies and banks. At December 31, 2023, interest rates ranged from 1.60% to 6.28% per annum and maturity dates range from April 2024 through February 2027. The notes are secured by certain construction equipment.

From time to time, we enter into secured mortgage notes payable with various banks. At December 31, 2023, interest rates ranged from 4.21% to 4.50% per annum and maturity dates range from January 2025 through October 2030. These notes are secured by certain real estate.

Credit Agreement

On September 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility (“Revolving Credit Facility”), whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 million.

On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026. The proceeds from the additional borrowings under the Second Amended and Restated Credit Agreement were used to finance the acquisition of FIH.

On August 1, 2022, we entered into the Third Amended and Restated Credit Agreement (the “Amended Credit Agreement”) with Administrative Agent and the Lenders that increased the Term Loan by $439.5 million to an aggregate principal amount of $945.0 million (as amended, the “New Term Loan”). The Amended Credit Agreement is scheduled to mature on August 1, 2027.

In addition to the New Term Loan, the Amended Credit Agreement increased the existing $200.0 million Revolving Credit Facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit, to $325.0 million. At December 31, 2023, commercial letters of credit outstanding were $51.6 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $273.4 million at December 31, 2023.

Under the Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $11.8 million, with the balance due on August 1, 2027. The proceeds from the New Term Loan and additional borrowings under the Revolving Credit Facility were used to finance the acquisition of PLH.

We capitalized $6.5 million of debt issuance costs during 2022 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement. In addition, we recorded a loss on extinguishment of debt during 2022 of $0.8 million related to the Amended Credit Agreement.

The principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) the Secured Overnight Financing Rate (“SOFR”) plus an applicable margin as specified in the Amended Credit Agreement (based on our net senior debt to earnings before interest, taxes, depreciation and amortization (“EBITDA”) ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.50% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.

The principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 million.

Loans made under the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Amended Credit Agreement.

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 at December 31, 2023.

On September 13, 2018, 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 75% of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 10 – “Derivative Instruments”.

On January 31, 2023, we entered into a second 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 New Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin which was 2.25% at December 31, 2023. The interest rate swap matures on January 31, 2025. See Note 10 – “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. At December 31, 2023, commercial letters of credit outstanding were $0.9 million in Canadian dollars and there were no outstanding borrowings. Available capacity at December 31, 2023, was $13.1 million in Canadian dollars.

XML 32 R18.htm IDEA: XBRL DOCUMENT v3.24.0.1
Derivative Instruments
12 Months Ended
Dec. 31, 2023
Derivative Instruments  
Derivative Instruments

Note 10 — 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 September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change 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 December 31, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $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 Consolidated Balance Sheets (in thousands):

    

    

    

December 31, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

Interest rate swap

Other long-term assets

1,633

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

Location of Gain

Year Ended December 31, 

    

Recognized on Derivatives

2023

    

2022

    

2021

Interest rate swap

 

Interest expense, net

$

5,335

$

4,078

$

838

XML 33 R19.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases
12 Months Ended
Dec. 31, 2023
Leases  
Leases

Note 11—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 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 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 operating lease expense are as follows (in thousands):

Year Ended December 31, 

2023

    

2022

    

2021

Operating lease expense (1)

$

112,170

$

76,761

$

80,974

________________________________________

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

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

December 31, 

December 31, 

    

2023

2022

Accrued liabilities

$

96,411

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

263,454

 

130,787

$

359,865

$

203,352

The future minimum lease payments under non-cancelable operating leases are as follows (in thousands):.

Future Minimum

For the Years Ending December 31, 

Lease Payments

2024

    

$

112,768

2025

91,001

2026

80,453

2027

60,703

2028

37,136

Thereafter

24,501

Total lease payments

$

406,562

Less imputed interest

 

(46,697)

Total

$

359,865

Other information related to operating leases is as follows (in thousands, except lease term and discount rate):

Year ended December 31, 

    

2023

    

2022

Cash paid for amounts included in the measurement of lease liabilities

Operating cash flows from operating leases

$

109,430

$

76,313

Weighted-average remaining lease term on operating leases (years)

4.44

4.07

Weighted-average discount rate on operating leases

5.64%

3.71%

.

Sale and Leaseback Transaction

On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of three years. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Consolidated Statements of Income for the year ended December 31, 2022.

XML 34 R20.htm IDEA: XBRL DOCUMENT v3.24.0.1
Commitments and Contingencies
12 Months Ended
Dec. 31, 2023
Commitments and Contingencies.  
Commitments and Contingencies

Note 12—Commitments and Contingencies

Legal proceedings—We are subject to claims and legal proceedings arising out of our business. We record costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of 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 reasonably estimable, we do not accrue for a potential litigation loss.

Management is unable to ascertain the ultimate outcome of claims and legal proceedings; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to the claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a materially adverse effect on our consolidated results of operations, financial condition or cash flow.

Bonding—As of December 31, 2023 and 2022, we had bid and completion bonds issued and outstanding totaling approximately $5.9 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion, respectively.

XML 35 R21.htm IDEA: XBRL DOCUMENT v3.24.0.1
Reportable Segments
12 Months Ended
Dec. 31, 2023
Reportable Segments  
Reportable Segments

Note 13—Reportable Segments

Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.

The current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments.

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 the 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 in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, 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.

All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our CODM as defined by ASC 280 does not review or allocate resources based on segment assets.

Segment Revenue

Revenue by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

% of

Total

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

 

Revenue

Revenue

Utilities

$

2,380,230

 

41.6%

$

2,024,307

 

45.8%

$

1,657,957

 

47.4%

Energy

3,335,079

58.4%

2,396,292

54.2%

1,839,675

52.6%

Total

$

5,715,309

 

100.0%

$

4,420,599

 

100.0%

$

3,497,632

 

100.0%

Segment Gross Profit

Gross profit by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

 

    

% of

Segment

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Gross Profit

Revenue

Utilities

$

206,992

 

8.7%

$

210,672

 

10.4%

$

186,287

 

11.2%

Energy

380,499

11.4%

246,213

10.3%

230,373

12.5%

Total

$

587,491

 

10.3%

$

456,885

 

10.3%

$

416,660

 

11.9%

Geographic Region — Revenue and Total Assets

The majority of our revenue is derived from customers in the United States with approximately 5.8%, 6.7% and 4.5% generated from sources outside of the United States, principally Canada, for the years ended December 31, 2023, 2022 and 2021, respectively. At December 31, 2023 and 2022, approximately 3.9% and 4.2%, respectively of total assets were located outside of the United States.

XML 36 R22.htm IDEA: XBRL DOCUMENT v3.24.0.1
Multiemployer Plans
12 Months Ended
Dec. 31, 2023
Multiemployer Plans  
Multiemployer Plans

Note 14 — Multiemployer Plans

Union PlansVarious subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan.

We contributed $62.2 million, $46.2 million, and $39.7 million, to multiemployer pension plans for the years ended December 31, 2023, 2022 and 2021, respectively. These costs were charged to the related construction contracts in process. Contributions during 2023 were higher than 2022 as a result of a greater number of man-hours worked by our union labor and the acquisition of PLH.

The financial risks of participating in multiemployer plans are different from single-employer plans in the following respects:

Assets contributed to the multiemployer plan by one employer may be used to provide benefits to employees of other participating employers.
If a participating employer stops contributing to the plan, the unfunded obligations of the plan may be borne by the remaining participating employers.
If a participating employer chooses to stop participating in the plan, a withdrawal liability may be created based on the unfunded vested benefits for all employees in the plan.

Under U.S. legislation regarding multiemployer pension plans, an employer is required to pay an amount that represents its proportionate share of a plan’s unfunded vested benefits in the event of withdrawal from a plan or upon plan termination.

We participate in a number of multiemployer pension plans, and our potential withdrawal obligation may be significant. Any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated, in accordance with GAAP. We have no plans to withdraw from any labor agreements.

During the last three years, we made annual contributions to 50 pension plans. Based upon the most recent and available plan financial information, we made contributions to the Construction Laborers Pension Trust for Southern California, the Pipeline Industry Benefit Fund, the Southern California Pipe Trades Trust Funds and the Minnesota Laborers Pension Fund that represented more than 5% of the plan’s total contributions for the 2023 plan year. None of the other significant pension plans we contributed to below listed us in the plan’s Form 5500 as providing more than 5% of the plan’s total contributions during the years ended December 31, 2023, 2022 and 2021.

Our participation in significant plans for the years ended December 31, 2023, 2022 and 2021 is outlined in the table below. The “EIN/Pension Plan Number” column provides the Employer Identification Number (“EIN”) and the three digit plan number. The “Zone Status” is based on the latest information that we received from the plan and is certified by the plan’s actuary. Among other factors, plans in the red zone are generally less than 65 percent funded, plans in the yellow zone are less than 80 percent funded, and plans in the green zone are at least 80 percent funded. The “FIP/RP Status Pending/Implemented” column indicates plans for which a financial improvement plan (“FIP”) or a rehabilitation plan (“RP”) is either pending or has been implemented. The “Surcharge Imposed” column includes plans in a red zone status that require a payment of a surcharge in excess of regular contributions. The next column lists the expiration date of our collective bargaining agreement related to the plan.

Collective

 

FIP/RP

Bargaining

 

EIN /

Pension Protection Act

Status

Agreement

Contributions of the Company

 

Pension Plan

 Zone Status

Pending /

Surcharge

Expiration

(In Thousands)

 

Pension Fund Name

    

Number

    

2023

    

2022

    

Implemented

    

Imposed

    

Date

    

2023

    

2022

    

2021

 

Central Pension Fund of the International Union of Operating Engineers and Participating Employers

 

36-6052390/001

 

Green as of
January 31, 2023

 

Green as of
January 31, 2022

 

No

 

No

 

6/4/2026

$

6,150

$

5,592

$

4,985

Laborers Pension Trust Fund for Northern California

 

94-6277608/001

 

Green as of May 31, 2023

 

Green as of May 31, 2022

 

No

 

No

 

6/30/2027

 

5,198

 

3,699

 

3,943

Construction Laborers Pension Trust for Southern California

 

43-6159056/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/30/2026

 

5,162

 

3,595

 

3,254

Operating Engineer Trust Funds

95-6032478/001

Yellow as of June 30, 2023

Yellow as of June 30, 2022

No

No

6/30/2025

4,856

1,973

1,794

Pipeline Industry Benefit Fund

73-6146433/001

Green as of December 31, 2022

Green as of December 31, 2021

No

 

No

6/1/2023

4,363

495

496

Southern California Pipe Trades Trust Funds

 

51-6108443/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

8/31/2026

 

4,290

 

3,268

 

3,456

Minnesota Laborers Pension Fund

 

41-6159599/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/1/2025

 

3,579

3,749

3,299

 

Contributions to significant plans

33,598

22,371

21,227

 

Contributions to other multiemployer plans

 

28,637

 

23,792

 

18,443

 

Total contributions made

$

62,235

$

46,163

$

39,670

XML 37 R23.htm IDEA: XBRL DOCUMENT v3.24.0.1
Employee Benefit Plans
12 Months Ended
Dec. 31, 2023
Employee Benefit Plans  
Employee Benefit Plans

Note 15—Employee Benefit Plans

Defined Contribution PlansWe sponsor multiple defined contribution plans for eligible employees not covered by collective bargaining agreements. Our plans include various features such as voluntary employee pre-tax and Roth-based contributions and matching contributions made by us. In addition, at the discretion of our Board of Directors, we may make additional profit share contributions to the plans. No such additional contributions were made during 2021 through 2023. Matching contributions to all defined contribution plans for the years ended December 31, 2023, 2022 and 2021 were $16.4 million, $16.6 million, and $11.6 million, respectively. The increase in matching contributions in 2023 and 2022 is primarily due to an increase in headcount from the PLH acquisition. We have no other post-retirement benefits.

Deferred Compensation PlanIn 2023, we adopted a non-qualified deferred compensation plan under which eligible directors and key employees may defer their receipt of certain cash compensation. This plan is an unfunded and unsecured compensation arrangement. Individuals participating in the plan may allocate deferred cash amounts among a group of notional accounts that mirror the gains and losses of various investment alternatives. Generally, participants receive distributions of deferred balances based on predetermined payout schedules or other events.

The plan covering key employees provides for employer matching contributions for certain officers and employees whose benefits under the 401(k) plan are limited by federal tax law. Contributions vest immediately provided that vesting accelerates upon a change in control or the participant’s death or retirement. Any matching and discretionary employer contributions, whether vested or not, are forfeited upon a participant’s termination of employment for cause or upon the participant engaging in competition with Primoris or any of its affiliates.

As of December 31, 2023, the deferred compensation liability under our deferred compensation plan was $0.3 million, which was included in “Other Long-term Liabilities” in the accompanying Consolidated Balance Sheet. To provide for future obligations related to these deferred compensation plans, we have invested in corporate-owned life insurance (“COLI”) policies covering certain participants in the deferred compensation plans, the underlying investments of which are intended to be aligned with the investment alternatives elected by plan participants. The COLI assets are recorded at their cash surrender value, which is considered their fair market value, and as of December 31, 2023, the fair market was $0.3 million, which was included in “Other Long-term Assets” in the accompanying Consolidated Balance Sheet.

XML 38 R24.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation
12 Months Ended
Dec. 31, 2023
Stock-Based Compensation  
Stock-Based Compensation

Note 16—Stock-Based Compensation

We maintain two equity compensation plans under which stock-based compensation has been granted, the 2013 Equity Plan and the 2023 Equity Plan. Upon the adoption of the 2023 Equity Plan, awards were no longer granted under the 2013 Equity Plan. The 2023 Equity Plan permits the granting of up to 6.5 million shares to executives, directors and certain senior managers. Grants of awards to employees are approved by the Compensation Committee of the Board of Directors and grants to independent members of the Board of Directors are approved by the Board of Directors. As of December 31, 2023, there were 6.2 million shares of common stock remaining available for grant under the 2023 Equity Plan.

Under guidance of ASC 718, “Compensation — Stock Compensation”, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee’s requisite service period (generally the vesting period of the award). We settle the vesting of RSUs and PSUs through the issuance of new shares of common stock. Forfeitures of stock-based awards are recognized as they occur.

Restricted Stock Units

We grant time-vested stock awards in the form of restricted stock units. The fair value of the RSUs is based on the closing market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the RSUs is amortized using the straight-line method over the service period. Time-vested stock awards granted to eligible employees in 2023 vest 25% in year one, 25% in year two, and 50% in year three.

The table below presents RSU activity for 2023:

Nonvested RSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

604,787

$

27.88

Granted

355,644

27.83

Vested

(232,319)

26.91

Forfeited

(35,397)

28.61

Balance at December 31, 2023

692,715

28.14

During 2022, 269,324 RSUs were granted with a weighted-average grant date fair value per unit of $25.22. The total fair value of RSUs that vested during 2023, 2022 and 2021 was $6.5 million, $4.5 million and $4.6 million, respectively. At December 31, 2023, approximately $10.1 million of unrecognized compensation expense remains for the RSUs, which will be recognized over a weighted average period of 1.92 years.

Performance Stock Units

Shares of our common stock may be earned based on our performance compared to defined metrics. The number of shares earned under a performance award can vary from zero to 200% of the target shares awarded, based upon our performance compared to the metrics. The metrics used for the grant are determined by the Compensation Committee of the Board of Directors and may be either based on internal measures such as our financial performance compared to target or on a market-based metric such as our stock performance compared to a peer group. Performance awards vest over three years based upon attainment of at least the minimum stated performance targets and minimum service requirements. For performance awards, we recognize stock-based compensation expense based on the grant date fair value of the award. The fair value of internal metric-based performance awards is determined by the market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the PSUs is amortized using the straight-line method over the service period. We adjust the stock-based compensation expense related to internal metric-based performance awards according to our determination of the shares expected to vest at each reporting date. Stock-based compensation expense related to market metric-based performance awards is expensed at their grant date fair value regardless of performance.

The table below presents PSU activity for 2023:

Nonvested PSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

$

Granted

394,393

27.50

Vested

Forfeited

(59,455)

27.50

Balance at December 31, 2023

334,938

27.50

At December 31, 2023, approximately $6.6 million of unrecognized compensation expense remains for the PSUs, which will be recognized over a weighted average period of 2.17 years.

Stock-based Compensation Expense

For the years ended December 31, 2023, 2022 and 2021, we recognized $11.8 million, $7.4 million, and $10.5 million, respectively, in compensation expense for both RSUs and PSUs.

XML 39 R25.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes
12 Months Ended
Dec. 31, 2023
Income Taxes  
Income Taxes

Note 17—Income Taxes

Income before provision for income taxes consists of the following (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

United States

$

158,137

$

133,564

$

140,307

Foreign

 

19,532

 

25,722

 

11,550

Total

$

177,669

$

159,286

$

151,857

The components of the provision for income taxes are as follows (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

Current provision

Federal

$

11,337

$

5,412

$

3,678

State

 

7,124

 

2,117

 

4,471

Foreign

 

3,705

 

4,041

 

2,405

22,166

11,570

10,554

Deferred provision (benefit)

Federal

 

28,634

 

12,645

 

22,607

State

 

1,412

 

(428)

 

2,372

Foreign

 

(688)

 

2,478

 

585

 

29,358

 

14,695

 

25,564

Total

$

51,524

$

26,265

$

36,118

A reconciliation of income tax expense compared to the amount of income tax expense that would result by applying the U.S. federal statutory income tax rate to pre-tax income is as follows:

    

Year Ended December 31, 

2023

    

2022

    

2021

U.S. federal statutory income tax rate

 

21.0

%

21.0

%

21.0

%

State taxes, net of federal income tax impact

 

3.8

0.8

3.9

Tax credits

 

(0.7)

(1.9)

(1.1)

Income taxed at rates greater than U.S.

 

0.2

0.6

0.2

Nondeductible meals & entertainment

 

3.6

0.5

0.2

Nondeductible compensation

0.7

0.4

0.3

Capital loss utilization - release of valuation allowance

0.0

(5.8)

0.0

Other items

 

0.4

0.9

(0.7)

Effective tax rate

 

29.0

%

16.5

%

23.8

%

The provision for income taxes has been determined based upon the tax laws and rates in the countries in which we operate. Our operations in the United States are subject to federal income tax rates of 21% and varying state income tax rates. Our principal international operations are in Canada. Our subsidiaries in Canada are subject to a corporate income tax rate of 23%. We did not have any non-taxable foreign earnings from tax holidays for taxable years 2020 through 2023.

Deferred taxes are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities and are measured using 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 tax effect of temporary differences that give rise to deferred income taxes are as follows (in thousands):

    

December 31, 

2023

    

2022

Deferred tax assets:

Accrued compensation

$

12,044

$

9,685

Accrued workers compensation

3,103

2,949

Net operating losses

41,819

46,843

Disallowed interest

8,227

4,439

Lease liabilities

72,363

36,372

Insurance reserves

 

6,430

 

5,200

Loss reserves

 

1,309

 

1,555

Tax credits

 

748

 

1,069

Capitalized research

11,522

5,127

Other

 

315

 

1,446

Total deferred tax assets

 

157,880

 

114,685

Deferred tax liabilities

Depreciation and amortization

 

(130,051)

 

(119,081)

Prepaid expenses and other

 

(3,672)

 

(2,760)

Lease assets

(73,516)

(36,865)

Total deferred tax liabilities

 

(207,239)

 

(158,706)

Valuation allowance

(10,206)

(13,080)

Net deferred tax liabilities

$

(59,565)

$

(57,101)

As of December 31, 2023, we have recorded a deferred tax asset of $41.8 million reflecting the tax benefit of approximately $531.7 million of federal and state income tax net operating loss carryforwards, some of which were acquired in the acquisitions of PLH and other companies. Our tax credits of $0.7 million generally expire between 10 and 20 years after they are generated. Our U.S. federal net operating losses expire beginning in 2031, and our state net operating losses generally expire 20 years after the period in which the losses were incurred.

The valuation allowances for deferred income tax assets at December 31, 2023 and 2022 were $10.2 million and $13.1 million, respectively. The $2.9 million decrease in valuation allowances during 2023 was primarily due to finalizing the fair value of acquired PLH state net operating losses in the second quarter of 2023. These remaining valuation allowances primarily relate to state net operating loss carryforwards established due to uncertainty in Primoris’ outlook as to the amount of future taxable income required in particular tax jurisdictions in order to utilize certain tax losses, considering also the tax regulations which limit the annual utilization of acquired losses. Primoris believes it is more likely than not that it will realize the benefit of its deferred tax assets net of existing valuation allowances.

A reconciliation of the beginning, ending and aggregate changes in the gross balances of unrecognized tax benefits is as follows (in thousands):

    

December 31, 

2023

    

2022

    

2021

Beginning balance

$

10,196

$

1,337

$

1,553

Increases in balances for tax positions taken during the current year

 

120

 

120

 

288

(Decreases) increases in balances for tax positions taken during prior years

 

(687)

 

9,204

 

83

Settlements and effective settlements with tax authorities

(416)

Lapse of statute of limitations

 

(412)

 

(465)

 

(171)

Total

$

9,217

$

10,196

$

1,337

We recognize accrued interest and penalties related to uncertain tax positions in income tax expense, which were not material for the three years presented.

We believe it is reasonably possible that decreases of up to $0.3 million of unrecognized tax benefits could occur in the next twelve months due to the expiration of statutes of limitation and settlements with tax authorities.

Our 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.

On March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred approximately $42.0 million of FICA tax payments during part of 2020 as allowed under the CARES Act. The unpaid deferral was $21.7 million at December 31, 2022, and was included in Accrued liabilities on our Consolidated Balance Sheet. We paid all remaining payments to the U.S. Treasury on January 3, 2023.

ASU No. 2013-11, "Income Taxes (Topic 740) Presentation of an Unrecognized Tax Benefit When a Net Operating Loss Carryforward, a Similar Tax Loss, or a Tax Credit Carryforward Exists”, requires certain unrecognized tax benefits to be shown as a reduction to another asset or liability. Accordingly, this resulted in a decrease to the December 31, 2022, income tax receivable of $6.3 million.

XML 40 R26.htm IDEA: XBRL DOCUMENT v3.24.0.1
Dividends and Earnings Per Share
12 Months Ended
Dec. 31, 2023
Dividends and Earnings Per Share  
Dividends and Earnings Per Share

Note 18—Dividends and Earnings Per Share

We have declared cash dividends during 2021, 2022 and 2023 as follows:

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

0.06

August 3, 2021

September 30, 2021

October 15, 2021

0.06

November 3, 2021

December 31, 2021

January 14, 2022

0.06

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

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

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 our Board of Directors.

The table below presents the computation of basic and diluted earnings per share for the years ended December 31, 2023, 2022 and 2021 (in thousands, except per share amounts):

Year Ended December 31, 

 

2023

    

2022

    

2021

Numerator:

Net income

$

126,145

$

133,021

$

115,739

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,297

 

53,200

 

52,674

Dilutive effect of stock-based awards

 

926

 

559

 

487

Weighted average shares for computation of diluted earnings per share

 

54,223

 

53,759

 

53,161

Earnings per share:

Basic

$

2.37

$

2.50

$

2.19

Diluted

$

2.33

$

2.47

$

2.17

XML 41 R27.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity
12 Months Ended
Dec. 31, 2023
Stockholders' Equity  
Stockholders' Equity

Note 19—Stockholders’ Equity

Preferred Stock

We are authorized to issue 1,000,000 shares of $0.0001 par value preferred stock. No shares of Preferred Stock were outstanding at December 31, 2023 and 2022.

Common Stock

We are authorized to issue 90,000,000 shares of $0.0001 par value common stock, of which 53,366,327 and 53,124,899 shares were issued and outstanding as of December 31, 2023 and 2022, respectively.

We issued 21,245 shares of common stock in 2023, 23,782 shares of common stock in 2022, and 25,987 shares of common stock in 2021 under our LTR Plan. The shares were purchased by the participants in the LTR Plan with payments made to us of $0.3 million in 2023, $0.6 million in 2022, and $0.5 million in 2021. Our LTR Plan for 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 2023, 2022 and 2021 were for bonus amounts earned in 2022, 2021 and 2020 and the number of shares was calculated at 75% of the average closing price for December of the previous year.

During the years ended December 31, 2023, 2022, and 2021, we issued 39,040, 42,080, and 32,920 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. The shares were fully vested upon issuance and have a one-year trading restriction.

During the years ended December 31, 2023, 2022, and 2021 168,605, 131,709, and 122,690 RSUs, net of forfeitures for tax withholdings, respectively, were converted to common stock.

In connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the year ended December 31, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1

million in stock compensation expense included in Transaction and related costs in the Consolidated Statement of Income.

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. In 2023, 12,538 shares were purchased at an average price of $25.85 per share. In 2022, 9,943 shares were purchased at an average purchase price of $17.44 per share.

Secondary Offering

In March 2021, we entered into an underwriting agreement with Goldman Sachs & Co. LLC, Morgan Stanley & Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred in connection with the acquisition of FIH.

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 February 2022, our Board of Directors replenished the limit to $25.0 million. During the year ended December 31, 2023 we did not purchase any shares of common stock. During the year ended December 31, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. During the year ended December 31, 2021, we purchased and cancelled 635,763 shares of common stock, which in the aggregate equaled $14.7 million at an average share price of $23.15. In November 2023, the Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024.

XML 42 R28.htm IDEA: XBRL DOCUMENT v3.24.0.1
Selected Quarterly Financial Information (Unaudited)
12 Months Ended
Dec. 31, 2023
Selected Quarterly Financial Information (Unaudited)  
Selected Quarterly Financial Information (Unaudited)

Note 20—Selected Quarterly Financial Information (Unaudited)

Selected unaudited quarterly consolidated financial information is presented in the following tables (in thousands, except per share amounts):

Year Ended December 31, 2023

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

1,256,896

$

1,413,377

$

1,529,486

$

1,515,550

Gross profit

99,732

157,264

173,895

156,600

Net income

1,310

39,032

48,144

37,659

Earnings per share:

Basic earnings per share

$

0.02

$

0.73

$

0.90

$

0.71

Diluted earnings per share

0.02

0.72

0.89

0.69

Weighted average shares outstanding

Basic

 

53,184

 

53,301

 

53,339

53,360

Diluted

 

53,944

 

54,324

 

54,351

54,385

Year Ended December 31, 2022

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

784,384

$

1,022,948

$

1,284,128

$

1,329,139

Gross profit

56,486

92,109

154,907

153,383

Net (loss) income

(1,674)

50,154

43,040

41,501

Earnings per share:

Basic (loss) earnings per share

$

(0.03)

$

0.94

$

0.81

$

0.78

Diluted (loss) earnings per share

(0.03)

0.93

0.80

0.77

Weighted average shares outstanding

Basic

 

53,240

 

53,263

 

53,181

53,120

Diluted

 

53,240

 

53,852

 

53,748

53,711

XML 43 R29.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Policies)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Basis of presentation

Basis of presentation The accompanying consolidated financial statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) and the financial statement rules and regulations of the Securities and Exchange Commission (“SEC”). References for Financial Accounting Standards Board (“FASB”) standards are made to the FASB Accounting Standards Codification (“ASC”).

Principles of consolidation

Principles of consolidation The accompanying Consolidated Financial Statements include the accounts of Primoris and our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.

Reclassification

Reclassification Certain previously reported amounts have been reclassified to conform to the current year 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 Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which was recorded as restricted cash at December 31, 2022. As of December 31, 2023, all of the restricted cash from the PLH acquisition had been released. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the Consolidated Statements of Cash Flows (in thousands):

December 31,

    

2023

    

2022

a

2021

    

2020

Cash and cash equivalents

$

217,778

$

248,692

$

200,512

$

326,744

Restricted cash included in prepaid expenses and other current assets

5,764

10,299

5,131

4,231

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

223,542

$

258,991

$

205,643

$

330,975

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 reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Fees associated with the Facility for the year ended December 31, 2023 were $1.9 million and are included in interest expense in the Consolidated Statement 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 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 Consolidated Balance Sheets.

The total outstanding balance of trade accounts receivable that have been sold and derecognized is $75.0 million as of December 31, 2023. The SPE owned $112.2 million of trade accounts receivable as of December 31, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheet. For the year ended December 31, 2023, we received $75.0 million in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statement of Cash Flows. As of December 31, 2023, we had $25.0 million available capacity under the Facility.

Use of estimates

Use of estimates The preparation of our Consolidated Financial Statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting periods. As a construction contractor, we use estimates for costs to complete construction projects and the contract value of certain construction projects. These estimates have a direct effect on gross profit as reported in these consolidated financial statements. Actual results could materially differ from our estimates.

Operating cycle

Operating cycle In the accompanying Consolidated Balance Sheets, assets and liabilities relating to long-term construction contracts (e.g. contract assets and contract liabilities) are considered current assets and current liabilities, since they are expected to be realized or liquidated in the normal course of contract completion, although completion may require more than one calendar year.

Consequently, we have significant working capital invested in assets that may have a liquidation period extending beyond one year. We have claims receivable and retention due from various customers and others that are currently in dispute, the realization of which is subject to binding arbitration, final negotiation or litigation, all of which may extend beyond one calendar year.

Cash and cash equivalents

Cash and cash equivalents We consider all highly liquid investments with an original maturity of three months or less when purchased as cash equivalents.

Business combinations

Business combinations—Business combinations are accounted for using the acquisition method of accounting. We use the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses. The determination of fair value requires estimates and judgments of future cash flow expectations to assign fair values to the identifiable tangible and intangible assets. GAAP provides a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, any material, newly discovered information that existed at the acquisition date would be reflected as an adjustment to the initial valuations and estimates. After the measurement period, any adjustments would be recorded as a current period income or expense.

Contingent Earnout Liabilities

Contingent Earnout LiabilitiesAs part of certain acquisitions, we agreed to pay cash to certain sellers upon meeting specific operating performance targets for specified periods subsequent to the acquisition date. Each quarter we evaluate the fair value of the estimated contingency and record a non-operating charge for the change in the fair value. Upon meeting the target, we reflect the full liability on the balance sheet and record a charge to “Other income (expense), net” for the change in the fair value of the liability from the prior period.

Goodwill and other intangible assets

Goodwill and other intangible assetsWe account for goodwill in accordance with ASC 350, “Intangibles — Goodwill and Other”. Under ASC 350, goodwill is subject to an annual impairment test, which we perform as of the first day of the fourth quarter of each year, with more frequent testing if indicators of potential impairment exist. The impairment review is performed at the reporting unit level for those units with recorded goodwill. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.

Income tax

Income taxCurrent income tax expense is the amount of income taxes expected to be paid for the financial results of the current year. A deferred tax liability or asset is established for the expected future tax consequences resulting from the differences in financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized. We provide for uncertain tax positions

when such tax positions do not meet the recognition thresholds or measurement standards as set forth in ASC 740, “Income Taxes”. The difference between a tax position taken or expected to be taken on our income tax returns and the benefit recognized in our financial statements is referred to as an unrecognized tax benefit. Amounts for uncertain tax positions are adjusted in periods when new information becomes available or when positions are effectively settled. We recognize accrued interest and penalties related to uncertain tax positions, if any, as a component of income tax expense.

As a result of the Tax Cuts and Jobs Act (the “Tax Act”) new taxes were created on certain foreign earnings. Namely, U.S. shareholders are now subject to a current tax on global intangible low-taxed income (“GILTI”) earned by specified foreign subsidiaries. Available guidance related to GILTI provides for an accounting policy election to either recognize deferred taxes for temporary basis differences expected to reverse as GILTI in future years, or provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. We have elected to recognize the current tax on GILTI as an expense in the period the tax is incurred. The current tax impacts of GILTI are included in our effective tax rate.

Comprehensive income

Comprehensive incomeWe account for comprehensive income in accordance with ASC 220, “Comprehensive Income”, which specifies the computation, presentation and disclosure requirements for comprehensive income (loss). Comprehensive income (loss) consists of net income (loss) and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.

Functional currencies and foreign currency translation

Functional currencies and foreign currency translation For foreign operations where substantially all monetary transactions are in the local currency, we use the local currency as our functional currency. The effects of translating financial statements of foreign operations into our reporting currency are recognized as a cumulative translation adjustment, net of tax in “Accumulated other comprehensive income” in the Consolidated Statements of Stockholders’ Equity. For certain foreign operations where substantially all monetary transactions are made in United States dollars, we use the U.S. dollar as our functional currency, with gains or losses on translation recorded in income in the period in which they are incurred. Gains or losses on foreign currency transactions are recorded in income in the period in which they are incurred.

Partnerships and joint ventures

Partnerships and joint ventures We are periodically a member of a partnership or a joint venture. These partnerships or joint ventures are used primarily for the execution of single contracts or projects.  Our ownership can vary from a small noncontrolling ownership to a significant ownership interest. We evaluate each partnership or joint venture to determine whether the entity is considered a variable interest entity (“VIE”) as defined in ASC 810, “Consolidation”, and if a VIE, whether we are the primary beneficiary of the VIE, which would require us to consolidate the VIE in our financial statements. When consolidation occurs, we account for the interests of the other parties as a noncontrolling interest and disclose the net income attributable to noncontrolling interests.

Cash concentration

Cash concentrationWe place our cash in demand deposit accounts and short-term U.S. Treasury bonds. At December 31, 2023 and 2022, we had cash balances of $217.8 million and $248.7 million, respectively. Our cash balances are held in high credit quality financial institutions in order to mitigate the risk of holding funds not backed by the federal government or in excess of federally backed limits.

Collective bargaining agreements

Collective bargaining agreementsApproximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements in 2023. Upon renegotiation of such agreements, we could be exposed to increases in hourly costs and work stoppages.

Multiemployer plans

Multiemployer plansVarious subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan. If we were to withdraw from an agreement, we could incur a withdrawal obligation, and the potential withdrawal obligation may be significant. In accordance with GAAP, any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated.

Insurance

InsuranceWe self-insure worker’s compensation and general liability up to $0.5 million per claim. We maintained a self-insurance reserve totaling $47.6 million and $45.7 million at December 31, 2023 and 2022,

respectively, with the current portion recorded to “Accrued liabilities” and the long-term portion recorded to “Other long-term liabilities” on the Consolidated Balance Sheets. Claims administration expenses are charged to current operations as incurred. Our accruals are based on judgment and the probability of losses, with the assistance of third-party actuaries. Actual payments that may be made in the future could materially differ from such reserves.

Derivative instruments and hedging activities

Derivative instruments and hedging activities We recognize all derivative instruments as either assets or liabilities on the balance sheet at their respective fair values. Our use of derivatives currently consists of interest rate swap agreements. The interest rate swap agreements were entered into to improve the predictability of cash flows from interest payments related to variable rate debt for the duration of the term loan and is not designated as a hedge for accounting purposes. Therefore, the change in the fair value of the derivative asset or liability is reflected in net income in the Consolidated Statements of Income (mark-to-market accounting). Cash flows from derivatives settled are reported as cash flow from operating activities.

Accounts receivable

Accounts receivable—Accounts receivable and contract receivables are primarily with public and private companies and governmental agencies located in the United States and Canada. Credit terms for payment of products and services are extended to customers in the normal course of business. Contract receivables are generally progress billings on projects, and as a result, are short term in nature. Generally, we require no collateral from our customers, but file statutory liens or stop notices on any construction projects when collection problems are anticipated. While a project is underway, we estimate the collectability of contract amounts at the same time that we estimate project costs. As discussed in Note 5 — “Revenue”, realization of the eventual cash collection may be recognized as adjustments to the contract revenue and profitability. We provide an allowance for credit losses to estimate losses from uncollectible accounts. Under this method an allowance is recorded based upon historical experience and management’s evaluation of, among other factors, current and reasonably supportable expected future economic conditions and the customer’s willingness or ability to pay. Receivables are written off in the period deemed uncollectible. The allowance for credit losses at December 31, 2023 and 2022 was $1.5 million and $2.0 million, respectively.

Significant revision in contract estimates

Significant revision in contract estimates We recognize revenue over time for contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. Under this method, the costs incurred to date as a percentage of total estimated costs are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. For projects that were in process at the end of the prior year, there can be a difference in revenue and profit that would have been recognized in the prior year had current year estimates of costs to complete been known at the end of the prior year. During the year ended December 31, 2023, certain contracts had revisions in cost estimates from those projected at December 31, 2022. This change in estimate resulted in a decrease in net income of $15.0 million, or $0.28 per share (basic and diluted) for the year ended December 31, 2023.

Customer concentration

Customer concentration — We operate in multiple industry segments encompassing the construction of commercial, utility, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year account for approximately 40.0% to 50.0% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the years ended December 31, 2023, 2022 and 2021, approximately 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue, and no one customer accounted for more than 10% of total revenue.

Property and equipment

Property and equipmentProperty and equipment are recorded at cost and are depreciated using the straight-line method over the estimated useful lives of the related assets, usually ranging from three to thirty years. Maintenance and repairs are charged to expense as incurred. Significant renewals and betterments are capitalized. At the time of retirement or other disposition of property and equipment, the cost and accumulated depreciation are removed from the accounts, and any resulting gain or loss is reflected in operating income.

We assess the recoverability of property and equipment whenever events or changes in business circumstances indicate that the carrying amount of the asset may not be fully recoverable. We perform an analysis to determine if an impairment exists. The amount of property and equipment impairment, if any, is measured based on fair value and is charged to operations in the period in which the impairment is determined by management. For the years ended December 31, 2023, 2022 and 2021, our management has not identified any material impairment of its property and equipment.

Depreciation

Depreciation — Effective January 1, 2022, we changed our estimates of the useful lives of certain equipment to better reflect the estimated periods during which these assets will remain in service. The estimated useful lives of equipment that previously ranged three to seven years were increased to a range of three to ten years. The effect of this change in estimate reduced depreciation expense by $19.3 million, increased net income by $16.1 million, and increased basic and diluted earnings per share by $0.30 for the year ended December 31, 2022.

Taxes collected from customers

Taxes collected from customersSales and use taxes collected from our customers are recorded on a net basis.

Share-based payments and stock-based compensation

Share-based payments and stock-based compensationIn May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Equity Incentive Plan (“2013 Equity Plan”). Detailed discussion of shares issued under the 2013 Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of Restricted Stock Units (“RSU”) and Performance Stock Units (“PSU”) to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

In May 2023, the shareholders approved and we adopted the Primoris Services Corporation 2023 Equity Incentive Plan (“2023 Equity Plan”). Detailed discussion of shares issued under the Equity Plan are included in Note 16 — “Deferred Compensation Agreements and Stock-Based Compensation” and in Note 19—“Stockholders’ Equity”. Such share issuances include grants of RSUs and PSUs to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.

Recently Issued Accounting Pronouncements

Recently Issued Accounting Pronouncements

In October 2021, the FASB issued ASU No.2021-08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” which changes the accounting for contract assets and liabilities acquired in a business combination by requiring an acquiring entity to measure contract assets and liabilities in accordance with FASB Accounting Standards Codification 606, Revenue from Contracts with Customers. This ASU is effective for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years with early adoption permitted. The amendments should be applied prospectively to business combinations occurring on or after the effective date. We adopted the new standard on January 1, 2023, on a prospective basis and it did not have a material impact on our consolidated financial position, results of operations or cash flows.

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 and it did not have a material impact 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. This ASU 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.

Other new pronouncements issued but not effective until after December 31, 2023, are not expected to have a material impact on our consolidated results of operations, financial position or cash flows.

XML 44 R30.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies (Tables)
12 Months Ended
Dec. 31, 2023
Summary of Significant Accounting Policies  
Schedule of reconciliation of cash, cash equivalents and restricted cash The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the Consolidated Statements of Cash Flows (in thousands):

December 31,

    

2023

    

2022

a

2021

    

2020

Cash and cash equivalents

$

217,778

$

248,692

$

200,512

$

326,744

Restricted cash included in prepaid expenses and other current assets

5,764

10,299

5,131

4,231

Total cash, cash equivalents and restricted cash shown in the consolidated statements of cash flows

$

223,542

$

258,991

$

205,643

$

330,975

XML 45 R31.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements (Tables)
12 Months Ended
Dec. 31, 2023
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 820, our financial assets and certain liabilities that are required to be measured at fair value at December 31, 2023 and 2022 (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 December 31, 2023:

Cash and cash equivalents

$

217,778

 

$

 

$

Interest rate swap

1,633

Liabilities as of December 31, 2023:

Contingent consideration

Assets as of December 31, 2022:

Cash and cash equivalents

248,692

 

 

Interest rate swap

1,235

Liabilities as of December 31, 2022:

Contingent consideration

$

$

$

925

XML 46 R32.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations (Tables)
12 Months Ended
Dec. 31, 2023
PLH Group Inc  
Acquisitions  
Summary of the cash paid for acquisitions

Purchase consideration (in thousands)

Total purchase consideration

$

472,193

Less cash and restricted cash acquired

(43,152)

Net cash paid

$

429,041

Summary of the identifiable assets acquired and liabilities assumed

Identifiable assets acquired and liabilities assumed (in thousands)

Cash, cash equivalents and restricted cash

$

43,152

Accounts receivable

74,739

Contract assets

74,700

Prepaid expenses and other current assets

10,858

Property, plant and equipment

51,824

Operating lease assets

16,340

Deferred tax asset

21,731

Intangible assets:

 

Customer relationships

77,300

Tradename

11,600

Other long-term assets

 

6,466

Accounts payable and accrued liabilities

(105,427)

Contract liabilities

(49,629)

Long-term debt (including current portion)

(3,313)

Noncurrent operating lease liabilities, net of current

(12,004)

Other long-term liabilities

(7,445)

Total identifiable net assets

210,892

Goodwill

261,301

Total purchase consideration

$

472,193

PLH and FIH  
Acquisitions  
Schedule of pro forma results (in thousands, except per share amounts):

Year Ended December 31,

    

2022

    

2021

(unaudited)

(unaudited)

Revenue

$

4,814,237

$

4,138,778

Income before provision for income taxes

149,125

79,421

Net income

124,537

60,543

Weighted average common shares outstanding:

Basic

 

53,200

 

52,674

Diluted

 

53,759

 

53,161

Earnings per share:

Basic

$

2.34

$

1.15

Diluted

2.32

1.14

FIH  
Acquisitions  
Summary of the cash paid for acquisitions

Purchase consideration (in thousands)

Total purchase consideration

$

615,249

Less cash and restricted cash acquired

(10,525)

Net cash paid

$

604,724

Summary of the identifiable assets acquired and liabilities assumed

Identifiable assets acquired and liabilities assumed (in thousands)

Cash and cash equivalents

$

10,525

Accounts receivable

54,337

Contract assets

32,343

Prepaid expenses and other current assets

483

Property, plant and equipment

56,128

Operating lease assets

13,105

Intangible assets:

 

Customer relationships

122,000

Tradename

4,400

Other long-term assets

 

6,976

Accounts payable and accrued liabilities

(29,838)

Contract liabilities

(2,256)

Long-term debt (including current portion)

(959)

Noncurrent operating lease liabilities, net of current

(10,975)

Other long-term liabilities

(7,581)

Total identifiable net assets

248,688

Goodwill

366,561

Total purchase consideration

$

615,249

XML 47 R33.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue (Tables)
12 Months Ended
Dec. 31, 2023
Revenue  
Schedule of contract assets

Contract assets consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Unbilled revenue

$

604,166

$

420,511

$

283,767

Retention receivable

202,358

174,149

124,990

Contract materials (not yet installed)

 

39,652

 

21,564

 

14,902

$

846,176

$

616,224

$

423,659

Schedule of contract liabilities

Contract liabilities consist of the following (in thousands):

December 31, 

December 31, 

December 31, 

    

2023

    

2022

    

2021

Deferred revenue

$

363,159

$

269,853

$

234,352

Accrued loss provision

 

3,317

 

6,094

 

6,060

$

366,476

$

275,947

$

240,412

Schedule of revenue disaggregation by various categories

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

For the year ended December 31, 2023

Segment

    

MSA

    

Non-MSA

    

Total

Utilities

$

1,809,349

$

570,881

$

2,380,230

Energy

289,948

3,045,131

3,335,079

Total

$

2,099,297

 

$

3,616,012

 

$

5,715,309

For the year ended December 31, 2022

Segment

MSA

Non-MSA

Total

Utilities

$

1,691,571

$

332,736

$

2,024,307

Energy

331,416

2,064,876

2,396,292

Total

$

2,022,987

 

$

2,397,612

 

$

4,420,599

For the year ended December 31, 2021

Segment

MSA

    

Non-MSA

    

Total

Utilities

$

1,364,995

 

$

292,962

 

$

1,657,957

Energy

238,854

1,600,821

1,839,675

Total

$

1,603,849

 

$

1,893,783

 

$

3,497,632

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

For the year ended December 31, 2023

Segment

    

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

391,882

$

1,472,815

$

515,533

$

2,380,230

Energy

2,230,905

583,876

520,298

3,335,079

Total

$

2,622,787

 

$

2,056,691

 

$

1,035,831

 

$

5,715,309

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

For the year ended December 31, 2022

Segment

Fixed-price

Unit-price

Cost reimbursable (1)

Total

Utilities

$

192,991

1,327,379

$

503,937

$

2,024,307

Energy

1,695,802

407,067

293,423

2,396,292

Total

$

1,888,793

 

$

1,734,446

 

$

797,360

 

$

4,420,599

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

For the year ended December 31, 2021

Segment

Fixed-price

    

Unit-price

    

Cost reimbursable (1)

    

Total

Utilities

$

125,640

 

$

1,146,316

 

$

386,001

 

$

1,657,957

Energy

1,127,988

310,974

400,713

1,839,675

Total

$

1,253,628

 

$

1,457,290

 

$

786,714

 

$

3,497,632

(1)Includes time and material and cost reimbursable plus fee contracts.
XML 48 R34.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment (Tables)
12 Months Ended
Dec. 31, 2023
Property and Equipment  
Summary of property and equipment

The following is a summary of property and equipment (in thousands):

    

December 31, 

    

2023

    

2022

Useful Life

Land and buildings

$

168,788

$

154,596

 

Buildings 30 Years

Leasehold improvements

 

22,864

 

21,349

 

Various*

Office equipment

 

26,470

 

23,659

 

3 - 5 Years

Construction equipment

 

664,838

 

717,419

 

3 - 10 Years

Solar equipment

23,552

23,552

25 years

Construction in progress

38,669

26,145

 

945,181

 

966,720

Less: accumulated depreciation and amortization

 

(469,252)

 

(472,861)

Property and equipment, net

$

475,929

$

493,859

* Leasehold improvements are depreciated over the shorter of the life of the leasehold improvement or the lease term.

XML 49 R35.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Intangible Assets (Tables)
12 Months Ended
Dec. 31, 2023
Goodwill and Intangible Assets  
Schedule of goodwill by reporting unit The change in goodwill by segment for 2023 and 2022 was as follows (in thousands):

Utilities

Energy

Total

Balance at December 31, 2021

462,905

118,759

581,664

Goodwill acquired during the period

253,379

36,765

290,144

Balance at December 31, 2022

716,284

155,524

871,808

Goodwill adjustments during the period

 

(12,822)

(1,336)

(14,158)

Balance at December 31, 2023

$

703,462

$

154,188

$

857,650

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

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

December 31, 2023

December 31, 2022

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

    

Gross Carrying
Amount

    

Accumulated
Amortization

    

Intangible assets, net

Tradenames

$

32,820

(29,399)

3,421

$

32,820

$

(25,611)

$

7,209

Customer relationships

 

301,927

(77,787)

224,140

 

301,927

 

(59,755)

 

242,172

Total

$

334,747

$

(107,186)

$

227,561

$

334,747

$

(85,366)

$

249,381

Schedule of estimated future amortization expense for intangible assets

Estimated future amortization expense for intangible assets as of December 31, 2023 is as follows (in thousands):

Estimated

Intangible

Amortization

For the Years Ending December 31, 

    

Expense

2024

$

19,701

2025

17,661

2026

 

16,141

2027

 

15,604

2028

 

14,381

Thereafter

 

144,073

$

227,561

XML 50 R36.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accounts Payable and Accrued Liabilities (Tables)
12 Months Ended
Dec. 31, 2023
Accounts Payable and Accrued Liabilities  
Summary of accrued liabilities

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

December 31, 

December 31, 

    

2023

    

2022

Payroll and related employee benefits

$

108,618

$

114,053

Current operating lease liability

96,411

72,565

Casualty insurance reserves

 

18,015

 

19,935

Corporate income taxes and other taxes

 

14,203

 

16,213

Other

 

26,245

 

23,071

$

263,492

$

245,837

XML 51 R37.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements (Tables)
12 Months Ended
Dec. 31, 2023
Credit Arrangements  
Schedule of long-term debt and credit facilities

Long-term debt and credit facilities consist of the following at December 31, 2023 (in thousands):

December 31, 

December 31, 

    

2023

    

2022

Term loan

$

874,128

$

933,188

Revolving credit facility

100,000

Commercial equipment notes

71,004

98,064

Mortgage notes

 

19,615

 

20,483

Total debt

964,747

1,151,735

Unamortized debt issuance costs

(6,475)

(8,283)

Total debt, net

$

958,272

$

1,143,452

Less: current portion

 

(72,903)

 

(78,137)

Long-term debt, net of current portion

$

885,369

$

1,065,315

Schedule of maturities of long-term debt

Scheduled maturities of long-term debt are as follows (in thousands):

    

Year Ending

December 31, 

2024

$

72,903

2025

 

75,545

2026

 

65,847

2027

 

734,485

2028

 

8,847

Thereafter

 

7,120

$

964,747

XML 52 R38.htm IDEA: XBRL DOCUMENT v3.24.0.1
Derivative Instruments (Tables)
12 Months Ended
Dec. 31, 2023
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 Consolidated Balance Sheets (in thousands):

    

    

    

December 31, 

    

December 31, 

Balance Sheet Location

2023

2022

Interest rate swap

 

Other current assets

$

$

1,235

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 Consolidated Statements of Income (in thousands):

Location of Gain

Year Ended December 31, 

    

Recognized on Derivatives

2023

    

2022

    

2021

Interest rate swap

 

Interest expense, net

$

5,335

$

4,078

$

838

XML 53 R39.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases (Tables)
12 Months Ended
Dec. 31, 2023
Leases  
Summary of components of lease expense

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

Year Ended December 31, 

2023

    

2022

    

2021

Operating lease expense (1)

$

112,170

$

76,761

$

80,974

________________________________________

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

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

December 31, 

December 31, 

    

2023

2022

Accrued liabilities

$

96,411

$

72,565

Noncurrent operating lease liabilities, net of current portion

 

263,454

 

130,787

$

359,865

$

203,352

Summary of future minimum lease payments under non-cancelable operating leases

Future Minimum

For the Years Ending December 31, 

Lease Payments

2024

    

$

112,768

2025

91,001

2026

80,453

2027

60,703

2028

37,136

Thereafter

24,501

Total lease payments

$

406,562

Less imputed interest

 

(46,697)

Total

$

359,865

Summary of other information related to operating leases

Other information related to operating leases is as follows (in thousands, except lease term and discount rate):

Year ended December 31, 

    

2023

    

2022

Cash paid for amounts included in the measurement of lease liabilities

Operating cash flows from operating leases

$

109,430

$

76,313

Weighted-average remaining lease term on operating leases (years)

4.44

4.07

Weighted-average discount rate on operating leases

5.64%

3.71%

XML 54 R40.htm IDEA: XBRL DOCUMENT v3.24.0.1
Reportable Segments (Tables)
12 Months Ended
Dec. 31, 2023
Reportable Segments  
Schedule of revenue and gross profit by segment

Segment Revenue

Revenue by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

% of

Total

Total

Total

Segment

    

Revenue

    

Revenue

    

Revenue

    

Revenue

 

Revenue

Revenue

Utilities

$

2,380,230

 

41.6%

$

2,024,307

 

45.8%

$

1,657,957

 

47.4%

Energy

3,335,079

58.4%

2,396,292

54.2%

1,839,675

52.6%

Total

$

5,715,309

 

100.0%

$

4,420,599

 

100.0%

$

3,497,632

 

100.0%

Segment Gross Profit

Gross profit by segment for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):

For the year ended December 31, 

2023

2022

2021

% of

% of

 

    

% of

Segment

Segment

Segment

Segment

    

Gross Profit

    

Revenue

    

Gross Profit

    

Revenue

Gross Profit

Revenue

Utilities

$

206,992

 

8.7%

$

210,672

 

10.4%

$

186,287

 

11.2%

Energy

380,499

11.4%

246,213

10.3%

230,373

12.5%

Total

$

587,491

 

10.3%

$

456,885

 

10.3%

$

416,660

 

11.9%

XML 55 R41.htm IDEA: XBRL DOCUMENT v3.24.0.1
Multiemployer Plans (Tables)
12 Months Ended
Dec. 31, 2023
Multiemployer Plans  
Schedule of the entity's contributions to different pension funds

Collective

 

FIP/RP

Bargaining

 

EIN /

Pension Protection Act

Status

Agreement

Contributions of the Company

 

Pension Plan

 Zone Status

Pending /

Surcharge

Expiration

(In Thousands)

 

Pension Fund Name

    

Number

    

2023

    

2022

    

Implemented

    

Imposed

    

Date

    

2023

    

2022

    

2021

 

Central Pension Fund of the International Union of Operating Engineers and Participating Employers

 

36-6052390/001

 

Green as of
January 31, 2023

 

Green as of
January 31, 2022

 

No

 

No

 

6/4/2026

$

6,150

$

5,592

$

4,985

Laborers Pension Trust Fund for Northern California

 

94-6277608/001

 

Green as of May 31, 2023

 

Green as of May 31, 2022

 

No

 

No

 

6/30/2027

 

5,198

 

3,699

 

3,943

Construction Laborers Pension Trust for Southern California

 

43-6159056/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/30/2026

 

5,162

 

3,595

 

3,254

Operating Engineer Trust Funds

95-6032478/001

Yellow as of June 30, 2023

Yellow as of June 30, 2022

No

No

6/30/2025

4,856

1,973

1,794

Pipeline Industry Benefit Fund

73-6146433/001

Green as of December 31, 2022

Green as of December 31, 2021

No

 

No

6/1/2023

4,363

495

496

Southern California Pipe Trades Trust Funds

 

51-6108443/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

8/31/2026

 

4,290

 

3,268

 

3,456

Minnesota Laborers Pension Fund

 

41-6159599/001

 

Green as of December 31, 2022

 

Green as of December 31, 2021

 

No

 

No

 

6/1/2025

 

3,579

3,749

3,299

 

Contributions to significant plans

33,598

22,371

21,227

 

Contributions to other multiemployer plans

 

28,637

 

23,792

 

18,443

 

Total contributions made

$

62,235

$

46,163

$

39,670

XML 56 R42.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation (Tables)
12 Months Ended
Dec. 31, 2023
Stock-Based Compensation  
Schedule of units activity

Nonvested RSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

604,787

$

27.88

Granted

355,644

27.83

Vested

(232,319)

26.91

Forfeited

(35,397)

28.61

Balance at December 31, 2023

692,715

28.14

Schedule of PSU activity

Nonvested PSUs

    

Units

Weighted Average Grant Date Fair Value per Unit

Balance at December 31, 2022

$

Granted

394,393

27.50

Vested

Forfeited

(59,455)

27.50

Balance at December 31, 2023

334,938

27.50

XML 57 R43.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes (Tables)
12 Months Ended
Dec. 31, 2023
Income Taxes  
Schedule of domestic and foreign components of income before income taxes

Income before provision for income taxes consists of the following (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

United States

$

158,137

$

133,564

$

140,307

Foreign

 

19,532

 

25,722

 

11,550

Total

$

177,669

$

159,286

$

151,857

Schedule of components of the provision for income taxes

The components of the provision for income taxes are as follows (in thousands):

    

Year Ended December 31, 

2023

    

2022

    

2021

Current provision

Federal

$

11,337

$

5,412

$

3,678

State

 

7,124

 

2,117

 

4,471

Foreign

 

3,705

 

4,041

 

2,405

22,166

11,570

10,554

Deferred provision (benefit)

Federal

 

28,634

 

12,645

 

22,607

State

 

1,412

 

(428)

 

2,372

Foreign

 

(688)

 

2,478

 

585

 

29,358

 

14,695

 

25,564

Total

$

51,524

$

26,265

$

36,118

Schedule of reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income

    

Year Ended December 31, 

2023

    

2022

    

2021

U.S. federal statutory income tax rate

 

21.0

%

21.0

%

21.0

%

State taxes, net of federal income tax impact

 

3.8

0.8

3.9

Tax credits

 

(0.7)

(1.9)

(1.1)

Income taxed at rates greater than U.S.

 

0.2

0.6

0.2

Nondeductible meals & entertainment

 

3.6

0.5

0.2

Nondeductible compensation

0.7

0.4

0.3

Capital loss utilization - release of valuation allowance

0.0

(5.8)

0.0

Other items

 

0.4

0.9

(0.7)

Effective tax rate

 

29.0

%

16.5

%

23.8

%

Schedule of tax effect of temporary differences that give rise to deferred income taxes

The tax effect of temporary differences that give rise to deferred income taxes are as follows (in thousands):

    

December 31, 

2023

    

2022

Deferred tax assets:

Accrued compensation

$

12,044

$

9,685

Accrued workers compensation

3,103

2,949

Net operating losses

41,819

46,843

Disallowed interest

8,227

4,439

Lease liabilities

72,363

36,372

Insurance reserves

 

6,430

 

5,200

Loss reserves

 

1,309

 

1,555

Tax credits

 

748

 

1,069

Capitalized research

11,522

5,127

Other

 

315

 

1,446

Total deferred tax assets

 

157,880

 

114,685

Deferred tax liabilities

Depreciation and amortization

 

(130,051)

 

(119,081)

Prepaid expenses and other

 

(3,672)

 

(2,760)

Lease assets

(73,516)

(36,865)

Total deferred tax liabilities

 

(207,239)

 

(158,706)

Valuation allowance

(10,206)

(13,080)

Net deferred tax liabilities

$

(59,565)

$

(57,101)

Schedule of reconciliation of the beginning and ending amounts and aggregate changes in the balance of unrecognized tax benefits

A reconciliation of the beginning, ending and aggregate changes in the gross balances of unrecognized tax benefits is as follows (in thousands):

    

December 31, 

2023

    

2022

    

2021

Beginning balance

$

10,196

$

1,337

$

1,553

Increases in balances for tax positions taken during the current year

 

120

 

120

 

288

(Decreases) increases in balances for tax positions taken during prior years

 

(687)

 

9,204

 

83

Settlements and effective settlements with tax authorities

(416)

Lapse of statute of limitations

 

(412)

 

(465)

 

(171)

Total

$

9,217

$

10,196

$

1,337

XML 58 R44.htm IDEA: XBRL DOCUMENT v3.24.0.1
Dividends and Earnings Per Share (Tables)
12 Months Ended
Dec. 31, 2023
Dividends and Earnings Per Share  
Schedule of cash dividends paid or declared

Declaration Date

    

Record Date

    

Date Paid

    

Amount Per Share

February 19, 2021

March 31, 2021

April 15, 2021

0.06

May 4, 2021

June 30, 2021

July 15, 2021

0.06

August 3, 2021

September 30, 2021

October 15, 2021

0.06

November 3, 2021

December 31, 2021

January 14, 2022

0.06

February 24, 2022

March 31, 2022

April 15, 2022

0.06

May 4, 2022

June 30, 2022

July 15, 2022

0.06

August 3, 2022

September 30, 2022

October 15, 2022

0.06

November 3, 2022

December 31, 2022

January 13, 2023

0.06

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

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 years ended December 31, 2023, 2022 and 2021 (in thousands, except per share amounts):

Year Ended December 31, 

 

2023

    

2022

    

2021

Numerator:

Net income

$

126,145

$

133,021

$

115,739

Denominator:

Weighted average shares for computation of basic earnings per share:

 

53,297

 

53,200

 

52,674

Dilutive effect of stock-based awards

 

926

 

559

 

487

Weighted average shares for computation of diluted earnings per share

 

54,223

 

53,759

 

53,161

Earnings per share:

Basic

$

2.37

$

2.50

$

2.19

Diluted

$

2.33

$

2.47

$

2.17

XML 59 R45.htm IDEA: XBRL DOCUMENT v3.24.0.1
Selected Quarterly Financial Information (Unaudited) (Tables)
12 Months Ended
Dec. 31, 2023
Selected Quarterly Financial Information (Unaudited)  
Schedule of selected unaudited quarterly consolidated financial information

Selected unaudited quarterly consolidated financial information is presented in the following tables (in thousands, except per share amounts):

Year Ended December 31, 2023

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

1,256,896

$

1,413,377

$

1,529,486

$

1,515,550

Gross profit

99,732

157,264

173,895

156,600

Net income

1,310

39,032

48,144

37,659

Earnings per share:

Basic earnings per share

$

0.02

$

0.73

$

0.90

$

0.71

Diluted earnings per share

0.02

0.72

0.89

0.69

Weighted average shares outstanding

Basic

 

53,184

 

53,301

 

53,339

53,360

Diluted

 

53,944

 

54,324

 

54,351

54,385

Year Ended December 31, 2022

    

1st

    

2nd

    

3rd

    

4th

Quarter

Quarter

Quarter

Quarter

Revenue

$

784,384

$

1,022,948

$

1,284,128

$

1,329,139

Gross profit

56,486

92,109

154,907

153,383

Net (loss) income

(1,674)

50,154

43,040

41,501

Earnings per share:

Basic (loss) earnings per share

$

(0.03)

$

0.94

$

0.81

$

0.78

Diluted (loss) earnings per share

(0.03)

0.93

0.80

0.77

Weighted average shares outstanding

Basic

 

53,240

 

53,263

 

53,181

53,120

Diluted

 

53,240

 

53,852

 

53,748

53,711

XML 60 R46.htm IDEA: XBRL DOCUMENT v3.24.0.1
Nature of Business (Details)
$ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
segment
Dec. 31, 2022
segment
Nature of Business    
Number of reportable segments | segment 2 3
Average project size | $ $ 3.0  
XML 61 R47.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Restricted Cash (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Summary of Significant Accounting Policies        
Cash and cash equivalents $ 217,778 $ 248,692 $ 200,512 $ 326,744
Restricted cash included in prepaid expense and other current assets $ 5,764 $ 10,299 $ 5,131 $ 4,231
Restricted Cash, Statement of Financial Position 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 consolidated statements of cash flows $ 223,542 $ 258,991 $ 205,643 $ 330,975
XML 62 R48.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details)
$ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
Accounts, Notes, Loans and Financing Receivable [Line Items]  
Facility term 1 year
Accounts receivable from securitization $ 25.0
Fees associated with accounts receivable securitization facility, included in interest expense 1.9
Sale of accounts receivable 75.0
Trade accounts receivables 112.2
Cash proceeds from facility 75.0
Maximum  
Accounts, Notes, Loans and Financing Receivable [Line Items]  
Accounts receivable from securitization $ 100.0
XML 63 R49.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Operating cycle (Details)
12 Months Ended
Dec. 31, 2023
Operating cycle  
Minimum liquidation period of assets in which significant working capital has been invested 1 year
XML 64 R50.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Foreign Operations (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Cash concentration        
Cash and cash equivalents $ 217,778 $ 248,692 $ 200,512 $ 326,744
Collective bargaining agreements        
Percentage of labor force subject to collective bargaining agreements 30.60%      
Insurance        
Self- insurance amount per claim $ 500 500    
Self-insurance reserve 47,600 45,700    
Accounts receivable        
Allowance for credit losses 1,500 $ 2,000    
Estimated net impact of change in estimate        
Decrease in net income from revision in contract estimates $ (15,000)      
Basic EPS impact to year $ (0.28)      
Diluted EPS impact to year $ (0.28)      
XML 65 R51.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Customer Concentration (Details) - Revenues - Customer concentration - Top ten customers
12 Months Ended
Dec. 31, 2023
item
customer
Dec. 31, 2022
Dec. 31, 2021
Customer concentration      
Number of top customers | customer 10    
Number of calendar years in which top customers typically generate minimum specified percentage of revenue | item 1,000    
Percentage of concentration risk 41.10% 46.10% 42.90%
Minimum      
Customer concentration      
Minimum percentage of revenues generated by top ten customers 40.00%    
Maximum      
Customer concentration      
Minimum percentage of revenues generated by top ten customers 50.00%    
XML 66 R52.htm IDEA: XBRL DOCUMENT v3.24.0.1
Summary of Significant Accounting Policies - Property and Equipment (Details) - USD ($)
$ / shares in Units, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Jan. 01, 2022
Property and equipment                        
Depreciation expense                 $ 85,200 $ 78,200 $ 87,200  
Net Income (Loss) $ 37,659 $ 48,144 $ 39,032 $ 1,310 $ 41,501 $ 43,040 $ 50,154 $ (1,674) $ 126,145 $ 133,021 $ 115,739  
Basic (in dollars per share) $ 0.71 $ 0.90 $ 0.73 $ 0.02 $ 0.78 $ 0.81 $ 0.94 $ (0.03) $ 2.37 $ 2.50 $ 2.19  
Diluted (in dollars per share) $ 0.69 $ 0.89 $ 0.72 $ 0.02 $ 0.77 $ 0.80 $ 0.93 $ (0.03) $ 2.33 $ 2.47 $ 2.17  
Minimum                        
Property and equipment                        
Estimated useful lives of the equipment 3 years               3 years   3 years 3 years
Maximum                        
Property and equipment                        
Estimated useful lives of the equipment 30 years               30 years   7 years 10 years
Change in Accounting Method Accounted for as Change in Estimate                        
Property and equipment                        
Depreciation expense                   $ (19,300)    
Net Income (Loss)                   $ 16,100    
Basic (in dollars per share)                   $ 0.30    
Diluted (in dollars per share)                   $ 0.30    
XML 67 R53.htm IDEA: XBRL DOCUMENT v3.24.0.1
Fair Value Measurements (Details) - USD ($)
$ in Thousands
12 Months Ended
Mar. 01, 2022
Dec. 31, 2023
Dec. 31, 2022
ASP      
Liabilities      
Contingent consideration $ 2,800    
Contingent consideration      
Earnout $ 3,200    
Performance targets period 1 year    
Estimated fair value of the contingent consideration $ 2,800    
Change in fair value of contingent consideration liability during year   $ 900  
Recurring | Quoted Prices in Active Markets for Identical Assets (Level 1)      
Assets      
Cash and cash equivalents   217,778 $ 248,692
Recurring | Interest rate swap | Significant Other Observable Inputs (Level2)      
Assets      
Derivative asset   $ 1,633 1,235
Recurring | Interest rate swap | Significant Unobservable Inputs (Level 3)      
Liabilities      
Contingent consideration     $ 925
XML 68 R54.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations - PLH and FIH (Details) - USD ($)
$ in Thousands
5 Months Ended 9 Months Ended 12 Months Ended
Aug. 01, 2022
Jan. 15, 2021
Dec. 31, 2022
Jun. 30, 2023
Dec. 31, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2021
Acquisitions                  
Total purchase consideration   $ 615,249              
Less cash and restricted cash acquired   (10,525)              
Net cash paid   604,724       $ (9,300) $ 478,438   $ 606,974
Identifiable assets acquired and liabilities assumed                  
Goodwill     $ 871,808   $ 581,664 857,650 871,808 $ 581,664 581,664
Transaction and related costs           $ 5,685 $ 20,054   16,399
PLH Group Inc                  
Acquisitions                  
Total purchase consideration $ 472,193                
Less cash and restricted cash acquired (43,152)                
Net cash paid 429,041                
Identifiable assets acquired and liabilities assumed                  
Cash, cash equivalents and restricted cash 43,152                
Accounts receivable 74,739                
Contract assets 74,700                
Prepaid expenses and other current assets 10,858                
Property, plant and equipment 51,824                
Operating lease assets 16,340                
Deferred tax assets 21,731                
Other long-term assets 6,466                
Accounts payable and accrued liabilities (105,427)                
Contract liabilities (49,629)                
Long-term debt (including current portion) (3,313)                
Noncurrent operating lease liabilities, net of current (12,004)                
Other long-term liabilities (7,445)                
Total identifiable net assets 210,892                
Goodwill 261,301                
Revenue since acquisition     367,900            
Gross profit since acquisition     38,200            
Transaction and related costs     $ 15,700            
Increase in contract liabilities       $ 24,100          
Change in deferred taxes       18,800          
Increase (decrease) to intangible assets       13,700          
Increase (decrease) to deferred tax assets       (9,300)          
Increase (decrease) in fixed assets       (11,700)          
Total purchase consideration 472,193                
Adjustments to goodwill       $ 34,800          
PLH Group Inc | Customer relationships                  
Identifiable assets acquired and liabilities assumed                  
Intangibles assets $ 77,300                
Amortization Period 15 years                
PLH Group Inc | Tradename                  
Identifiable assets acquired and liabilities assumed                  
Intangibles assets $ 11,600                
Amortization Period 1 year 10 months 24 days                
FIH                  
Acquisitions                  
Net cash paid   604,700              
Identifiable assets acquired and liabilities assumed                  
Cash, cash equivalents and restricted cash   10,525              
Accounts receivable   54,337              
Contract assets   32,343              
Prepaid expenses and other current assets   483              
Property, plant and equipment   56,128              
Operating lease assets   13,105              
Other long-term assets   6,976              
Accounts payable and accrued liabilities   (29,838)              
Contract liabilities   (2,256)              
Long-term debt (including current portion)   (959)              
Noncurrent operating lease liabilities, net of current   (10,975)              
Other long-term liabilities   (7,581)              
Total identifiable net assets   248,688              
Goodwill   366,561              
Total   $ 615,249              
Goodwill is expected to be deductible for income tax purposes (in years)   15 years              
Revenue since acquisition               266,600  
Gross profit since acquisition               $ 43,600  
Transaction and related costs                 $ 14,600
Discount (as a percent)                 15.00%
Increase (decrease) in working capital         (6,500)        
Increase (decrease) to intangible assets         4,000        
Adjustments to goodwill         $ (7,200)        
FIH | Customer relationships                  
Identifiable assets acquired and liabilities assumed                  
Intangibles assets   $ 122,000              
Useful life   19 years              
FIH | Tradename                  
Identifiable assets acquired and liabilities assumed                  
Intangibles assets   $ 4,400              
Useful life   1 year              
XML 69 R55.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations - B Comm Holdco, LLC (Details) - USD ($)
$ in Thousands
12 Months Ended
Jun. 08, 2022
Jan. 15, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Acquisitions          
Total purchase consideration   $ 615,249      
Net cash paid   $ 604,724 $ (9,300) $ 478,438 $ 606,974
Preliminary estimated fair values          
Goodwill     $ 857,650 $ 871,808 $ 581,664
B Comm Holdco, LLC          
Acquisitions          
Net cash paid $ 36,000        
Goodwill is expected to be deductible for income tax purposes (in years) 15 years        
Preliminary estimated fair values          
Estimated fair values of the assets acquired and liabilities assumed, fixed assets $ 4,800        
Estimated fair values of the assets acquired and liabilities assumed, working capital 13,200        
Intangible assets 10,200        
Goodwill $ 10,000        
XML 70 R56.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations - Alberta Screw Piles, Ltd (Details) - USD ($)
$ in Thousands
Mar. 01, 2022
Jan. 15, 2021
Dec. 31, 2023
Mar. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Acquisitions            
Total purchase consideration   $ 615,249        
Preliminary estimated fair values            
Goodwill     $ 857,650   $ 871,808 $ 581,664
ASP            
Acquisitions            
Total purchase consideration $ 4,100          
Earnout $ 3,200          
Performance targets period 1 year          
Estimated fair value of the contingent consideration $ 2,800          
Preliminary estimated fair values            
Estimated fair values of the assets acquired and liabilities assumed, fixed assets and working capital       $ 2,600    
Goodwill       $ 4,800    
Goodwill expected to be deductible rate       5.00%    
XML 71 R57.htm IDEA: XBRL DOCUMENT v3.24.0.1
Business Combinations - Pro Forma Information (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
12 Months Ended
Dec. 31, 2022
Dec. 31, 2021
Pro forma results    
Tax rate 16.50% 23.80%
PLH and FIH    
Pro forma results    
Revenue $ 4,814,237 $ 4,138,778
Income before provision for income taxes 149,125 79,421
Net Income $ 124,537 $ 60,543
Weighted average common shares outstanding:    
Basic (in shares) 53,200 52,674
Diluted (in shares) 53,759 53,161
Earnings per share:    
Basic (in dollars per share) $ 2,340 $ 1,150
Diluted (in dollars per share) $ 2,320 $ 1,140
XML 72 R58.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Performance obligations (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue expected timing                      
Revenue $ 1,515,550 $ 1,529,486 $ 1,413,377 $ 1,256,896 $ 1,329,139 $ 1,284,128 $ 1,022,948 $ 784,384 $ 5,715,309 $ 4,420,599 $ 3,497,632
Remaining performance obligations 5,400,000               5,400,000    
Revenue recognized from performance obligations satisfied in previous periods                 1,200 3,300  
Amount of contract modifications included in the expected contract value. $ 203,500               203,500    
Amount of unapproved contract modifications recognized as revenue on a cumulative catch-up basis                 175,700    
Revenue recognized over time                      
Revenue expected timing                      
Revenue                 $ 3,900,000 $ 2,700,000 $ 2,100,000
XML 73 R59.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Performance obligations - Details (Details)
Dec. 31, 2023
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2024-01-01  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 1 year
Percentage of remaining performance obligation expected to be recognized in period 53.90%
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Start Date [Axis]: 2025-01-01 | Minimum  
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-01-01 | Maximum  
Revenue expected timing  
Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction 18 months
XML 74 R60.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Contract assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue      
Unbilled revenue $ 604,166 $ 420,511 $ 283,767
Retention receivable 202,358 174,149 124,990
Contract materials (not yet installed) 39,652 21,564 14,902
Contract assets 846,176 $ 616,224 $ 423,659
Increase (decrease) in contract assets $ 230,000    
XML 75 R61.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Contract liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenue      
Deferred revenue $ 363,159 $ 269,853 $ 234,352
Accrued loss provision 3,317 6,094 6,060
Contract liabilities 366,476 275,947 $ 240,412
Increase in contract liabilities 90,500    
Revenue recognized included in contract liability at beginning of period $ 232,900 $ 220,900  
XML 76 R62.htm IDEA: XBRL DOCUMENT v3.24.0.1
Revenue - Disaggregation of revenue by customer type and contract type (Details) - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Disaggregation of Revenue                      
Revenue $ 1,515,550 $ 1,529,486 $ 1,413,377 $ 1,256,896 $ 1,329,139 $ 1,284,128 $ 1,022,948 $ 784,384 $ 5,715,309 $ 4,420,599 $ 3,497,632
Fixed price                      
Disaggregation of Revenue                      
Revenue                 2,622,787 1,888,793 1,253,628
Unit price                      
Disaggregation of Revenue                      
Revenue                 2,056,691 1,734,446 1,457,290
Cost reimbursable                      
Disaggregation of Revenue                      
Revenue                 1,035,831 797,360 786,714
MSA                      
Disaggregation of Revenue                      
Revenue                 2,099,297 2,022,987 1,603,849
Non-MSA                      
Disaggregation of Revenue                      
Revenue                 3,616,012 2,397,612 1,893,783
Utilities                      
Disaggregation of Revenue                      
Revenue                 2,380,230 2,024,307 1,657,957
Utilities | Fixed price                      
Disaggregation of Revenue                      
Revenue                 391,882 192,991 125,640
Utilities | Unit price                      
Disaggregation of Revenue                      
Revenue                 1,472,815 1,327,379 1,146,316
Utilities | Cost reimbursable                      
Disaggregation of Revenue                      
Revenue                 515,533 503,937 386,001
Utilities | MSA                      
Disaggregation of Revenue                      
Revenue                 1,809,349 1,691,571 1,364,995
Utilities | Non-MSA                      
Disaggregation of Revenue                      
Revenue                 570,881 332,736 292,962
Energy                      
Disaggregation of Revenue                      
Revenue                 3,335,079 2,396,292 1,839,675
Energy | Fixed price                      
Disaggregation of Revenue                      
Revenue                 2,230,905 1,695,802 1,127,988
Energy | Unit price                      
Disaggregation of Revenue                      
Revenue                 583,876 407,067 310,974
Energy | Cost reimbursable                      
Disaggregation of Revenue                      
Revenue                 520,298 293,423 400,713
Energy | MSA                      
Disaggregation of Revenue                      
Revenue                 289,948 331,416 238,854
Energy | Non-MSA                      
Disaggregation of Revenue                      
Revenue                 $ 3,045,131 $ 2,064,876 $ 1,600,821
XML 77 R63.htm IDEA: XBRL DOCUMENT v3.24.0.1
Property and Equipment (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Jan. 01, 2022
Property and equipment        
Gross property and equipment $ 945,181 $ 966,720    
Less: accumulated depreciation and amortization (469,252) (472,861)    
Property and equipment, net 475,929 493,859    
Depreciation $ 85,200 78,200 $ 87,200  
Minimum        
Property and equipment        
Useful Life 3 years   3 years 3 years
Maximum        
Property and equipment        
Useful Life 30 years   7 years 10 years
Land and buildings        
Property and equipment        
Gross property and equipment $ 168,788 154,596    
Useful Life 30 years      
Leasehold improvements        
Property and equipment        
Gross property and equipment $ 22,864 21,349    
Office equipment        
Property and equipment        
Gross property and equipment $ 26,470 23,659    
Office equipment | Minimum        
Property and equipment        
Useful Life 3 years      
Office equipment | Maximum        
Property and equipment        
Useful Life 5 years      
Construction equipment        
Property and equipment        
Gross property and equipment $ 664,838 717,419    
Construction equipment | Minimum        
Property and equipment        
Useful Life 3 years      
Construction equipment | Maximum        
Property and equipment        
Useful Life 10 years      
Solar equipment        
Property and equipment        
Gross property and equipment $ 23,552 23,552    
Useful Life 25 years      
Construction in progress        
Property and equipment        
Gross property and equipment $ 38,669 $ 26,145    
XML 78 R64.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Intangible Assets - Goodwill (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Goodwill      
Goodwill, Beginning Balance $ 871,808 $ 581,664  
Goodwill adjustments during the period (14,158)    
Goodwill acquired during the period   290,144  
Goodwill, Ending Balance 857,650 871,808 $ 581,664
Goodwill impairment 0 0 0
Goodwill changes 14,158    
Utilities      
Goodwill      
Goodwill, Beginning Balance 716,284 462,905  
Goodwill adjustments during the period (12,822)    
Goodwill acquired during the period   253,379  
Goodwill, Ending Balance 703,462 716,284 462,905
Goodwill changes 12,822    
Energy      
Goodwill      
Goodwill, Beginning Balance 155,524 118,759  
Goodwill adjustments during the period (1,336)    
Goodwill acquired during the period   36,765  
Goodwill, Ending Balance 154,188 $ 155,524 $ 118,759
Goodwill changes $ 1,336    
XML 79 R65.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Intangible Assets - Intangible Assets (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Intangible assets      
Gross Carrying Amount $ 334,747 $ 334,747  
Accumulated Amortization (107,186) (85,366)  
Intangible assets, net 227,561 249,381  
Amortization expense of intangible assets 21,800 20,900 $ 18,300
Tradenames      
Intangible assets      
Gross Carrying Amount 32,820 32,820  
Accumulated Amortization (29,399) (25,611)  
Intangible assets, net 3,421 7,209  
Customer relationships      
Intangible assets      
Gross Carrying Amount 301,927 301,927  
Accumulated Amortization (77,787) (59,755)  
Intangible assets, net $ 224,140 $ 242,172  
XML 80 R66.htm IDEA: XBRL DOCUMENT v3.24.0.1
Goodwill and Intangible Assets - Future Amortization (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Estimated future amortization expense for intangible assets    
2024 $ 19,701  
2025 17,661  
2026 16,141  
2027 15,604  
2028 14,381  
Thereafter 144,073  
Intangible assets, net $ 227,561 $ 249,381
XML 81 R67.htm IDEA: XBRL DOCUMENT v3.24.0.1
Accounts Payable and Accrued Liabilities (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Accounts Payable and Accrued Liabilities    
Retention amounts included in accounts payable $ 24,700 $ 21,500
Accrued liabilities    
Payroll and related employee benefits 108,618 114,053
Current operating lease liability 96,411 72,565
Casualty insurance reserves 18,015 19,935
Corporate income taxes and other taxes 14,203 16,213
Other 26,245 23,071
Total accrued liabilities $ 263,492 $ 245,837
XML 82 R68.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Jan. 15, 2021
Credit Agreements      
Total debt $ 964,747 $ 1,151,735  
Unamortized debt issuance costs (6,475) (8,283)  
Total debt, net 958,272 1,143,452  
Less: current portion (72,903) (78,137)  
Long-term debt, net of current portion 885,369 1,065,315  
Term loan      
Credit Agreements      
Total debt 874,128 933,188  
Total debt, net     $ 592,500
Revolving credit facility      
Credit Agreements      
Total debt   100,000  
Commercial equipment notes      
Credit Agreements      
Total debt 71,004 98,064  
Mortgage notes      
Credit Agreements      
Total debt $ 19,615 $ 20,483  
XML 83 R69.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements - Scheduled maturities of long-term debt (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Scheduled maturities of long-term debt    
2024 $ 72,903  
2025 75,545  
2026 65,847  
2027 734,485  
2028 8,847  
Thereafter 7,120  
Total debt $ 964,747 $ 1,151,735
XML 84 R70.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements - Narratives (Details) - USD ($)
$ in Thousands
12 Months Ended
Aug. 01, 2022
Jan. 15, 2021
Sep. 13, 2018
Aug. 03, 2018
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Jan. 31, 2023
Sep. 29, 2021
Sep. 29, 2017
Credit Agreements                    
Weighted average interest rate (as a percent)         6.80% 6.20%        
Payments on long-term debt         $ (96,987) $ (86,769) $ (113,851)      
Aggregate principal amount         958,272 1,143,452        
Unamortized debt issuance costs         (6,475) (8,283)        
Interest rate swap                    
Credit Agreements                    
Notional Amount         300,000 121,700        
Credit Agreement.                    
Credit Agreements                    
Potential increase per the agreement       $ 75,000            
Percentage of credit agreement, threshold restriction of total assets 20.00%                  
Prepayment to be paid on debt $ 5,000                  
Letters of credit outstanding         51,600          
Debt issuance costs           6,500        
Loss on Extinguishment of debt           $ (800)        
Available borrowing capacity         273,400          
Credit Agreement. | Federal funds rate                    
Credit Agreements                    
Basis spread on variable rate (as a percent) 0.50%                  
Revolving credit facility                    
Credit Agreements                    
Maximum borrowing capacity $ 325,000                 $ 200,000
Borrowings outstanding         $ 0          
Increase in loan availability 200,000                  
Term loan                    
Credit Agreements                    
Principal amount 945,000               $ 220,000  
Interest rate swap agreement     75.00%              
Derivative fixed interest rate (as a percent)     2.89%         4.095%    
Interest margin               2.25%    
Interest Rate Swap Agreement Amount of Debt Outstanding In Which Interest Exchanged               $ 300,000    
Aggregate principal amount   $ 592,500                
Increase in loan availability 439,500 $ 400,000                
Quarterly principal payment $ 11,800                  
Commercial letters of credit                    
Credit Agreements                    
Maximum borrowing capacity                   $ 200,000
Mortgage notes | Minimum                    
Credit Agreements                    
Interest rate (as a percent)             4.21%      
Mortgage notes | Maximum                    
Credit Agreements                    
Interest rate (as a percent)             4.50%      
Commercial Equipment Notes | Minimum                    
Credit Agreements                    
Interest rate (as a percent)         1.60%          
Commercial Equipment Notes | Maximum                    
Credit Agreements                    
Interest rate (as a percent)         6.28%          
XML 85 R71.htm IDEA: XBRL DOCUMENT v3.24.0.1
Credit Arrangements- Canadian Credit Facilities (Details)
$ in Millions
Dec. 31, 2023
CAD ($)
Canadian Credit Facility  
Credit Agreements  
Maximum borrowing capacity $ 14.0
Available borrowing capacity 13.1
Borrowings outstanding 0.0
Foreign letters of credit  
Credit Agreements  
Letters of credit outstanding $ 0.9
XML 86 R72.htm IDEA: XBRL DOCUMENT v3.24.0.1
Derivative Instruments (Details)
$ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
instrument
Jan. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Sep. 13, 2018
USD ($)
Derivative Instruments        
Number of instruments used for trading | instrument 0      
Interest rate swap        
Derivative Instruments        
Notional Amount $ 300.0   $ 121.7  
Interest rate swap | First agreement        
Derivative Instruments        
Notional Amount 115.5     $ 165.0
Interest rate swap | Second agreement        
Derivative Instruments        
Notional Amount $ 300.0 $ 300.0    
XML 87 R73.htm IDEA: XBRL DOCUMENT v3.24.0.1
Derivative Instruments - Derivative contract and instruments (Details) - Interest rate swap - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Derivative Instruments      
Derivative assets, noncurrent $ 1,633    
Derivative Asset, Noncurrent, Statement of Financial Position [Extensible Enumeration] Other Assets, Noncurrent Other Assets, Noncurrent  
Asset Derivatives   $ 1,235  
Derivative Asset, Statement of Financial Position [Extensible Enumeration] Prepaid Expense and Other Assets, Current Prepaid Expense and Other Assets, Current  
Amount of (gain) loss recognized on derivatives, net $ 5,335 $ 4,078 $ 838
Derivative, Gain (Loss), Statement of Income or Comprehensive Income [Extensible Enumeration] Interest Income (Expense), Nonoperating, Net Interest Income (Expense), Nonoperating, Net Interest Income (Expense), Nonoperating, Net
XML 88 R74.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Components of Lease Expense and Operating Lease Liabilities (Details) - USD ($)
$ in Thousands
12 Months Ended
Jun. 22, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Options to extend leases   true    
Aggregate sales price, net of closing costs   $ 63,695 $ 41,302 $ 49,548
Gain on sale and leaseback transaction     (40,084)  
Components of lease expense        
Operating lease expense   112,170 76,761 $ 80,974
Operating lease liabilities        
Accrued liabilities   $ 96,411 $ 72,565  
Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]   Accrued Liabilities, Current Accrued Liabilities, Current  
Noncurrent operating lease liabilities, net of current portion   $ 263,454 $ 130,787  
Operating lease liabilities   $ 359,865 $ 203,352  
Land, buildings and improvements        
Aggregate sales price, net of closing costs $ 49,900      
Initial term 3 years      
Aggregate initial annual rent payment $ 1,200      
Percentage of annual rent increases 3.00%      
Gain on sale and leaseback transaction $ (40,100)      
Maximum        
Renewal term   5 years    
XML 89 R75.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details) - USD ($)
$ in Thousands
Dec. 31, 2023
Dec. 31, 2022
Future minimum lease payments under non-cancelable operating leases    
2024 $ 112,768  
2025 91,001  
2026 80,453  
2027 60,703  
2028 37,136  
Thereafter 24,501  
Total lease payments 406,562  
Less imputed interest (46,697)  
Total $ 359,865 $ 203,352
XML 90 R76.htm IDEA: XBRL DOCUMENT v3.24.0.1
Leases - Other Information Related to Operating Leases (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Cash paid for amounts included in the measurement of lease liabilities    
Operating cash flows from operating leases $ 109,430 $ 76,313
Weighted-average remaining lease term on operating leases (years) 4 years 5 months 8 days 4 years 25 days
Weighted-average discount rate on operating leases 5.64% 3.71%
XML 91 R77.htm IDEA: XBRL DOCUMENT v3.24.0.1
Commitments and Contingencies - Legal (Details) - USD ($)
$ in Billions
Dec. 31, 2023
Dec. 31, 2022
Commitments and Contingencies.    
Bid and completion bonds issued and outstanding $ 5.9 $ 4.3
Remaining performance obligation on the bonded projects. $ 2.7 $ 1.7
XML 92 R78.htm IDEA: XBRL DOCUMENT v3.24.0.1
Reportable Segments (Details)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
USD ($)
Sep. 30, 2023
USD ($)
Jun. 30, 2023
USD ($)
Mar. 31, 2023
USD ($)
Dec. 31, 2022
USD ($)
Sep. 30, 2022
USD ($)
Jun. 30, 2022
USD ($)
Mar. 31, 2022
USD ($)
Dec. 31, 2023
USD ($)
segment
Dec. 31, 2022
USD ($)
segment
Dec. 31, 2021
USD ($)
Segment reporting information                      
Number of reportable segments | segment                 2 3  
Revenue $ 1,515,550 $ 1,529,486 $ 1,413,377 $ 1,256,896 $ 1,329,139 $ 1,284,128 $ 1,022,948 $ 784,384 $ 5,715,309 $ 4,420,599 $ 3,497,632
% of Total Revenue                 1.00% 1.00% 1.00%
Gross Profit $ 156,600 $ 173,895 $ 157,264 $ 99,732 $ 153,383 $ 154,907 $ 92,109 $ 56,486 $ 587,491 $ 456,885 $ 416,660
% of Segment Revenue                 0.103% 0.103% 0.119%
Utilities                      
Segment reporting information                      
Revenue                 $ 2,380,230 $ 2,024,307 $ 1,657,957
% of Total Revenue                 0.416% 0.458% 0.474%
Gross Profit                 $ 206,992 $ 210,672 $ 186,287
% of Segment Revenue                 0.087% 0.104% 0.112%
Energy                      
Segment reporting information                      
Revenue                 $ 3,335,079 $ 2,396,292 $ 1,839,675
% of Total Revenue                 0.584% 0.542% 0.526%
Gross Profit                 $ 380,499 $ 246,213 $ 230,373
% of Segment Revenue                 0.114% 0.103% 0.125%
XML 93 R79.htm IDEA: XBRL DOCUMENT v3.24.0.1
Reportable Segments - Revenue and Total Assets by Geographic Area (Details)
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Revenues and total assets by geographic area      
% of Revenue 1.00% 1.00% 1.00%
Non-United States      
Revenues and total assets by geographic area      
% of Revenue 5.80% 6.70% 4.50%
% of total assets 3.90% 4.20%  
XML 94 R80.htm IDEA: XBRL DOCUMENT v3.24.0.1
Multiemployer Plans (Details)
$ in Thousands
12 Months Ended
Dec. 31, 2023
USD ($)
item
Dec. 31, 2022
USD ($)
Dec. 31, 2021
USD ($)
Multiemployer plans      
Number of pension plans in which annual contribution was made by the entity during last three years | item 50    
Contributions to significant plans $ 33,598 $ 22,371 $ 21,227
Contributions to other multiemployer plans 28,637 23,792 18,443
Total contributions made 62,235 46,163 39,670
Central Pension Fund of the International Union of Operating Engineers and Participating Employers      
Multiemployer plans      
Contributions to significant plans 6,150 5,592 4,985
Pipeline Industry Benefit Fund      
Multiemployer plans      
Contributions to significant plans 4,363 495 496
Southern California Pipe Trades Trust Funds      
Multiemployer plans      
Contributions to significant plans 4,290 3,268 3,456
Minnesota Laborers Pension Fund      
Multiemployer plans      
Contributions to significant plans 3,579 3,749 3,299
Construction Laborers Pension Trust for Southern California      
Multiemployer plans      
Contributions to significant plans 5,162 3,595 3,254
Operating Engineer Trust Funds      
Multiemployer plans      
Contributions to significant plans 4,856 1,973 1,794
Laborers Pension Trust Fund For Northern California One      
Multiemployer plans      
Contributions to significant plans $ 5,198 $ 3,699 $ 3,943
XML 95 R81.htm IDEA: XBRL DOCUMENT v3.24.0.1
Employee Benefit Plans (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Employee Benefit Plans      
Deferred compensation liability $ 300    
Deferred compensation assets 300    
United States | 401(k) Plan      
Employee Benefit Plans      
Employer discretionary contributions 0 $ 0 $ 0
Employer's contribution $ 16,400 $ 16,600 $ 11,600
XML 96 R82.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation (Details) - shares
shares in Millions
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Primoris Long Term Retention Plan      
Deferred compensation agreements      
Percentage of average market closing prices used in determining number of common stock that could be purchased by participants 75.00% 75.00% 75.00%
2023 Equity Plan      
Deferred compensation agreements      
Common stock available for grants 6.5    
Remaining common stock available for grant 6.2    
XML 97 R83.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Restricted Stock Units (Details) - USD ($)
$ / shares in Units, $ in Millions
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Weighted Average Grant Date Fair Value per Unit      
Compensation expense recognized $ 11.8 $ 7.4 $ 10.5
RSUs | Year 1      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting percentage 25.00%    
RSUs | Year 2      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting percentage 25.00%    
RSUs | Year 3      
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]      
Vesting percentage 50.00%    
Equity Plans, 2013 and 2023 | RSUs      
Units      
Beginning balance, Units 604,787,000    
Granted, Units 355,644,000 269,324  
Vested, Units (232,319,000)    
Forfeited, Units (35,397,000)    
Ending balance, Units 692,715,000 604,787,000  
Weighted Average Grant Date Fair Value per Unit      
Beginning Balance, Weighted Average Grant Date Fair Value per Unit $ 27,880    
Granted, Weighted Average Grant Date Fair Value per Unit 27,830 $ 25.22  
Vested, Weighted Average Grant Date Fair Value per Unit 26,910    
Forfeited, Weighted Average Grant Date Fair Value per Unit 28,610    
Ending Balance, Weighted Average Grant Date Fair Value per Unit $ 28,140 $ 27,880  
Total fair value of Units vested $ 6.5 $ 4.5 $ 4.6
Unrecognized compensation expense $ 10.1    
Period to recognize unrecognized compensation expense 1 year 11 months 1 day    
XML 98 R84.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stock-Based Compensation - Performance Stock Units (Details) - PSUs
$ / shares in Units, $ in Millions
12 Months Ended
Dec. 31, 2023
USD ($)
$ / shares
shares
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Award vesting period 3 years
Units  
Beginning balance, Units | shares 0
Granted, Units | shares 394,393
Vested, Units | shares 0
Forfeited, Units | shares (59,455)
Ending balance, Units | shares 334,938
Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]  
Beginning Balance, Weighted Average Grant Date Fair Value per Unit | $ / shares $ 0
Granted, Weighted Average Grant Date Fair Value per Unit | $ / shares 27.50
Vested, Weighted Average Grant Date Fair Value per Unit | $ / shares 0
Forfeited, Weighted Average Grant Date Fair Value per Unit | $ / shares 27.50
Ending Balance, Weighted Average Grant Date Fair Value per Unit | $ / shares $ 27.50
Unrecognized compensation expense | $ $ 6.6
Period to recognize unrecognized compensation expense 2 years 2 months 1 day
Minimum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Earned award, percentage of target 0.00%
Maximum  
Share-based Compensation Arrangement by Share-based Payment Award [Line Items]  
Earned award, percentage of target 200.00%
XML 99 R85.htm IDEA: XBRL DOCUMENT v3.24.0.1
Income Taxes (Details) - USD ($)
$ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Dec. 31, 2020
Domestic and foreign components of income before income taxes        
United States $ 158,137 $ 133,564 $ 140,307  
Foreign 19,532 25,722 11,550  
Current provision        
Federal 11,337 5,412 3,678  
State 7,124 2,117 4,471  
Foreign 3,705 4,041 2,405  
Total 22,166 11,570 10,554  
Deferred provision (benefit)        
Federal 28,634 12,645 22,607  
State 1,412 (428) 2,372  
Foreign (688) 2,478 585  
Total $ 29,358 $ 14,695 $ 25,564  
Reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income        
U.S. federal statutory income tax rate (as a percent) 21.00% 21.00% 21.00%  
State taxes, net of federal income tax impact (as a percent) 3.80% 0.80% 3.90%  
Tax credits (as a percent) (0.70%) (1.90%) (1.10%)  
Income taxed at rates greater than U.S. (as a percent) 0.20% 0.60% 0.20%  
Nondeductible meals & entertainment (as a percent) 3.60% 0.50% 0.20%  
Nondeductible compensation (as a percent) 0.70% 0.40% 0.30%  
Capital loss utilization - release of valuation allowance 0.00% (5.80%) 0.00%  
Other items (as a percent) 0.40% 0.90% (0.70%)  
Effective tax rate (as a percent) 29.00% 16.50% 23.80%  
Deferred tax assets:        
Accrued compensation $ 12,044 $ 9,685    
Accrued workers compensation 3,103 2,949    
Net operating losses 41,819 46,843    
Disallowed interest 8,227 4,439    
Lease liabilities 72,363 36,372    
Insurance reserves 6,430 5,200    
Loss reserves 1,309 1,555    
Tax credits 748 1,069    
Capitalized research 11,522 5,127    
Other 315 1,446    
Total deferred tax assets 157,880 114,685    
Deferred tax liabilities        
Depreciation and amortization (130,051) (119,081)    
Prepaid expense and other (3,672) (2,760)    
Lease assets (73,516) (36,865)    
Total deferred tax liabilities (207,239) (158,706)    
Valuation allowance (10,206) (13,080)    
Net deferred tax liabilities (59,565) (57,101)    
Net operating loss carryforward 531,700      
Change in valuation allowance $ (2,900)      
Expiration period for state net operating loss carryforwards (in years) 20 years      
Capital loss carryforward $ 700      
Reasonably possible decrease in unrecognized tax benefits $ 300      
Minimum period of statute of limitations of state and foreign jurisdictions 3 years      
Maximum period of statute of limitations of state and foreign jurisdictions 5 years      
Deferred FICA tax payments reserve   21,700   $ 42,000
Income Taxes Receivable   6,300    
Deferred Tax Assets, Net of Valuation Allowance $ 157,880 114,685    
Tax Credit Carryforward, Amount 700      
Reconciliation and aggregate changes for unrecognized tax benefits        
Beginning balance 10,196 1,337 $ 1,553  
Increases in balances for tax positions taken during the current year 120 120 288  
(Decreases) increases in balances for tax positions taken during prior years (687)      
Increases in balances for tax positions taken during prior years   9,204 83  
Settlements and effective settlements with tax authorities     (416)  
Lapse of statute of limitations (412) (465) (171)  
Total $ 9,217 $ 10,196 $ 1,337  
Canada        
Reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income        
U.S. federal statutory income tax rate (as a percent) 23.00%      
Minimum        
Deferred tax liabilities        
Tax Credit Carry Forward, Expiration Period 10 years      
Maximum        
Deferred tax liabilities        
Tax Credit Carry Forward, Expiration Period 20 years      
XML 100 R86.htm IDEA: XBRL DOCUMENT v3.24.0.1
Dividends and Earnings Per Share (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Nov. 02, 2023
Aug. 02, 2023
May 03, 2023
Feb. 22, 2023
Nov. 03, 2022
Aug. 03, 2022
May 04, 2022
Feb. 24, 2022
Nov. 03, 2021
Aug. 03, 2021
May 04, 2021
Feb. 19, 2021
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Earnings Per Share                                              
Cash dividend declared (in dollars per share) $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06 $ 0.06                 $ 0.24 $ 0.24 $ 0.24
Numerator:                                              
Net Income (Loss)                         $ 37,659 $ 48,144 $ 39,032 $ 1,310 $ 41,501 $ 43,040 $ 50,154 $ (1,674) $ 126,145 $ 133,021 $ 115,739
Denominator:                                              
Weighted average shares for computation of basic earnings per share                         53,360 53,339 53,301 53,184 53,120 53,181 53,263 53,240 53,297 53,200 52,674
Dilutive effect of stock-based awards                                         926 559 487
Weighted average shares for computation of diluted earnings per share                         54,385 54,351 54,324 53,944 53,711 53,748 53,852 53,240 54,223 53,759 53,161
Earnings per share:                                              
Basic earnings per share (in dollars per share)                         $ 0.71 $ 0.90 $ 0.73 $ 0.02 $ 0.78 $ 0.81 $ 0.94 $ (0.03) $ 2.37 $ 2.50 $ 2.19
Diluted earnings per share (in dollars per share)                         $ 0.69 $ 0.89 $ 0.72 $ 0.02 $ 0.77 $ 0.80 $ 0.93 $ (0.03) $ 2.33 $ 2.47 $ 2.17
XML 101 R87.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity (Details) - USD ($)
$ / shares in Units, $ in Thousands
12 Months Ended
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Common Stock      
Common stock, shares authorized 90,000,000 90,000,000  
Common stock, par value (in dollars per share) $ 0.1000 $ 0.1000  
Common stock, shares issued 53,366,327 53,124,899  
Common stock, shares outstanding 53,366,327 53,124,899  
Period of restriction on trade for shares issued to non-employee members of the board of directors under the Primoris Long-term Retention Plan   1 year  
Proceeds from issuance of common stock $ 681 $ 585 $ 178,707
Compensation expense recognized $ 11,800 $ 7,400 $ 10,500
Preferred Stock      
Preferred stock, authorized (in shares) 1,000,000 1,000,000  
Par value of preferred stock (in dollars per share) $ 0.0001 $ 0.0001  
Preferred stock, shares outstanding 0 0  
Employees of Future Infrastructure Holdings, LLC      
Common Stock      
Discounted price from the average December market price at which shares purchased by participants in LTR Plan (as a percent)     15.00%
Issuance of shares, net of issuance costs (in shares)     1,038,309
Proceeds from issuance of common stock     $ 28,900
Compensation expense recognized     $ 5,100
RSUs      
Common Stock      
Conversion of Restricted Stock Units, net of shares withheld for taxes (in shares) 168,605 131,709 122,690
Equity Plans, 2013 and 2023      
Common Stock      
Shares of common stock issued as a part of quarterly compensation of non-employee members of the Board of Directors 39,040 42,080 32,920
Primoris Long Term Retention Plan      
Common Stock      
Shares of common stock issued under the long-term incentive plan 21,245 23,782,000 25,987,000
Amount received in exchange for shares of common stock under a long term incentive plan $ 300 $ 600 $ 500
Percentage of average market closing prices used in determining number of common stock that could be purchased by participants 75.00% 75.00% 75.00%
XML 102 R88.htm IDEA: XBRL DOCUMENT v3.24.0.1
Stockholders' Equity - Employee Stock Purchase Plan, Secondary Offering & Share Purchase Plan (Details) - USD ($)
$ / shares in Units, $ in Thousands
1 Months Ended 12 Months Ended
May 31, 2022
Mar. 31, 2021
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Nov. 30, 2023
Feb. 28, 2022
Nov. 30, 2021
Secondary Offering                
Common stock, par value (in dollars per share)     $ 0.1000 $ 0.1000        
Proceeds from issuance of common stock     $ 681 $ 585 $ 178,707      
Treasury Stock, Value [Abstract]                
Aggregate purchase price up to which shares can be acquired under share purchase program             $ 25,000 $ 25,000
Number of shares purchased and cancelled under share purchase program       277,200 635,763      
Amount paid for shares purchased under share purchase program       $ 6,000 $ 14,700      
Amount paid for shares purchased and cancelled under share purchase program (per share)       $ 21.61 $ 23.15      
Amount remaining for purchase under share purchase program           $ 25,000    
Secondary offering                
Secondary Offering                
Issuance of shares, net of issuance costs (in shares)   4,500,000            
Common stock, par value (in dollars per share)   $ 0.0001            
Share price (in dollars per share)   $ 35.00            
Proceeds from Issuance of Common Stock Gross   $ 157,500            
Proceeds from issuance of common stock   $ 149,300            
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     12,538 9,943,000        
Stock purchase price     $ 25.85 $ 17,440        
XML 103 R89.htm IDEA: XBRL DOCUMENT v3.24.0.1
Selected Quarterly Financial Information (Unaudited) (Details) - USD ($)
$ / shares in Units, shares in Thousands, $ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Selected Quarterly Financial Information                      
Revenue $ 1,515,550 $ 1,529,486 $ 1,413,377 $ 1,256,896 $ 1,329,139 $ 1,284,128 $ 1,022,948 $ 784,384 $ 5,715,309 $ 4,420,599 $ 3,497,632
Gross Profit 156,600 173,895 157,264 99,732 153,383 154,907 92,109 56,486 587,491 456,885 416,660
Net (loss) income                 126,145 133,021 115,739
Net income $ 37,659 $ 48,144 $ 39,032 $ 1,310 $ 41,501 $ 43,040 $ 50,154 $ (1,674) $ 126,145 $ 133,021 $ 115,739
Earnings per share:                      
Basic earnings per share (in dollars per share) $ 0.71 $ 0.90 $ 0.73 $ 0.02 $ 0.78 $ 0.81 $ 0.94 $ (0.03) $ 2.37 $ 2.50 $ 2.19
Diluted earnings per share (in dollars per share) $ 0.69 $ 0.89 $ 0.72 $ 0.02 $ 0.77 $ 0.80 $ 0.93 $ (0.03) $ 2.33 $ 2.47 $ 2.17
Weighted average common shares outstanding:                      
Basic (in shares) 53,360 53,339 53,301 53,184 53,120 53,181 53,263 53,240 53,297 53,200 52,674
Diluted (in shares) 54,385 54,351 54,324 53,944 53,711 53,748 53,852 53,240 54,223 53,759 53,161
XML 104 R90.htm IDEA: XBRL DOCUMENT v3.24.0.1
Pay vs Performance Disclosure - USD ($)
$ in Thousands
3 Months Ended 12 Months Ended
Dec. 31, 2023
Sep. 30, 2023
Jun. 30, 2023
Mar. 31, 2023
Dec. 31, 2022
Sep. 30, 2022
Jun. 30, 2022
Mar. 31, 2022
Dec. 31, 2023
Dec. 31, 2022
Dec. 31, 2021
Pay vs Performance Disclosure                      
Net Income (Loss) $ 37,659 $ 48,144 $ 39,032 $ 1,310 $ 41,501 $ 43,040 $ 50,154 $ (1,674) $ 126,145 $ 133,021 $ 115,739
XML 105 R91.htm IDEA: XBRL DOCUMENT v3.24.0.1
Insider Trading Arrangements
3 Months Ended
Dec. 31, 2023
Trading Arrangements, by Individual  
Rule 10b5-1 Arrangement Adopted false
Non-Rule 10b5-1 Arrangement Adopted false
Rule 10b5-1 Arrangement Terminated false
Non-Rule 10b5-1 Arrangement Terminated false
EXCEL 107 Financial_Report.xlsx IDEA: XBRL DOCUMENT begin 644 Financial_Report.xlsx M4$L#!!0 ( $>-6E@'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 " !'C5I8F93@9.X K @ $0 &1O8U!R;W!S+V-O&ULS9+! M3L,P#(9?!>7>NLW&#E&7"X@32$A, G&+'&^+:)HH,6KW]K1EZX3@ 3C&_O/Y ML^0&H\*0Z#F%2(D=Y9O!MUU6&+?BR!P50,8C>9/+,=&-S7U(WO#X3 >(!C_, M@4!6U08\L;&S (BY$H1N+"A,9#NF,M[C@XV=J9YA%H)8\=9RA+FL0>IH8 M3T/;P!4PP9B2S]\%L@MQKOZ)G3L@SLDANR75]WW9K^;LR MFPYI_)6=XE.DK;A,?EW=W>\>A):57!>5+.1F)Z5:U^JV?I]621A'^_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 $>-6EA[ 10@H@< "$R 8 >&PO=V]R:W-H965T&UL MM9MM<^(V%(7_BH;N='9G0O ;)-DFS! (+=TDRX3L;M-./PA; <_:%I7ED/S[ M7MN \5:^V!WQ)<'&]\A^D.5SA+A<<_$]7C(FR6L81/%5:RGEZF.G$[M+%M+X ME*]8!.\\JH^SBX>+F=.8#7GPS??D\JIUWB(>>Z9)(!_X^C>VN:!N MJN?R(,[^DG5^;+?7(FX22QYNBN$,0C_*_]/7#8B] MNN*+ V!=8/!:9346!O M"NRZ!2<1A12?N7@J^)2(\&M?1%!C.KALOWH_1SGTD![_I0)_LC M[B;P,4I"(X_<1-*7;V02Y?TI_5S:Y,ML1-Z_^T#>$3\B=WX0P.[XLB.A\52B MXVX:NLX;LBH:,BURQR.YC*$5CWEE@0Z<]>[4K>VI7UNHXHBYI\0V3XAE6+;B MA(9X^9C-3XEYD94[BO(17OY[$D'KAJKUTM78NP_"SO3L__=!J(#G@HY:,!TP M/L8KZK*K%HP(,1,OK-7_^2>S9_RB@J53;*1)K 32V8%T,/4"Y./;BJFPX>6F MT?ZDXH-6->6C2:S$I[OCTZW'9Q!%"0W( UMQ(56@(5K5%)0FL1*H MW@Y4KQZH*1,^3V]*C\ 8J^Q3!Y2V(U7E4(76-X6F2:P$[6P'[:SFW2K(H66-B6E2:Q$ZF)'ZJ(.J0>V\&,)74N2>QHJ;T5<9RK\D L_)C,X0=]E M,1ER =VSZB$[1.6:$M0D5B)H&H75,^HPG$1N<5="SZM ;>!ZHQR?;%^06CB.?(W6?PR4MVS#(_2D,H"SP MH"<+B$'0HQ-?LOS$S0O#4()%=1N#U:16!ELD!Q/UT_\!.TRWX(9^Y&ME;C@@ M-Z)!0%4);X@7-J9VC)1@%C'!Q(W^C]1VX^!4\!<_0&_DQ,Z_W\ SA:-Q'0RY3(<*4A#T-P,3/)W>\GY)UQ M:D"J("LJR L-U#$?5VQ,\AC9PBS"A8FG @BKGA\MR.PMG/- "?! K'B8W"DI M:8T/NM3*TZU%?K!PA[_M8.3FU5W2:,$J,]@!H?NGF3(LX&5-:>E2*],JPH)5 M*RP,$R'2^9!\$B3K9& T$N4,^@'%)Z9T97A58VK'" E6$1*L6B%A$DDF\N^$ MTCDWNL6HI(8K5E'3F@!TJ96I%0G JI4 TGDDR/'@8Q=<*)\#!W1NJ8"[>N"Z M#(1 QLLEE?RT9@%=:F5^11:P:F6!60C1AUPG,;P=J^]07*=RQA*O:TSK&!' M*B* 52L"W(1,+-(![5=0D$OPM>&*1NINAPM68].: '2IE;$5"<#"#?RVDRT9 M=#(,%BY3#4MK$M"E5H95) $+-_&3X?B!#!+/EY#(!U(R2)G93-LXH LE-5RO MZMLJO*PQM&,$ JL(!!9NX[>\*FT97G['XQB"/0UC]T))2:OIUZ567I50F'X;]^I;2FDTKUR(<.";@6Q" M\80\LE?UO")>WWCQP3%\OUWX?KN>[R]%ZMF20EODU:GG\(_E[0 +R_QU[))Z9\.!Z0 M2N4\ M+%[9&-LQK+Y=6'T;M^B[!0K[W,:P4^GW#XA5+>? RQH3.X;=MPN[;]=<,+0A MMED.4\T,EQL_*8EI=?JZU,K$"J=OXQ9] +B\'%F%6ST@4.GQ\;K&F([A\>W" MX]NX)]^,^]\@#[6_1WP-3TM&8QXQCTSB.%%/_A_0K)CMP:L:P=-)Y+]'R#, M>DRD!\#[SYS+[4;:P.Y7(?U_ 5!+ P04 " !'C5I8K1)Q'8,& "R&@ M& 'AL+W=ONU,#YB&WGT6MB">VE9J*P'NU]_*";9CR8+.]4.+[3Q:/[N2]MF5 M3QYD];U>"J'08Y&7]>EDJ=3J>#JMDZ4H>'TD5Z*$7^YD57 %M]7]M%Y5@J?- MH"*?$L\+IP7/RLGLI'EV7G$T\S$KE(E#;!X<]&G(L\UY: QX^=T4G[3CVP?_UL_6/C/#AS MRVMQ+O-_LE0M3R=L@E)QQ]>Y^BH?/HF=0X&VE\B\;OY'#SNL-T')NE:RV T& M!D56;O_RQUT@>@.P/S* [ :0UPZ@NP%-Y*9;9HU;H.R$MTLY;KF95J?3!6\68^?)KNW?-B^A8R\92Z2(T3Q 2(>H9;A MYZ\?3O:'3\'?UFG2.DT:>W3,Z755B5(A7M="U<.ZQ5/Q.D$ M-D\MJHV8S'[_#8?>>YMWO\C8GJ^T]96ZK,_.>;U$,&LHT1?BQSK;\!R9N+ M U0*92.ZM13T&(0L\&D\(&J!A13CV$XT:(D&[I#*4E60?W;KQ\8O,%[,_!!' MX8"?"0MQ2(AOYQ>V_$(GO^M*K'B6(O$(R;X6=3/]4BU%!1FEO_)MS$.#$J8! M\[T!K!18#U9'%&K=<8R?7*V#*55;>HUR MW#F"&AOOIZ$7>-& I@F#K,P\;*>)O4Z(/"?1SZ7BY7T&NW['<32>.T-[%$@4 MA'C U(;3(1VCVM-,[*3ZIY3I0Y;G5G+8W/I!% ;##63#19AY;(1S MJV:CY[*\/U2B*AP3OC.T/Y6!/YQP&PQ'+!PAV@D3=BO3=K,[Z%%S03(2^<0@ M: $&ON^1D6R$.T7"_JL*A3SCMUF>J4S8JP7L5+:?+1=^E;5]ISMUPVYY:W5X MQ9^T"%L=MB@787%(AE-CX@+JQ\'8XNDD#KLUKM7@WM18B9I"1R:CI >=?+80HU%0T&;&U 3)D7CA2.I%,VXE:V+WL!;118 MQSG9#[V5O$7/6$##895CP6$O#"@>JI%8TN>=!))W!(Y%W<"6*9(\<<75X^I@@$D6F/M6& 1'BO?2">5 MQ-V]#)$@UEMRR-("]&F MV4A'3#J9(R_)7%%D2G<7VRXN =F#92W*!#BCMPLAT*54 F'RSNJ!T[J]DD#6 M$XS_;V@_ IU^DLA9@BV43+XO99Z*JOZC:;;4D]55IPS_](G-+[*V[W0GQL0M MQGK:0>%J[?OA&^_(\SP,NERA#<_7XCV*O0-XI/^A>LDKW>*OU5)6V;\B?8\" M>@ US@$E4;-FX!83_X#%,'6?E3544WP_4$L#!!0 ( $>-6EAL MW!7YCP( "@' 8 >&PO=V]R:W-H965T&ULK55=3]LP M%/TK5C9M(+$Z'TT*+(U4TB*0&%24;<\FN6TLG#C83@O[];.3$+4LH"*M#XVO M?<^YYSCQ=;CAXD%F H]Y:R08RM3JCS%6"89Y$0.> F%7EERD1.E0['"LA1 MTAJ4,^S:=H!S0@LK"NNYN8A"7BE&"Y@+)*L\)^+Y#!C?C"W'>IFXI:M,F0D< MA259P0+4SW(N=(0[EI3F4$C*"R1@.;8FSFD%C=P:(^/DGO,'$URF M8\LV@H!!H@P#T8\UQ,"8(=(R'EM.JRMI@-OC%_;SVKOVY*G=ARV ,WP# MX+8 =U^ UP*\VFBCK+8U)8I$H> ;)$RV9C.#>F]JM'9#"_,6%TKH5:IQ*HIO MKA(86%[/9W0(=S(F 0F6@:$+8(?J&/B.,9*9G98B5 MKFXX<-)6.FLJN6]4FD(R0)YSA%S;]7K@\?YP=Q>.M>?.N-L9=VL^[PV^A>+) M0\99"D)^1?!84?7<9ZIA&?:SF#-V*DN2P-C2ATB"6(,5??GD!/;W/HO_B6S' ML-<9]MYCCV*>Y_K<2./[")5$H#5A%: #6J"4,T:$1"6(YOT>]FU%PW]<\YON ML([L@1/B];;#]W-VA \[X<,/"&\^/T0JE7%!_T#:I[0A]+=4G-C-[Y7_Q\9ON<%@>>.7NGM2W3H-,;?%RO;OI2D2*E MQ:I/=+"OZ+[$7M%XJX^9.^0'$2M:2,1@J:'V8*0Y1-.7FT#QLFYM]USI1ED/ M,WV5@3 )>GW)N7H)3+?L+L?H+U!+ P04 " !'C5I85**0UKP% #8& M& 'AL+W=O<*O25Q*J]&&Z6VE^.Q7&QXPN2%V/(4WJQ$EC %M]EZ++<99\O"*(G' MQ++<<<*B=#2=%,\>L^E$[%0/WN_5M!'LB\,,EG M(OX1+=7F:N2/T)*OV"Y63^+U#UX1#SM'W>8A.OIPBN6$9ERA*T?-&["1+E_(,?6G=3\8*!I6['B^J 5R7 R ] M \ $W8E4;22Z29=\V78P!C8U)?).Z9H,>@SYX@)1?(:(1:AA0+./FQ.#>?AQ MR5DKE'8=2GO(^_2)[WFZXZ: E89>89B7ROW4\;!#K6 RWA_&HHNS;6(Y M@88+NSAJ!YY+28UK,7!J!LX@@YF0"HD5%-Q>)J4#YY ))IZ/?8U)%T<#EWK8 MUI@8<)9O!5X/$[=FX@XR^3T34J)M)E:1,M%PNS1\SPZPQJ(+LQW7]QV-A && M7=>US!R\FH,WR&$.W2I*UV=HS5.>L1A!!41L"54ZDBIC>4-#_ TZM.3&PNAU M0TM\CU*-8Q=&?.QXGL;1 *,6QCT<_9JC/\CQ.6.I9%6/!GH9CYGB2[2 3#22 M\KL3Y^KS,>N"0*NIU4=BE!TNM12BH"07#B0=:" $9R6)>,(HYR(87MOB) M5,/5Q&S0[V>+:M#A=FY;EJ^'X$C?;$4*6XTVL 9C];#E>1JG:^CQ"Y$8ZTWE MHC674#@]/8L-.!PXE&IU*33A/ L[V#SM^$#HX,%&^J V/*N(H)-J79Y>&CGA M8T[U4;V%Q_+6CB)IHD@&4P+$-DCI%.K:8L/2-4?K?#V=Q%#-3\]0RHW%O/+9 MFE-8RGJ&&%"6W\F/+NH\<'J2HQ%9>%!XM)*CGP8U%"3+UFET4<0Z:)<5#0.J MK[3A1N#@885SFRH.LZ[>VTX_%;L;11 )GMY?33@:$-RA8\!AWP[\'D:-X,'# MBN>V7*\O'+:X/-<+^ZC8!V-C(F+;5TKF'"4%INK-@T##F02[5M4C0+"PQ(HC/;1DL/F%D$[!.&3)+E\ MR/?"Z 1JWU+$,BLB^Z4?005_A>JS;,11C@8;) W+$NA MUQ\P,3?'H^J@HWH+C^6M?>[0Z"4RK)>NF8P6GTB*RETN>9HN<$$U93\SP_1E M;$;AGO0GC6XB@XH"TC_>Y8K_$[1P)S^!E=[NC2A;W]484;BGXI)&QA RF.L_ MBO- 8,7V('%!QAPN:XG$3DD%FP-8#L8U0 9%TF?7P%&]AW/^.#(-^'9NC@ZEY#&NU251Z7UT_IX_FMQ**T]O\:787G( MWK@IS_SO6+:.4@D;Y!6XM"X\&%-6'J.7-TILBX/E%Z&42(K+#6=+GN4 >+\2 M0KW?Y!^H_YDQ_1=02P,$% @ 1XU:6(U2A24- P JPD !@ !X;"]W M;W)K* M"*[QI^8TFB,5<'>^9;\OM8.65RQ(C^6_LD2F7>/:0 F9XU4NG]CF@=1Z?,47 MLUR4OVA3V0:N@>*5D*RHP7"#(J/5B-]K/^P [-8G *<&.(< [Q. 6P/J-AY.G_D-_-!V\]-%@!.L^ND3/TPB=G_U 9RBC:):R ME< T$1U3PFT4IQG7)]]5)SN?G&P[:,BH3 7JTX0D^P0FR&BT.%LM=\Y1QHC$ M5\BU+Y!C.:[F0KVOPQT-//HZW#ZBQFU>QBWYW-.\C.X!J@,\_0$JH;3%$L>D M:T#&$(2OB1%^_V:WK)\ZYYV2+#H1V9YCO<:QWC'V< 3)=$!C5A!T_LB$^*%S M7441E!0J=:XA7ENVYW?,]:Y3-&:N6[[_KEFD,;/]P+UIS/:$^(T0_VB$C&5* M. (AX*149>(U@?]D)2Q7PBX0!:ULCB1^;^M4^J<,D%.212LMI"MT4X-6E@WK;/,\0@ .Q( 8 >&PO=V]R:W-H965T&UL MO9QK<]LV%H;_"D?;Z38S540 O&9MS\0B,?6TC;VVTYW]R)"PQ0U%NB1E)_]^ M04H6A8M <7KJ+[9D ^\!\!*W!Y#.7JKZ:[-BK+6^K8NR.9^MVO;IPV+1I"NV M3IKWU1,K^7\>JGJ=M/QM_;AHGFJ69'VF=;' MNTMUDE>SB[.^K_=U!=GU:8M M\I+=U%:S6:^3^OLE*ZJ7\QF:O?[A-G];FK];[%6R M?,W*)J]*JV8/Y[./Z -U<)>A3_%'SEZ:@]=65Y4O5?6U>W.5G<_LKD2L8&G; M223\US-;LJ+HE'@Y_MR)SO8QNXR'KU_5:5]Y7IDO2<.65?&?/&M7Y[-@9F7L M(=D4[6WU\@O;59JW8O>KCXW;^"\[)ZLN[;F_\UYOO9B>?WI[OJWJ^CC?1Q9 M=_?\U^_QI_L[ZYKR=]?+7W^Y_BV*;^_^:<7__GQU_U]K;GV^BZR??GAG_6#E MI76_JC9-4F;-V:+EI>DT%^DN\N4V,CX6N5JO^:-UUU;I5TWNI3GWQRS+NTP^= M7IT<\9!W+#ZA-MQ$;EO_ZETW+O6CRJHJ,E8W?.SZ\O0.>T0'>F?C2K>0+E;IF9?K=:NND;/@TV"\:L__Q]0M? MA;;-SU;)O:H>K#;YIO/*&&6J5Y!B$:18["DFS+%G2W/=2"+!)W_ODV_TZ:II M-OU4QRW8SG1[1_+7?Z55TVJ7<;XR^4I3^-)7'RX_<'Q'6A 8RSBU+2'%Z)$* MN/I6#_:M'L"T^N$*1.= H!3/=4,?(T_RP5BN5JS(K(>J[D9 INUF MQKA3Q\!0'40045;HD"%C2#$Z5G[!.V0/FUW[#=P;ZZZ[0@C#"<9>*(WT2W-A MI_974+485(U"J8FV'S .9+2]=W?> :B,#[CK)[XI[Y!1L MQY,VBA%HT!A4C8Y6031E(!+(C"2B_#G/6)E9C._.GI."KQ.W'=!*TK3><*OF M1WJHUC9CL,FV8:7.BF5JDKF4)@8M%(52$_T:8 DRTY*;39VNNIUV-S0>@7:7 M9HW)-JBD98X<']NR%Z!L!%2-CM=!]&, '\BXMU;]&)V6'+4D'G%]C\CS$BB[ M %6+0=4HE)IHX< OD!E@1'DWO'W9M+L%25F5:56V=57PE(\6'Q'S-M>O%LW* MDSL:*-] *FR8(\^5!T=0OC$64W1HX!O(##A>)ZG&REA:\*ZE!8=FD^+=L!&96.1Q4-&4 &,I.,(P<92&N+2B[D'3-2=_[80R&2=TJ:=#[V M'4+D5E33>?*VBVH2A:%MN\>>UH$W(#-P..% 0]]0&L! 4.BX@7SR8R[ Y&<3 ME#& JE$H-='* 3.@\,W.-1 H6@!5BT#58E U"J4FGM@.L *;887Y>,.<>:JI MH&H1U@ 00OK!1SSZ!84,XU%%(P9\@,WX .J4PQQFLF60:A&H6HQ59C G1)Y5 MZ6@RT;"#RPYFM/"7CCO,VI-=4C$!\K&T#(E 8\:@:G2L!J)' T[ 9IP =CB" MU0VV[P:V>W#,U. 01+!]:@@:- M0=7H:!5$"PJ'1B[H;RX64$ M&C0&5:.C51#=&/@*-O.5R<@=JV!ECGT?V_)1L#GPY#$.E*N JE$H-='"@:M@ M\_V-TX"N661RCP(E)EAW-X(_5#**!(U*QZ.*5[ 'RD',E.,(T,7:B]?V*- E M*@3 'O%]>2[1I L>? ))-K(%HXD MB)A=O0W2)BCN0%WC*68RYL)-[+BCM M %6C4&JB[0/M(&;:,87HFJ4F]T65%R"^$"!R7P2]_@&J1D>K('Y@>2 >CIEX MG(:@S"*3/XT,>K_#T4 1A'WYHEL,&I6.1Q4-&1"+-6EC999(_>0, &D1 8 >&PO=V]R:W-H965T&ULK9AK;YLP%(;_BL6F;96V@($F;9<@M;DT:7-A3;MI'UUP BK@S':2]M_/ MYK:TA9_W^'!BRZ:[)_2)!1AS\!Q'">MI >>;"UUG7H!CQ%ID@Q/Q M9$5HC+AHTK7.-A0C/X7B2#<-HZW'*$PTIYOVN=3IDBV/P@2[%+!M'"/ZNGBAS%.6$@20/&JIUW""]>6^E3P M,\1[=G /9":/A#S)QL3O:88<$(ZPQZ4#$I<=[N,HDD9B&']R3ZT,*<'#^\)] ME.8N=#3SC3@XQ7:1OR.[,P&$$<)MD5/>?OX0" =@U@YH"I"E@Y8+T%K!K S@%;-<)I#IRJ NT<:*L" MG1SHJ.9PE@-GJA'.<^!<%8!&43E#&2F+_:[:=7G HMQ0N=ZP*#A\5_%V'5*4 M'"K7'!9%A\I5AT7985IW/9LDZ0P;((Z<+B5[0*5>^,F;=)JFO)A882(7E"6G MXFDH..[T%_/E8CH97-X/!V!Y+RZSX?Q^"18CT5KT;\>+Z6!XM_P,AC\>)O>_ MP1<749SP //00]$)^ 8^ AVP0/2RKL[%B*2O[N71YUETLR8Z-,&,"#<&AHF/ M_=<&NDBES,>A4^54Z] MBIXII [/:_'Y<7R O1:P8.V?9J&.5[UX5QV'1Z:O52Y'5NIG-;,<50SX*@M@ M5P>0^[,+MD$>[FEB \8PW6'-^?0!MHWO5:M%DV:#)LV&39J-FC2[;M)LW*39 MI$FSFR;-;ILTFS9I-FO2;-ZDV:)),[+GETN>O8Q=Z>/6 #\4)'2YF*:* B M&JJ(1BJB:Q716$4T41'=J(AN5413%=%,132O$IGV:]%"1>3^1Y3]-?6#HT*, MZ3H]S#/@D6W"LUUVV5M^+[A,CTUO^N?PPLV._?]LLH\0,T378<) A%?"TFAU MQ"F'9@?[K,'))CV0/!(N#CCI;8"1CZD4B.1\7E@* "6,@ & 'AL+W=OODQ%ZAB8MBEB@G4A)G];!R%^$YB9VV'Q_[Z M;3G!3J2V@'O#!TC"4=NGU>H^:CG'CT7YJYHK59.GY2*O3@;SNEY]&0ZK=*Z6 M2?6Y6*D<_C,KRF52P]OR?EBM2I5,FT'+Q9!YGC]<)ED^.#UN/KLI3X^+=;W( MU*!Y/!G3P\L'W['Y>ZP^&I\>KY%Y-5/UC=5/"NV%K99HM M55YE14Y*-3L9G-$OL?3T@ ;Q,U./U9R>C+P]!VIA4IK;2*! M/P]JI!8+;0GNXZ^MT4%[33UP]_6+]8N&/)"Y2RHU*A9_9M-Z?C((!V2J9LEZ M47\O'O]06T)2VTN+1=7\)H];K#<@Z;JJB^5V,-S!,LLW?Y.GK2-V!E"_9P#; M#F#F -$S@&\'\+<.$-L!HO',ADKCASBID]/CLG@DI4:#-?VB<68S&NAGN9[W M25W"?S,85Y^.KL>3ZZO+^.SV/":36_CS[7Q\.R'7%V1T-OF#7%Q=_SDA1^3' M)"8??OM(?B-93F[GQ;I*\FEU/*SA'K2E8;J]WM?-]5C/]2@CWXJ\GE?D/)^J MZ;Z!(=Q\RX"],/C*G!9CE7XFG'XBS&,[QO M/I)J3F:P&BLR*XLE@05>)G66WV]62%9GJOJ"N7UC5N!F=?;X4JV25)T,(#U4 MJGQ0@]-__XOZWG\PEQW26'P@8WON%*T[A, )I9,.B""+)"#?,F)2R)]R"EE/@Y#2IB_37D:ZD4P*Q!?*BVO!3 M3_HUNHP"^TYHR+G!RD8%PJ0>(Z8\X3.<4]AR"IVNZAE%[V=G6:T M4#![=TGZB]1E M.7]H6CT^Y[5W6$N,KS0L-5\8&NN>9$?-94@J]425VC4NCZCYEV.,%1@)B$$1'G8$]&4=4R86P7-D_P> M:A5,45)5"DI?$]A9DKL%FLFW5O93E!^&IB+"<%$8,'.U(S@H4L+KB8].U5&WK!O!%J*$Q+:- M#I2*L&^1L2ADOLD% 4+]"CW?)(, ?3^*^M9MI_"H4Z5LUVVZ+DLH0RY*TKH! M(640FH1LV%'@L4":?!"<% &3/7PZ643=NDB+;MAZ*^ S)77RM+MP45ZVE&&1 M8)')"U$\PH\L6H@U*7W1PZH31M2MC#:SM"CR^R.H&$O7/-DJ1DB+C0V*.#.Y MV""]'GD/ETX04;3WY@G4YA;IT"T5>NU?2U&6.VMCB"V&$U4LQ>5<(L20A(P(;"I&2CCB#/^#V,.JW MW%IA_-96 LH/J?A1**4U:S8.MHRF)V($%D2!"'HX=@*"B7>UV;+\ ?8 ;VBS M,:

:_&/*BU^%#6]GW:R1CFEC$WZS*=ZYSUKBTV0U0(];AG9J,1!H2E8^VR M48.>DF].L 9BL1GUN"983 !.6>64 Q6"1% MV,.JTS7,K6L05KU=A*;N:-*E6L!V>?K2%<+I.Z_[[J6"B*HH#*T\?Z"+[CNS M$U;,+:R:O+)*LBF9%>5>8[5U79-:M8=UUZ',4NW&S6<:79IG(EM?8F+,\\Q( MPOI502BX53H0H._YD%E[HJF38\PMQ]KBL=8=Q"Q',RO*$%%4P)!:'+%&4T@C M;DHT#.A'E/D]*X9W&HU[[RH>LRQ/\O0M9S1.[??N0YI#6HL/96W?IYTFY&Y- M^+4H80SXL"+K? J*JE0/Q>*A$<( K9J5 XLC0XL(M]6=$!YCYF8%P<%.7_IF M#<%PGO[I"9U.+7*W6KQ)GC='.+JJ;'@-+$- XU;VR$P608 M63&(P$*_[S1'='I)N'M:K2;\L!6%'_=:"YA\0I_6P-I1GF2!V5I%@$(RSUIS M&"Z4 >]IKXI.S BWF#EO'ZU03VESE+4Y74RWQUH0N=H?GS9>T=OC!]AVY=L^ MG[$O0%V!Z!,6F@P@46.'D627H*A>V MBF&P?".SNF(X3]JU!L%Q[D5!3X86.P];O7(L]R[^4)5>96X+'5"\4IC=1 R' M>"C&VF?>Z2;A?DIK\N/FYJIY=/+LBL27D]'5]>3']_/]YRC)Y?CB^ONW ML]O+ZS'*]J"/61W46GPH:_O^[:2;<$NW_;[*RS,;J!-M(14RYILG( B,!]1Z MO@&!,?CI:9.(3I8)MRPS^6P>XTN>5+738INMM6[;G-CC;2%A:RWI!=;JL%%< M!N99/8:*6&\EZ&2;<,NV*]4\3+8]R"KNZ@0 36NH+8[:![EZW#ED:+J/N JP M11;S/1Z99R@(+@I!KYJLD6/)@(J>#:+H))N(_N>$,+X>-SGACV\N?E[>7YQ/4 0=];.N@UN)#6=M_4K83FM(M-+O-SE2E MBT0_?J!K3U[44&'JWAW0UNKND[N8K$IV9S3-6E@7QRU?D04 $X, 8 >&PO=V]R:W-H965T&ULI5=I;]LX$/TKA L4NX#KLW<.P#F*-=#8@>VVGQEI++&52)6DXGA__;XA M)<5)T^P"^R46A\,W;TXRQSMC?[B2YL-765)IN%060PGH]';82F5[IT>!]FU/3TVM2^4IFLK7%V6TN[/J#"[ MD]ZXUPI6*LL]"X:GQY7,:$W^2W5ML1IV**DJ23MEM+"T/>G-QA_/7K-^4/BJ M:.<.O@5[B E108EG!(F?6SJGHF @T/C98/8ZDWSP\+M%_Q1\ MAR\WTM&Y*;ZIU.GEZ;,U.6-8&&G\$5\-ID%.: MD[+V%KL*Y_SI0OK:DC!;<58[[#EW//3 Y=UATF"<18S);S#&$W%EM,^=N-0I MI0\!AB#4L9JTK,XFSR)>4#(0TW%?3$:3Z3-XT\[+:<";_B\O(\;KIS&X.SZZ M2B9TTD/Y.[*WU#M]^6+\=G3T#,/7'?YQ6QS>2$^S1>SQ?E\]EFL-Q!< M72XV:W%ABD):)Y06/C>UDSIU?4%W"55>N%R"/42B(MNN2E-K[\3+%^\GH^F1 M6!A/8LRK\>3H5W\[O:7-I%9_R]BU@,0$LF$5=7"ZT_U&(I>W) JC,^>AK'36 MM UX6"KBN5Q5#HWE'=C(ZNEK/PM?XZ,^^V.4JR0-. M1AK)*(J]*#'WU*L]25#KC@_$)B?$EJ\#MO,4E0CAP65K3=DYXP2N&.$J2A"( MA,6(?QUG-S84EK ;JP+>?,=8A[F#0F!LI1-C$8< 'RJ5Q#KD!TPN4 X[:,6T M,:].6>2XT'[6R" B'I *DP00Z<5D.AJ)Q4!\4E2D@(.SOB_6M>)Z_C :]<4% M,T.F-G0GG7CW9C(:#\0777!9MQZ%H&G#F :T[$XY9N)$[2#RN35UAK[RS!DE MP/Z;0J4Q4$I+G2A9Q&(+H>Z+)E/75I7&*M>DJY.S[^>A5/>/MW;T6()H/!;5 M+2*'OY$IWPG10!PK%# ;NFFZN'_8K1SF>^H822B9V!WWU((28%%C&##[5V:G MX;"K;YQ*E;3HLOLDKRATU$V!I%(6Z[7=X[I+:FLAA*5.S[5ZJ(RB1O>QZ2]A M" "ZW0XD>.<2I9GM6W%;^,KARL79NFH+FE]#*.^H/ERAHG=L+KI\K2KBV=P9 M'X N-?-O&F?8^*@-Z;][A=)RH8+:[K9T2[J.\S:S!D6&AM@J'SNH<2D&@4=$ M5:/*'<@E4G,]>[RJ'/9_U@J%_KU.XP$3VX7'&!LII<:KC'<&8EG;^TB6OR)II\ MZCTQ/'CC(6Y9>,DBI7S'QN=>)^T>R[/X1KQ7CR_M*VEQF3E1T!9'1X-W;WK" MQM=K7'A3A1?CC?%(4OCD^4B6%;"_-2CE9L$&NG\A3O\!4$L#!!0 ( $>- M6E@?B0S1U1 &LO 9 >&PO=V]R:W-H965T5[22SN;69<463G<\0"4F8D 0'(*UH?OT] MW7@0E&3/5NUNW?O%#Q)H-!K=IT\W^'IG[%>W5:H3W^JJ<6_.MEW7_G!^[HJM MJJ6;FE8U>+,VMI8=_K6;<]=:)4N>5%?GB]GL^7DM=7/V]C4_N[=O7YN^JW2C M[JUP?5U+N[]5E=F].9N?Q0>?]6;;T8/SMZ];N5%+U7UI[RW^.T]22EVKQFG3 M"*O6;\YNYC_<7M)X'O!/K78N^UO03E;&?*5_/I9OSF:DD*I4T9$$B5\/ZDY5 M%0F"&K\'F6=I29J8_QVE?^"]8R\KZ=2=J7[59;=]<_;B3)1J+?NJ^VQV?U=A M/U7IR)HG>=J<-D:%#KQO^6WX(=L@DO9H],6(0)"];;+\1: MOI.=?/O:FIVP-!K2Z _>*L^&JT+V73B MIBA,WW2ZV8A[4^E"*_?ZO,-Z-.N\"+)OO>S%([+G"_')--W6B?=-J*J;B83\1BMKAX0MY%VOT%R[OXK^S>R[X\+9NBZ0?7RD*] M.4.X.&4?U-G;O_YE_GSVZ@G-+Y/FET])_SO_O6% M!,V87;P2M])I1Q-XWTTG.?Z"/"&;$M&\Z2M^S..ZK1)+5?16=R2'1KS_5FQE MLU'BSM2U=HP!WY.(Q>S5\OT=_S5_];>I^*S6RJJFP#Q E/B@&]D46E:YALL. M(J4MG;@U^)4$?;A9WD9)PJ5!TBJ$6*E$9U@U&G9:W)TIV2!=KM[-,E,OVN3> M:JC55HHW7&#CL%HYMDP<^UD5E<26D^3C :ZSNNA4*0KIMD?O_Z]^(SQ5O5*6 M0S0^I%"E'PLAZ=>E-!\T;4+_W^D%6\)7!B[X3B_GUY/KZ1?[D\L7D M^3Z\O+(R/!_E4/&,(?Y)BMU*50WY#<7' Y@[.VP%P+ M=^H$#D!EVL3?5Y/KYY='3^>SR>+ERQ.#YQ?SHZ>7DP6>_F(Z."EI-CFV@8^1 ML?YN:W8-*4\N.3@07L-S.U7S1/(M&KQ&LAV9[JQ>3ER_G(E%>3 MYY<7N2DO9I.7UU?I28@!1QZJH.RJ&N+V#^^J'V2A*]WMTYPO@'[KPRB\PGZ5 M[< 72%O36R11!V3Q6^E73I=:6L*!6NX%\G=%LS5D6(I)&76P@P[2T9 ]!ZZQ M>J.],(2O%+NMJ2K UZ[!DY5LOMJ^[8H]IM<$<\M6,5K<][8U3B%3=:1]@IK[ M]PD@"I >UI&F4&R27,*<;@NX:[V J?B53Z>S2.4XQ@EI!J)AK)KDI^8Q[_X] M'2C98'2@ZP1BP]%.Q2]A!NS0.(">XTU9M]6MCZ2P*JSZ>R\KO=X36)VR%PQS M_].=Z-N(<" 4NNYKV@1@U]$.@+H=+TE0]*-(;7UTU/B^KF MP50/K'CTV*BUQ?03.DU"^'5 ?4BJ$FO#RK($\=&(!DD,C@*CA;7TBKP)"DR\ MG0UR@( -OW\6T%%WA@QL']VVMXM?A+W@ MU(*D3K0Q^1[9ADB8&U- MS>K>Y;YT*RM)EED2171#0B)OZAB#0-4Y]Y%RJS":DO*C"^&,.G_J*Z4:O\D# M58&R3GQW?36=@;16%9\DH],H15!J&/S:A^AW\_EBNDBSGE3D$9$3!+TNMGS< M.>K?G'*[!H6/\2[ZN-VFXH/Q(+97T@I%=/;DNBK(IHV,=H_E&9A;:PJE0!WX MM,:P>%IKC^=\MJVB$."@1B1XLJ1/Z+Z,J$'FX4S[@?+!5-P\:C"% X7.B]&) MI0 I)(@LX6)_A.:#1WUQ[#=(6QK54N"#1$OH@#GC6I\C NR/5!YXVW+(9K1[ MTU#E26OO=+<5/][5+<_0X5!MMIYHLMO*]1K( MPCN 1L;2VK+V;@&]LL"KM(P(P__3E%*[HC*NMRJP.#J-C"TUCE7 $O,I;/OG>Y MX0C-"N.P7$>H7H.U=FH\'V[\&^PX:!H%"E"8WELG)/F3\SCJ1XLRGDA8V-+Y M*'],F+&QQCF:M]9DYL$DWO'=OV!.&*#HD!$IE=Z#40JTA<.(8,O#VP8I@*BB(*VKY3D^!NH!I_I,#V& ;P1Z[\ MC2/-B)7VRDJ[TIW'@ D?5 7TW9A.A]E64-ALP@ U5H(HESAK MV:2CR=9/ #I&R]_Z>8:O9Y\TKL)'K)? M$5DB_\FVG.W4.0.$H-/DE')XD'2"R9I3\0E(F,^VG,PJ3::UE!$[S14*L8)X ML,?*3\6[ :*/7Q.'W2=$(E:R8UARA7E0EO'!-V U, ;RCJ0Q:;YC@:$^M[:1L05/&/+"SRH(:G_,R%0Q#W?1#V M-V9VT66BX!^-*7=@-UF]?^212?S']&9X-A+@%XZR/WH%.ODMC;X+.];#JZ > M(20?&^=UQ4Q\H<,%]-9I!5A-9\(;J@W[P>WH5!-((/$O]%&!<=HD03VBO$3H,AJ&M"*09'W, ? $0_R5H1M_HR74Z% MV^)T:9?,6KBVW^6\8X Y/R,=$AS%QL^/'__QR\>D*BE M[:-];/[X>&'EQDV!FU0S;8BUD4_%[@$T8JE#LN.V09/Q!1QOI0M0G=C^P!RE M&6:&+D#N84$(B"[BC-+1BGOO>02<\'XZ>Z\*&=F'.Y#@X-[^43U\)0/W"0?2)I3T+RB7I M&E6LQ\L@\:#49NK/\$)]IH@Z>5ZJD?JW="7YH*+')+ ?O?PXO*29'Q#==*#4 M\F6-BEA61C<*C_>^458=-_[I9J$H^KKW)Q"ZU2VF[T"<,-,\@ @2J M2#KXHW1ZE]]-',IBIEU0JZT)3/Z(8M^%YAVUAZ3=((Z9^V^L"L7MX81/E$W@ MP)798T=M)0=&+OX9JI-1PY&.S7>,#?_/5>K3B\9Z,U,C<& /Y#M*LDA4A6Z) M/.EFZ*CJ5=\I#R=-SVT3^$\]TGFE&D7EJ==]';J&?4/F"8-([2XDL MMV]]A@[CW*@5&]@@Z3$5']=D/P9QF(DX=6GESK,#@K>X.2Z)?>W-04K=^3"8 MVI @(JGV"UV%UG"]*JO3 [DL7(TJ;&CC =5Z\$U-(T]3,S$#(SKFJYQS??(' M&JZ&KJ?,IC$#=Z'N;$)N=XCQ%7A"),_E-".(R,*L5/1NZF1[K^5^02Q&$E$F MZL3?/@2U8-T!"6RO1IPIAFJT'76YG]&)/B7'4]AAZ EY?]H^6Y#WJ@W M37:[1ND=R7KCUX[["_U,=L@UGYN<06F1C$ G5P$#Z=0&S7V C5 MOYDIJ48ERA-:VEMMRV>A\TXMH9"S?7>HE7N/#*D#LPKWP"'7Q(KXJ>X1$[5P MW9]UC]YA[(._OM#<#AOZ?.#>FX.>[B%"GFA]^6MG$_+2A K0A=>E>8A,R%V-+:L*)+^"=L>_LI]W)1I82 MGL%W*8*7" M\>2NH3=\C0X+BP*/G!,KZG*#5(JL+3D)3>/$;B<^V6P10;P'T@%Y!VXP%3]& MF:'O[]-)XY,1>0>43!W%M(L)U 7KUG0[!'/UR&%[A)UJF*IC4$NTGBW!UU_[ M1QJO#%'911E%0J7JT*]J8BJC.F-+B\DXE4"-V_@[Z36/4!7ZN"PQBZGD2;$' M'3H.3E*YJNLA@R9!<25N(G/[F3H9O7/>8_C[DJM#WO'9][4/&4?^T0GHJW;Q M-B6J=7S?\-ULNAB^&K@+EC]!6_R'&01#(6G2&;;LGE$655(#C?O5-PF<2Q47 M@B.S57M:&)T5,6]!6^SXH/W7+>S3J]1VU!;\SL,5O2GI^X]@7CX;::V_TTU= M@]1%9+P*)>:Z)T=/VE6><4,Q:B%Q1@8/W5.=@/ :LC[J7;PCDJPMJ^T3G&^>6&LLL/,A]&+X9.J=0O%?89T &J$GRZK!+9PCXC-<1!X*.JKJ&&[F MSP_QYETLH^]RR]P,!0+M>LD6O&4+YN-RE*+/1&A8,!LO<_TJJ'0(9\GBB_^T MQ1=_;O'%?\;B_^^-/15+HF&L/ZL?$97U%!NP<-\&^+S\XI>^IS^HV?)-%3V9 M+O#ZT(AR"K5<1(5P13;()5.13B2@,TIK&4+=P**>?^BC/4WQJMK7CB>%M&S66PEWE"!3]_>W1QTU9UWI ^TG6,XXM3DZ3Z6.V9*I3'\^>9Q] M R(W_)FW\Y_:^&^AT]/T)?F-_X!Z&.X_0_^$7 2*+BJUQM39]/KJ3%C_:;?_ M!PR-/Z=>F0YXS']N%:H$2P/P?FT0 N$?6B!]7__V?P%02P,$% @ 1XU: M6 B__L1=!P 1Q8 !D !X;"]W;W)K&ULO5C; M.F?89(2$0#$@P 6E&_OFN.AV-;)J+@ML#78D2(W-M M"N[P:18C6QG!,[^H4*-D/#X:%5R6@\MSWW=G+L]U[90LQ9UAMBX*;E;70NGE MQ6 R:#K>RT7NJ&-T>5[QA;@7[D-U9_ U:J5DLA"EE;ID1LPO!E>3T^M#FN\G M_";%TO;:C#29:?V1/FZSB\&8 DE4D<2./X>Q(U0B@0!QJ"V]H(6-S9\Y&#<)HR2J.@ZR HV2)HDK!W MNG2Y9=^7F=-6U:F7-WVZJD'0 MX69!%">GMN*IN!@@$*PP#V)P^?R[R='X; ?,PQ;FX2[I?P?F;D$_:2?8]/EW M)\DD.=LBE='P>'K&KNYO&%I#WY&,S]BV!;S,V&MI4Z6IKQ-P6[*%*(7A:LCF MM/:!UEI$B!,&Q!49FZW86_$@%)LP658UA-56L$\U<&:L,C+%]+VZY-D?X+W( M]C$K1BT8;SX*+$ 68C(#$)ERQ;BUU(D^)?E,*NFDL @F"PV1Z[B5U5&"Y M!#M,FJ^8(@O8Z,BYA%EJY S3D5#7ALUER'%5@GWR'RWUL!1S\8"KU9BKR#R#8^ WVS+O^D_RG_.^F1_)_T:/Z3PY/AT:MD MI^9/)DPR??D$POR;=OD:89X]TF)3SZNDTR>DK^[8D*5UI@YIM-0.9P95%!$/+K\W; EE>9KJFN8::"U]MAIVG15?^07]0PB#IH;$M>(#QR.JBLTH8H&D M<%Q7E=&?94$N[)U-=+_(F/8(T6ES)/X75#NPDCN<"5X\J&3,BLZ#L C8Z;Q4 MNER$N9F8N?X.=N,6',H7%3?2XF,I74ZEBR&'X#1_X% (.\0"(10YE*N5YJ7G MAI6%5-PPK/\8SN:"($8K](L%^9BP*$6VG,ZU]56%7P9\(NB!@F*(6D:BKLA0 M>P:7^/*B)K.P$AA]@"&H4> $:XO/%:Y^;7%!T_$/S_J#"YYW!H6/I6J!-Q5, M0-%XD3YB(86Z#[:0<%WM8)H_"5^&8B-UZ.J=;Z&H&\9:C'1I-JI!!G+/UXO' MOCQ.\5$4NL0VL03UJP$-9KX7@ODR?S(.P3$Y:POXUYVNMST.MM%"#/A43&G4)-EVJ3$4THB,L7NO)28-?(#ZHWX>C2DNU](-P["")E">JMG]4OQXE\ MO8(\N),$\I9;(J;K.8I<(.5J!>-TD5.@:^%W\#8_/K,M_L8ZX.RL*K##NH7N+,W9%^S9JLB&O[9I4PI7YD%6-Z#&$*%-%[ZMPX<4N;R*C2I'(RMB\I3ZQ^AA6\ISY-79+BB$2 3WHU\NFZ2 MW?J^ZT&QE>[M'6H8KF-@WK.'55:=S^Q!.!=OG[0T5\[YDOF,PG M"B/F]+86\[!2O=MH.,$0,(WLOQO7^ MD/+[EW?@71I23P=F;G0162&Q& 20.EL_HM[1O93%(B=$*LP877*E9G3@L_O4 MB"6[DXKN_V\=1.Q%V%?W=Q$>;B!P+[FMMC84&SX_'SY*S]<4OI1H;W0Q0[7@ MCYE-ST>CWN->(6!]>L*TS/,BO/.UO>TKZ55X'.RFAR=6J+E /8+[]QQ+QP?' M+POCQ9:%T\O[@HDP5? MQF5/%CS'DYE4RUCC4LTORD+Q.#6;EME%T.\/+Y:QR$]>O3#WKM6K%[+2FZ^)"^/.D30SSCB28*,3YN^1N> M940(;/Q>TSQICZ2-[M\-]?=&=L@RC4O^1F:_BE0O7IZ,3UC*9W&5Z5_DW0^\ MEF= ]!*9E>9_=F?7!L$)2ZI2RV6]&1PL16X_X_M:#\Z&<7_/AJ#>$!B^[4&& MR[>QCE^]4/*.*5H-:O2'$=7L!G,B)Z/<:(6G OOTJ]=5B3MER=[(Y53D,:FJ M?'&A09H67"0UF=>63+"'C!^P'V6N%R5[EZ<\72=P 9Y:QH*&L=?!08IO>=)C MH>^QH!^$!^B%K:"AH1?NH7>5_%Z)4NR5S^Z.=N^FT'A>%G'"7Y[ ]TNN;OG) MJ^^^\8?]RP.\12UOT2'J#_)V>/=/4G,6???-./"#RYWV9/2P'UXRYR F9^SZ MXP_MHY]S=E7-X7#,ZCSPV!U'T&"#XJE9^KV25>&Q#SDL2\03SQ;L=,HF/3Z<.PLPS*/ MY4A#8,SL;\\^TPO.NO/L RM%(;& M/"YKQ=#&FGK-O]1QQHI*)0MD-U8HD7!VA_6SBD(91\#LDYBEAQ6 M2MGO5:PT$9B9S&"\= :N,O&'898S7FKC7K1D%@MEG:\U85R61K.-=Q%[F>BT MBN?5$O=M?-0ZBJ<99U,J8>#:9( <-(SV&\61=PF(9O5#5%UFTJ>P,E-R:1P\ M[K8ZD9R"?H_=P./$#&;/-0-'^1P$D M@3-*U@.,B"EI^2I)#*F*L=B.]$&I3 MO0&Y [Q%P*45STBI6K+3(.KY3_(8$LC6YP,IJ$LK%>)[V) M;TG!AAUKTM9J@,>R4W_<&[='6'&(4=1;KDA5.K[GI5T9]D;M2CRJX[N6:OW< M5M,BUR I8%5+9-(+6QHI-YSS-KYV6Q@-$792SV$\."X$Q1'R"W]&69)L2=SY MQW,W$_?D!.M.T6-7E-7@MW>&&W2 MVD.?U[M=[LP((JN2ZL'YWMV?UC/Z.HUFT2F+1H'G3T+VD=H%6W$A,1Q-HP20 M).M5>/.4LRCT_$%PSGY"S39+BUBD+OU@XO4C_VBA/Z2P C*8R;7'6OI(E;P! M?Y[EDH,BO,I:?(? C@!&0#1-QMS&53FV$GN;]$>1-PHG:+KJO%:SOVM9O\^N MD7M)5ZCL&&^X&\Y)A?26[R7@][WQ8 P"F,J41K$O,LKWIDV 7 4Y\M:F@>^- M@XC]7!@?@-=F)KWM.V+HA5&?O74RK5VZM3+P(;2/?K#)I37)Y]OJ-X,,5[:( M4%NR$,4.]8R\$.KYI&*X0KS<5K/O>T,L^-FH*I/Y_)GI-S8D&7K1<-B9K8A7 MUJ4H(R>)HD;4=:4MQ_;[ R\*1N>=.0\NCR;>,)BJ$?(I30A]9KY8:U'!:Z-KE>NRU!X/7[T?F6H@[*,?*B:'!> M9P_A!B,=M\=; O+(2<"^;ZK$UH*A#Z/ZCTU*S9U?J9RA0D!U)@M37EW&OTE% MG66=9ZDSJM5ENW>4$NIY/K<-;\GG)C),/TY;%"? @K3K;)Q+TZW8S>]RKN:K M9F>O$Q"*D!@HB)F6W,940EU3GH@"HY"=.D2I356@@#>99LIS/A.X:5H[4_>H MRR_KALJ,#!@RT8K7\M"2S0:^:S(W]\ZYG*NX0)5CMEE-N"M!5DIFO9/;)K9M M09HBNX394]/VD#9^1ZE!HRVQ%@#[&-O=1"3#FY4;RD8*?N0]YRTRD:@(A*&:YCM+.83F=5AIB< M&=7[ [;BL;(D_=[$7GE4GTB-&.XR#$;OH3FGES'NLSFW[^H]/#+"6Q2PY13< MA.U:4J#IQL6T(N8PD_'<^L)I.!R!#5=+&%;1*Z#S@^_:)>->T.GI@R;3BV5! M21.32$:'(H(P1-/H0!3JO+)J#]HB2[YAAOG<#'C43V'$6T!KY!$@9D+/KJAC ME=_#YNO!W+G2U9I[E*:.VXX.NXD,IF<.BP^<1GU6:YE,P+@9@W?HSA04Q9M0 M,IUE#5-\/T5I12[=$-MKXFU&CIL8\?W[BXT+^J MG+.QE7H-%'+7-X"0O7<,)D3SV,84,7P("^K59UJH!YMO16HG"\KG&E&(5$6&LSJ&/IG 1&K?*N6IXQG>T>D=5<^=:?*C0'9 M,Y-_X#[>F,5I17]]Q8Z2 A9I6=]=UA2RWL[VP^D86I4<:#H>:!WJ_<=T#W]- MI7YTE6X*FC]X9O+CGF1RE2%;ZIC=)(K?L6MAH):/.MT_!6\0>%_I"MGU0SY3 ML<5MZ?('F5%/79JLTUM+4W&.4%B!+Y.J_'4 ^PAJ;0Y[_Z$#M0W,LYZFAOVH MJQ7[\A1H;">I7.;/4E%"(R0D,7LH;7F/S5M$85[#%1WBNVKHK$G>9A1B=%8I MFA3*#:R:ADLZR4E9-0.,OH3 >? F2);#P#4]KRGHNS/@XR'S+J,B)6:QFO,6 M*S\(G7M;V'F32UL=NF#Z3LAY)DDO&QG6_TLS+*SA0,[E)N;\$.3\9Z!G3X>2 M9T*A']U0VTXH.48T]0;[ =(#V*L]B)JX-@L(F\@EX_\D9!](\BKF\:,;; UE-F^3X(J XB+PQ'>X'4,/#"*/P* M #4:AT>BIH.AYP?CA]!2/_3\_N 0]OD YND'A-'M CLC+]J/<0Z]R>@KL,VS M8.*-P_$#D.99X 6#X53P>3)^"4Y]F0T. ZW/!MY@[%_+%X91&-O.!YO MXY3A<.@-A@_@DUVH'L(EUP<#TP!^[51 F_]Z0''GU/N_C"H^>5:Q!>CQ...F M/8[%&1'E3O>Q VB,>M'?C3-.')Q1YC7(M8DS-@K:A3=N#UI'(X[XGU2Y#W$, MAL,.=]V-.$:AB\SN&AW7L+8&W8L@>_Z?B>[]'9B>&[54$G=FE3:[T;LM M.$DJQ!0E 6H9M4R^4%N9T-0.63G:*;GBO$UF]/(6H=1P!7I9BM$@2U6HL\)- M5: %(_G YN<\1LTP6*V2S+Q"2=.W>972M8*^X]DMYE'[^N >L-6(9Z8(-W)G M,LOL:UI0$#.D:56:$%JU,YM]3=A8K_/[#IK0-EN9YJ*NG8[=+\T1A\6CHL1G,VY% MG*)7;,R4=VWYA 5:0,2KO\ZU)^L% NA.5EEJOS"RD9 L!&I,:B*M_=*P MCC['C.7F'"D=3-'K@I;B<=?7AN$:WE)I9%1\9ER-WCWM>F083R0" M'96H'=9)W^3JK(QOS=N35D(8CHJ\%;*5S^3YFJ\=;KH^N7G@-^&%IG3.R@69 M %%/0\7Y]OL;3_W\#U7:=]M.UG;GY&QKZ;WM\JNFC)SOO/=+W3TX;Q!X8S_R M @R1[CT_''NCT;BNN4W0&6RV;$J%&X+;KYY$$\R%@^UW5B9>!+YI%*_W;^T, M(F_@L-.^IH)I. J_6J>_;O9Y32$G6U+MTB62-DUMC[U$''H!)M+V M,O"&HXB]%9GIWYQ5H\'$O?2'Q[_\M?GY+E:YF'D7/H]-#.; M4K0>V0N#;4OV_); KM?^+YS?8:"%GYM?FU"'A;"R/\EH[[8_:+FRO^/HEMM? MP_QHP.P2P_,,6_N]T>"$*?L+$WNA96%^U8%2@GG!_+G@F \4+<#SF92ZN: # MVI_YO/HO4$L#!!0 ( $>-6E@>L2=-;A, /X^ 9 >&PO=V]R:W-H M965T-8A MV>OG(E D2P(!&@4TN_7U>S+K@@()4NT-SV5G7KI)$%65E9>3)[. 5\>J_JQW M4C;1P[XH]>N;7=,50=9XI=-5>]%@Z_U]E8?:BER'K0O;I/Q M>'Z[%ZJ\>?.*K_UEVOQ?UXSM95,?7-Y,;=^&#VNX:NG#[ MYM5!;.5'V?QZ^+G&MUL_2Z[VLM2J*J-:;E[?O)U\]VY*]_,-_Z/D40>?(]K) MNJH^TY1+G# M(<%>E>:_>+!Z" 8LQQ<&)'9 PG*;A5C*[T4CWKRJJV-4T]V8C3[P5GDTA%,E M&>5C4^-7A7'-FP_R7I:M?'7;8#*Z=)O9@>_,P.3"P$D2_525S4Y'/Y2YS/L3 MW$(*+TKB1'F77)WQ>YF-HG021\DX2:_,E_JMI3Q?^L>W9@9.AP=2''RG#R*3 MKV_@Z%K6]_+FS;??3.;CNRMB3;U8TVNS7Q/K^L"_58V,9M]^LTPFR9V=):*O MX_0N^DU&6UG*6N">VO[6PC!U)*):E%L959LH@\%JBH-R&S6/!ZGC2)59T>9T M8:,>9/[R4*M,QABJ&O>Y01!&HLSA=HVLE2AB_I95NL%2:K]N:RW6A8P.1:NC MC91^'0^S6VX1R#_R9&!'S"U6?I:!6M55$@RO$M&2VZ;W07KDRZ*S#H03(4 M%(\D6-767F%*(Z!K_)1'F[K:=_N ^! XTAG D.X2N?R]A38P!1 =LK-4@W= M!J24T1%:$ 1;0E_9]7^4,@&/Z]E)EK-!B=MTG2J;"O8!M.6&JKWO@"X:2IS%T,- M?GH.QU"9*"!QJ\DOL M5'MHFVF,O+6FAA26%9@?0Y$!M76-93)0;[RL$J9=G MYJVZG>=VB&B56U!/DARKKTU1)95;4DNL*$M M:FP'9H1[%;PJDXLR@\^N"[45)E^3$>U:PMWK==RM&Y-0[!T20[ZS:W;PF'@I7NEC7^[@")0@UN5D&Q;0860A/(&\)-N$SZ\ ML*Z?R_JF#4MA6 IC+D-,4509!PTF8!3U*UQ16."Q0GM7AAI+XUMP)VOHH1FP MK,8GO5%D_/\&,EJK&P;V>ZO@M3U/^M3FV[VT+D4SYS)3VH:U]0!L?UM7[2', M0-IHZ" X877ZA>\1'H!2J<-%UZ 8(.-G.TYLM*S8DP_0"F[/)!!GEH:54N?& MS2$+0JZTKCZ*?L'@O?A4U:KQZ: 3=\P]+$I&E6ZH!?T'55YNI>Y>0Z MY!LZ< [M0,RI L&JG<913]M3I" M*34\(,L$&8=! 0#)VPN2'-#IJ[JWT/S'!L6TFO/HGO17@L#Y_05G-=F)YJK6 MI$[6EVZ@#5$PNH#ITQV6Q:A-).Z%*N@V$PL%V$PI'!. W=?(#%UVL.GSTHST M^Y/"\L1X32 M9V!N_]61L*],VHEK$)])*[8(+6U?PI8A7U/E?57<2Z,L2X;N!4*>6)#,=J7Z MO96ZIW+#!L[=T'%=Z_D#J\7GH^(3TG/">1@M+?L8)%&4G9U3@(QE;1$2>_#C MDA#ZUY(B7DO@&?U">9^$5776[LF#"&"(A;*K&[\Y\6Y+R @K45U IR:_$6H* MK:M,\0XXQI$@1=TH$J4.O7F(XCDVW.H.ID)@QGZ1#6,6#BE<[5%M,75]M*#. M* =!\I8H$K YCJ@?D;<4"B:'$1LRNL5>$-85 $ZWZ\ JKEXQ&Z3T=:!2H9F]@WS V5 6T!>]:6=AK6),U2U=V^7/':,0-M M$N&1W@AW,41F@D^=K:NZO .T%8KYF%O>>6YQ"' MJ6V(%T+M]0MX%G!,Y:SX7.S%EDIZ(%^+VA!YB6$25T) 75GCS$A6 LLSG]FG3L'/H+]#FN%].]*T)Z\JU&=6MR%Q M4)[I%AS#' +#D+A-0>;X35JUR<#SS'#/CP8)1>#=F'T-?X29/!6BS1*D9I(% MKJFC9Q2CV/_@26O^A74C>DR8O*_6,#BQW';?VB+XQ"F_,)H6!3,TT+&VMCS; MQ]5%3PDH-AE(E>8J]U9L15;]7[1"$6A*3 3#EKD0%[G ?\0ADWOKZMBFRM2! MIPU=BM$.>U*E:1+3W,]WH$7 CHS:19S<;)% &0M!BSE>RG>V+<\_1:#U*VIHEX:T.)4#?PR 2U]G MV/@SOG@A5HF/&.=U%9\M(KA3 60S*7V-0+-=#(-0+FK\\B;"G[K8D6BB_,P( MRNYEOC$*%]0 MSIQ,O&-'.SX2-.X7UYRZRA_HO9R21'03=9-PTT@FH>F8Z>& M/@/W$3X#G[9-X#MF3US1F&+&:(Y=D:F(W\F_T9%B.-MHR6UA3WZ-\>6%G ML<_R-75._ YLSK?9W;583KG0!8-0*-D(]#V5:YDQK NT[\HT"(?&%/ VK]NA M5,8'S9D?2X.>JK1<+[XF%UGYO/PT0%;+7L48GY64=,=9GX52J..1\H'';J-^ MF2,-86&.,B@;F7L0EFP^ NJXYB F\>1@8SO%%THNGT&X^"=/U/%)/X^Z.G"9 M_!/<@QV+RQ2#U81_(89#U&SWLCV8AAPK7L.EB'NP(\D&6$L*/R\IAE4NJBPU485=B^#_0]8 MP=3,5/V8NV!8CKJ[I;-YWB7X3E+M*O5M=8X9B[\-YEPG#-RTS M0S.#[GE#+U_6/3[0-3+,>H$^V=>^>B3BSD*2,P[\Q9UD7"JI?;O/U#&P-E7( M;@-'1,FSR2B)]K;VY^.4=)2Z"_WC%$B[H80MRD=S/'%:<7;:Z'D>-<@R4U24 M/9)15%K;:+0C8V?)3Z;]P7>-G)*#;+#A',-@(%I\VQ$_L M/]!JA>04HGK C/:LIE%&-DMJ-LSB)6S3J M0\/XWXF"#?J13G]/&G-#GN#/C8P6AP4UQUO6#W5E,@3=OJWM?>3L#H"#Y:A[ MHZ,OLJ[.0R& K^9*GZG?'7J& :.9]SW#(3PG&X;9T^PKMD@86V[OG&88S2E* M7V171Z8?I7.XS!;;:TD>5M*:XQ:!2][6]KLIB- M%N&V3#?C:ULC!:VIU3/M+!&7;7;W;GR.]/\6#*+)YSH89?)!%V?C,W. MK#)('5TWVM8;UFNTV$L'!J+I3=0C-XP=U"3VX>\]CQH-IC)76E/7[I2-#4M$ M5PD(7%GIVVBYJST'2,?1K 5^U6:]DX5AI3-IV!0NH;:E/;*$!*="@M05ZHNO MV1@:J6='QP+)U MFV^ELTX?O3D)S>: DBN7: T4,5V0O^7-XQ,<=D)AB%.H@6L7-[W*KN\-8XW0A=7/' MU8>=L#6/D]K4922B)]["''??(ZF 3GR$J!0D=-IK5C)$D7J1:VWL$S+4H,45 MVZJ7QB@Z(Z8)9.YNC;N,$U!PJNVI#XJ*B7U>N_5I9DGP(?)[TS_F,N]0:6IK MFM.HGG;7YG&'P4/S$]%RN9'CY-E;P3GR755[,D%N=G M>LA%V:D1==41$G[GE_OVF]5\L;J[J$I1\S$#,9XWKM@GQPS=] MUL:9B/>9(B B3*JY[7]W)D,MR:7$5GI<]:5/58=8$E K:NJ8$P*J@5O;)Z"Z MP@8568;$V\G"%','\-H%6TA$-2A!NYN3B@PZ7@*0W=U*V! M4Q\Y^H[)TNF^@IZKZ]%O@B<^/E5KWVX(;B']/4I;\9(..Y-(\_A&R*;]!(ZX MV9+3GKF9YU3LO9DII+M3&-$-MS [T'TRSF>:-MK7&=ZEHN?LCR"94(%^$7K8 MW^=_+[G_\8M<2U =P0]6H;[J^[^_[UDT'T_CR7P>7)DFXW@VF017DF4:+^8+ ME$I\L,1/$!"V<.HZE1P+QNEL>79]LL!"T]7Y]60:KU;CH!'HG>3YF9>\\,/2 M53R?)=VJDW@VGW:38LYQ31;C=^60>)\FTIX 4>>5Z3R-)X%7(BSGJW@Y M2\,KZ12QE]"Q^E ]Z&,G3B<+_VT>CU?3\-M\/! XZ7P>3WN!DRQF\6JZ"*], MQ_%TDERW7#]Z5N.@+KP>/#9DNO&G_MFYS(>!WLE3GD@-VB^FQA'G=>@YO0&3 M-!%F"Z6UW*JRM'26$RLMRI.=EL5I,EKU6S*(\.[2:5,F1(7.Y1O"8;(SAW7O M,=A<:5\WY^:)+/?L!+5IME6M9%#2__3Q+4OQMZI\29_]4VSQ3A>+GL),$Z7XQA( M'_V \F/[>)[TEBO$PGG22^/Q=!9/TLG +VDZB\>+E14N7&R\6L7):D%1%U-Z M&B.F(%:\F,SB='R>0O^)^DZ\OD,?H-HV7BZ%?TA4(P"H9L@. 8+5<& =8+6 +LL,T9H:T M^I>RPV30#D_Q_W1._&M&FUQAN_/$6&.VB%>SBWI.TB52S_3L.@:.$3S)N;\C MT(BR+69G>J8Q:;Q$"'(XKL UERG[_I1TGG;YQ,$Z/5OD4)@>ROA7P:<_!;?^ MTKV\ =[NWMW@T\M^S^CYY,45PZ8(I^4RZ>EYNDCBY6060AT099;V*,17H8Y^ M!+N>G?TR0YDP%&(SA$NR&@+'RQ X1^@M;.B-9W-"!]["&".6Z:0'AZ2('TV6 MUN>ON#SY#9?1_P<_.3\>L[@D*[G1"ZDZ78#+CR5/2"X;!N5;+ ,AX2*'B;P:C!/U\9 MO%JRX5=RND>,S&+:GQ+T'L#ASB@_1TY]";:(>7G(/O@:O#'&#QUX!Q\V8/ \ MJ#]UT.V:#VI:?OP'; /BD=Y'_"A[36?49!GN:W0*H<1*#7(\S9A[$67PR.9PK[Y"P?=7:'G_3. MBAX-O15[&[R3O$>\\IO7_!!*V9C7D_U5_W+W6_-.[>3/\)WZO0<- &PP= MCQ:S&W.DY+XTU8'?<%Y735/M^>-."NR=;L#OFPI^9[_0 OZ5]S?_"U!+ P04 M " !'C5I8Y>X'PZ(# ^"0 &0 'AL+W=O3HKL>;Z M2FZPH9U"JIH;(M7:TQN%/.^4ZLICOI]X-1>-LYQWO'NUG,O65*+!>P6ZK6NN MGF^PDMN%$SA[QB>Q+HUE>,OYAJ_Q )X MO4?_N?.=?%EQC;>R^E/DIEPXJ0,Y%KRMS">Y_05W_L06+Y.5[OYAV\NRT(&L MU4;6.V6RH!9-_^5/NSB,%%+_!06V4V"=W?U!G97ON>'+N9);4%::T.RB<[73 M)N-$8R_EP2C:%:1GEO>*[E>99^!-#A^^M6)#$3=SSQ"VE?"R'P D8 M?)2-*35\:'+,OP?PR*C!,K:W[(:=17R/V16$@0O,9^$9O'#P-.SPPO_L:8\3 MG<:Q53+3&Y[APJ$RT*@>T5F^?A4D_O49*Z/!RN@<^K^P\CS.;](@)*]?I2Q@ MUZ=!P>[ZX37\42(4LJ+Z%,T:A :^KU&0!6S&RC@HOQ$-F%*VFMCZ< M.'+C:0(W@W3HPU_(E88[I 90RBH'45-<'M&&XH#&F)LFT8$,W#":PA>N!,7I M+?Q>%"+#40P'P<2-)OZ!#-TDGD((/T&\._A6-MJHMN]DQP!)$KEI>'!B$DS< M*.@A@KWQ#[+BZH3RZ-@X9C]BLQB>CTVB9*!XK*D>]!% F+I),CW&3=P@BG]X M_],H=H,T.-!)XDZ8?R1W1T?/J,EG;=U6W&!.O9GJ,Q.\[_XV!6JIC/B[9^SU MWD3)U&4QNQQQ)O8>@\NC,^Y/EH(+#9I1_D23V)VRZ9@S#=TT/@[!VY<2BBL\ MF$^NT(:B:D/0);E :ZI+2U8VO??K4U @U6$32+,>%=8H//A$4YXDMES#11I? M,9HU544[+EQ,T@/9>7Z13D:<8G=$GQ5HN__W16N+T^VKTVK3@IB4*1OL)G+U M?'6J;WJCF5:C6G>36T,FV\;TXVW@#H^#=_U,/(CW+XN/7*U%HRD(!:GZ5Y/8 M =5/ZYXP&UL MO5?;;MLX$/T50@V*!.#&(G5U8AM(TK3-0Q=!+[O81UH:6]Q*HDM2=;)?OT-9 ML90H,1:+H"^2..0Q?L[#)TZ]L% M?TC8FL$W<98LE?KN!C?YW/,=(2@ALPY!X.LG7$%9.B"D\:/#]/9;.L7A]P/Z M^]9VM&4I#%RI\D^9VV+NI1[)826:TGY6VX_0V1,YO$R5IGV2[6YM@#MFC;&J MZI1Q7,EZ]Q9WW3D,%%+_!07>*?"6]VZCEN4[8<5BIM66:+<:T=Q':VJKC>1D M[9SRQ6JR+(FH>0/P:8(+D]0_[ \)(?1'P'V2D)&"7]O5I;22NAWOJY!K^_WPZ_*BI).0]$>3_6BDAISDC9;UFM@"R :T M5/E(ETQ K7!(LW37676'R'PQ*!RK[)!$N24@F+*R5QJ"E9%O(K" "Z:T! M U>4Y3T1E=(6U7/B+B9BK!;N]OC-9:N[9*0AQ[)&;-489&-.SGYYVOW7]\ON M?#EL/VAE#+D26M^[2+NH5%-;'2Y$[D#$NW-??/D>/%0:SSDUT'Y MJD4.M:C0E4H&=&8L9-AC%/N3\E5>[7C MX6@H6WZFD!M# I_1*4_&#)*$)FDR9L YYD?8;_D4X#B:8D6+>D4>FCO72B ;Q8[40#RX=U]]K8V75NFC5V 93 M0PP]!7?8AYULIU:JQ 1]O?3IF3Z=&<33TZE'^JSQ_ MM94'NR(7K(_H7W?VHAGAX/ 8>LYG3OK,184U,&[GXEX68R2TLMXK#,//#YVL M+Z%8DYU/VKHI5A9)]#,A]9-@M-O(_\\U-I-!$XJ!O6Y;;4,REY6[?G0OW7?S M%[LFME^^^Q7X)/1:UH:4L$)5_S2)/*)W[?5N8-6F;6F7RF(6M9\%_I& =@MP M?J6PH>D&;H/]/\[B7U!+ P04 " !'C5I8*:Z]'F<# [" &0 'AL M+W=OR@ZP(AMV7FYNR3 MW77#!JS;H5VWSXK-Q&IER9/DR^7?CY(=)\6UP8"B7R*1)A^^B626>VT^VQK1 MP7,CE5U%M7/M39+8LL:&VXEN4=&7K38-=T2:76);@[P*2HU,6)K.DH8+%:V7 M@?=HUDO=.2D4/AJP7=-P<[A'J?>K*(N.C/=B5SO/2-;+EN_P [J/[:,A*AE1 M*M&@LD(K,+A=17?9S7WAY8/ WP+W]NP./I*-UI\]\5NUBE+O$$HLG4?@=#SA M TKI@A4M(JAPRSOIWNO]KSC$ M,_5XI98V_,*^ERW(8ME9IYM!F>A&J/[DST,>SA06Z3<4V*# @M^]H>#E6^[X M>FGT'HR7)C1_":$&;7).*%^4#\[05T%Z;GU7EKI3SL(C/_"-1."J F*:#BOX M7?"-D,()M,O$D36ODY0#\GV/S+Z!G#%XIY6K+?RL*JR^!$C(S=%7=O3UGEU$ M?(OE!/(L!I:R_ )>/L:>![S\!\3>(Q=?1_:==&-;7N(JHE:Q:)XP6K]^EJ;M.E%]!9XVQK]+*CQ4![@BA63.36 E$&,0*]8 M-ID>.3%AV!9#B\O#!/ZJ*>LGM#T9<9HFSZ:D)VEH%&ACH>9/"!M$/UT9 M%^(:,BC/,OA&*'"U[BS9L#_=C$C?>WY1CHO,4"M?)U]M0\Z'< U*2G\%2$G0 M!_394K@5[E3S*\C213S+%N>?2CI4:N(Z3R1LYAE.?P9),>$$;,X&6)YG,Y?>GY%2.F_&N7P@G\7ZMON-F1_FBU&]) M-9W,IQ&8?E7UA--M6 \;[>AIAVM-VQV-%Z#O6TU#82"\@?'_POH_4$L#!!0 M ( $>-6EB@LM)SQPL !TD 9 >&PO=V]R:W-H965TWMV9N)_)I7I0^9?LD\&WLYI+&"4JM9%. MA5&+#T>7_MNK(>WG#?^.U,:V/@O29*;U5_IR&WXXZI- *E;SG#A(_%NK:Q7' MQ AB_%[R/*J/),+VYXK[#>L.76;2JFL=_QJ%^>K#T?1(A&HABSB_UYL?5:G/ MB/C-=6SYK]BXO4'_2,P+F^ND)(8$292Z__*QM$.+8+J/("@) I;;'<12?B]S M>?'>Z(TPM!O$P/?$T$_ M&!S@-ZC5'#"_P=]3TS$9[F9"^?'69G*N/APA :PR:W5T\>TW_KC_[H"(PUK$ MX2'NKQ7Q()/=(OZBV-T8G(T8C M_S?0Q@(18XG]VMDQ-[TSDI>FRA?B;4T$9S0VK2( MTC*GDDRFY$N29R;3K[8G+G>$C-<-."L8Q$.Q(!G]WKC_AH1$!"&6,M#)-"T2 M9EK&RY,(&SI'=IF9*'8NS%=&%\N5N%$S4Z!%8]?T./*=/A185B&/<.;L28:]4?_UYOE)II4I1K6! M/LYS30=#NS[;Q[Y@(00NH@-PD*O&+%4I7AK%A;A^\#$5#RK+G7+!.2GG3QJ; M@35;#85,@BXD/((.QO&O:[:L^'H$!M7.GXKX23B64R:[+)9H,\6@7#JAHDZ" M!/UWSP7D9?_=J7/(]>W5M;B"-\27ATMW1H@.%;T!C _@@@"D5)OA97?#Y;+- ME-L-_5V,T0)F9!<8CU>YS^!:!UW1RH;6YW@ M(GG+ZF5# ]L 2:4X!F6OCUX[CBF<\[II:"O"K<0=5CO2$W&_36SV]A G):.F MRRCENBEW5(SA=M(3L43'EQHYWX84S8G\JE@^2^5'MH[$L!)9%\3MW',6U5S1 M0:GRG!A2>2Q%U$84&>_&@<\4(JR+9E,*> Q.#UUR;D*@7BM(, MDJQ0#S>ZB/&<2I1 6I-$*43 A,4'UQ86D(<69MH8UVC.)3I<,F)!QN"'>\U( M2>BT.9Z,&D5Z[5RK4MP?,8SXVYE&1SPH:(5T:671VX]'YT%O M5).4T:$>&N$!B/&_AEN/ MH6D0=+!I=V_3ZC.W4;L];' "'(_0#S8LN7EV3U+=V;TSX0[8APO=6D8QMV8[ M4)FFF>-@,N@-&U#9H5#C\2_UL?N\RLF84+BP_7\'J$!_8$T3S>@5W64&AM1/8:")_)F"$D+';&[6Y$ZQ[/ M-GL!X_:7L-<"VJ>[%J#]JL@C$:91'N*/QRU,P-Y=0WT(F,?Q/))*:S5"C8"M MJ67[EOG&TJ*O)/LZ]-AIP$!A%S03Q M1A9:]C9*%8Z%(58L3*5<6QO"N'[C7'")6;427_8?WQ[^=R$GVI<2#8H7@QB& MQ.X9#=6U56 W%5$C^Q93^FE5ZWAZ^ A#I73=(&Y/-?5T_ MLKBP'.)9%D=S3LU$FB7%/1 X4_-H$7$A.RSBR8RADV($O0?=FUB51NC V*34 M%T@(18$[4V@4FPL0X)A\5&AE0I7!1XB)HD M#=6"V\87Y$17#)E.HM)D5]0+.=ML5M%\1;%(Z]@N:<:$HTZDVWJCX":X\ ;^ MLHZ&3=?GH9"8SMQ&>!O@S="?RBU=*,SC@NHD->F:>G+*5CR@37-I5[1E#2;:H#8V5SLGZK$D;"W: M8O8;!E7*HPRUP0U2<01F/"6#<"'7VE106[4T-.81>CE'O@:_NJ&PUYCE M[&?K"QN"!Q/-75Q"R&:2GZ,8X'-N]YM9/@>A,P<=%630W4T9%^4#NISI7 M09%^5DE>:B$AC&I)KEV[1YZV.;<9:,=6?$E$N0B-C8ZI"UA'EC>37*VO99*I MM9M/1!C93%LF3K0;B%-4JC>T0('E;I%=#'9*.K<"?..6 &&X=M?EN;'F0K\4 M\ ?[L<[UDU]>#.V\?NI>?]N-S)I;)]%S"O[ M4+0P1G6O\%Q_Q9S58E'=\H";,[_K\K=NX2>C-U6\;UW%NT GD9K^C-NV6H*[ MVZN/]]P?(E8?<88I!]^@-SUOW1Q2ZJ,@HM[,J0#M!7^GPPY;N6&(RRU/SGZ_ M-! M9UY[V9G=AKOKT!VN'/;ZYZ..+_?7;M=3T%@3] (0[@SYF^'CFEM'?Q- V69(4AR.*9D^H. MCWR')M(: ME1B\(YC-C1>QKEQ$CSR3\T[_9[YP<5*>]17IR"(4X]W=8S[2Z7 M>V[2]0<]_]#!/;'KY8"SUBL;T'+)+Z;0C^LHQN[MC7JU?O?ETKWRT6QW+\[\ MS%%J8:0%2/N]R>A(&/_WR)-,# !S"@ &0 'AL+W=OH:&>C324<3.%<#&KQ18?T/U2WQN:A0-*+BM45FH% M!C?SX'U\M9RPO!?X5>+.'OP#6[+6^I$G=_D\B)@0EI@Y1A T/.$-EB4#$8W? M.\Q@.)(5#_][].^][63+6EB\T>5GF;MB'DP#R'$CFM*M].Y'[.RY8+Q,E]9_ M8=?*)FD 66.=KCIE8E!)U8[BN?/#@<(T>D4AZ102S[L]R+.\%4XL9D;OP+ T MH?&/-]5K$SFI^%(>G*%=27IN<8M&/@GV#-PIZTQ##G=V%CK"9HDPZW"6+4[R M"DZ

M7&'A.Y5C?@P0$JF!6=(S6R9G$6\Q&T,:CR")DO0,7CI8FGJ\]!]; MVN),3N-PEES96F0X#R@-+)HG#!9OW\27T?49EI.!Y>0<^M]@>1[GHW8(<01O MWTR3.+F&T[A^.TJOX3.", CX7&N+.3@-&1I'.4VQ9AZI-AAI'RUE82EP0"D&42%FL2TEA MG/NM3H"Y?H&X, M6PB:V!BB)!30F5NIML=6>!9C^*@5R6Y -^8U9'9;PS[C(YP1.6-UQQ#)WL%W M/?J*T5<>O=^[,9A+]V+Q4X$$65+19$!V#W:54_Y!SG"\+:2!)U$VISAFE(V& M:A[?4%8VE)-\5:QVHY4EG^;^)I>B%"I#>. *8N%K+Z,;2\ZVWUP-;/[MD9(; MJS5= 2?XT>2EY!%!^$EGPE?S?IN+P^$DV7O:WZ/=B1I^]K>=-<9P0 EK\2#T MOQIR9+\2CY+TXA12+](BEEIMOR69ZB5F/\:CRS0]Z83#\_["58M*-QQM!C.] M5;2-6EAHN.P( < -D2 9 >&PO=V]R:W-H965T M2_/?1U>ZOQ.FX]V+81CGRI5VXO1 MVKGFU61BB[6HN!WK1M2866I3<8=7LYK8Q@A>>J%*3=(XGDTJ+NO1Y;D?NS:7 MY[IU2M;BVC#;5A4WFRNA]-W%*!EM!WZ0J[6C@<-7XD:X'YMK@[=)KZ64 ME:BMU#4S8GDQ>IV\NLIIO5_PDQ1W=O";D24+K3_2R]OR8A03(*%$X4@#Q^-6 MO!%*D2+ ^+W3.>JW),'A[ZWVK[WML&7!K7BCU<^R=.N+T*>DKM++^+[L+:Y-LQ(K6.EUUPD!0R3H\^:?.#P.!D_@!@;032#WNL)%' M^25W_/+SYQT$4CDZ*3NPIR MZ0-R2Z=JM+?NJ+D5Y7\$$('HDZ1;)5?JHQB]%,699$K$T3K-']&6]99G7 ME_UMRX)^U M$RQ)OOCL)$W2LZ"%T5NF:*[;DA532 M26$C=K>6Q9IQ(]A*U%BBU(8I7:^$>>F$J2+6&/T;2H?91A1R*8N!--.&;;@I MH8:V*'2-+=M09N+W5C:H6L=:)(9AM:Y?%KPNA.(+);9PZE5 ;,<$OA2T)2QF M<@F-0&4XD'@MTC*^M0YO4-30/EYNS6][RU=&> &+ G+K[2C0$8#P5NBJT36M M.6X^+PK=UDZ4#&3'K&@XH JU&;/W>ZB](+"H%KF/'SX2:7RVMXYQ:X6S?C(Y MB[:K7A>%:2&G)%]T'NV7$.)NV?>Z+EICR E[7AM*1JP&=>LEVZYMM"$'=1H9 M0J);P]X@1EK)DI-Y5UQ11-@-T48( 5=6@U=*X?T?'$'[-1 J-JQG4=@:7->^BF^V"83HDFNQ7D.5$_! #\[Z5&P;FINRC> &X?J 6?%)F$): MKS$ \J+6*Z*:<3[LZ):("'IZ-M?1T3(,R3R-IK,I^V>DOT,PRZ)\FO?O219'\Y/Y =)G+)N>1B?8>#>"1Y1-TWM5 MM6Q=BRA1=U&UU3Y#/^FD_XN:.V3@ISZ_#MC>==C0K/L,HAKSW2E!.!H[WT6Q MZZT5B%K>E<]\=D*OTX.]3I,HCA.:FQW,H:CRJ2_70S_/X/[8SYT[N.7Q#"F4PBS0N*R:UOG3$@K!FOVZY_DL MFIW.7W3:'DZ$]W"B@7RX^(4[F/+EB+/H(+ATY#P0V\@?+8T;')S^F*=CB=H, M1EW6?T"ZGF3%PR2[(]:[TO[4/5;=3WWN MZ+P@ $OONJ71U:%[!^P>GT9YML?N69*AB:,^1Y0OT:T8W*>/=BR^'=Q7_MSW M%2\.\.7C/#\R&,\/][H7RZ.;[.N9CF?YYX>U,)XGN]&G<\(-5Z';]S6]X,5' M]@$-A.7%/5I\7[-O6_2!:>JOF:GO@*AC4((2&^WB5H_J];B!'@H[S=+_12L5 M<8O%M:G@H=:02<;J.L)32>12+7E(*70[*S1"*_(.[6%QO9+47FUY7&GK$T%; MNIU@Y%E^.CX%X2KE^[8?/<52&@[P1*%1!)IH (? H?P-^J/N0@0&H$ZPW%D& M^&1;AVV_>4?C*D3H-H]=>2>#SPV5,"O_4<4RGP#ART,_VG^W>1T^5^R6AX\^ M[[A9272L2BPA&H_GTQ$SX4-*>'&Z\1\O%MHY7?F?:X%KBJ$%F%]J7(R[%]J@ M_YIU^2=02P,$% @ 1XU:6(:"12TM P &@< !D !X;"]W;W)K&ULG571CM,Z$/V549!X*DV;+K#:;2O1!002BU:@>WEV MXTEBK6/GVDX#?\^QT\T6M%3BOB2Q9^;,F7'F>#U8=^\;YD#?6VW\)FM"Z*[R MW)<-M\+/;<<&ELJZ5@0L79W[SK&0*:C5>;%8O,I;H4RV7:>].[==VSYH9?C. MD>_;5K@?.]9VV&3+[&'CBZJ;$#?R[;H3-7_E\$]WY[#*)Q2I6C9>64..JTWV M9GFUNXC^R>%?Q8,_^:98R=[:^[CX*#?9(A)BS66(" *O ]^PUA$(-/X[8F93 MRAAX^OV _C[5CEKVPO.-U=^4#,TFN\Q(!)&THTU09F:3:G8K_. %-$Q+X]PNQ&N M^ /WAG)\E> '-PF@L4#P5UQ%O$MEW-:+6=4+(K5&;S55/ JX:W^ M3\'SIRH>\2Z>QHM#<^4[4?(FPU1X=@?.ML^?+5\MKL^PO9C87IQ#__OC.0_W MV0:F9?'\V66Q+*[/@E-T6JRNZ1/70E/G;,DL87ZTW J#N8WQI#SU1NPU4[ D M?,DN0! H-$P8#X7I88(DE+;%NZ)2"]6.2?7O\-?4V($/[&8DJL .HW^(TQV= M2VL\\$0:Z$&%!CN]P8PG:Q#W "!EP"%Z*LEN='50@8.(/!'OA"D9#D@!^BD2 M=C"4&&?90R90A\^!6KUX]'<<4"C 9AB_J>X]:P6N'I4*H =JA*>6G0K6*=O[ M*!!0L.A@4S=.*O\U-AJAJM[&-OZ@SGH?>9QVS?=E\P P**W)V#!#25(=E.R% M1IAU=&R[J&N'U@:>@=,!:XJ'X%1R$Q+%>R:N*J@CH4.V=ZEG5BN96H%_&9WV M,2]N@+&/?D:5,F@'4**W5*F[2%H*WU %A9]/?\\>W<=;XU:X&H>$WZA"Z&+^^F5&;E3B<1%LE]1O;P.T-'TV MN+S810?8*XN9."YB@NDZW/X$4$L#!!0 ( $>-6EA):1]0AP@ #49 9 M >&PO=V]R:W-H965TBJI8B0N M6MM+E7N9SCQTQF5GDF>8A"ATDP0; "UKOC[G MPDJYV>9"J55.7%(H&+BW.W M@POZ7JK&%K,2M9J8I2ZX/;T2A]E>3:-(-W,E\9VE@ M=GU9\US<"_M+?:OQ-NNU9+(4E9&J8EILKR8WT>LW5#J M,[W\E%U-0@(D"I%:TL#Q\RC>BJ(@18#QI=4YZ;>DA>/G3ON/SG;8\L"->*N* MO\O,[JXFZPG+Q)8WA;U3^S^+UIX%Z4M58=Q?MO>R<3AA:6.L*MO%0%#*RO_R MI]8/HP7KKRV(VP6QP^TWFYJFXFJ MC-"/8G+]PW?1,KQX >*\ASA_2?NW0GQ9R5^4%2Q*?OAN'4?QQ1F5C*;"Y(+] M=:=5D^^8W0DFJHRI+?DZ#MA>,"-R+7)N!88;9'UCL(TQ3%9688$6 O78JS:M MZM=.UR]6%M)*8;KQP V_KX3.#[,[48D]K1I-<^Q.(K>R%F1/-S-E/U5N8BNU ML>Q+P[45N@6:.*#ICE=YB_(,(@!FJ:JJE@'VTGI[P5Z%S"N2(76T&J8)7?&" M@=]X)7_EGC, K>05V,G)&JN;U#9:3.&^?IL6A2&.(K+QF!6*MU/^]N=W'YGR MQFB2I0G*'YEB&>RHM7J4F6!P+\E3/!K,8V_]68!TV<^=%L2E*;@N#GAZ)(IR M"\#1&HBKW"'>RHI7J80Q&':\7:7"<5?6HC""(0Z]GZ:CK(!3&ZW)K/,.38N& M@)Z+=!])'^PAPON=3'=,&MB#M4W=^86PP&S(8^;2D+*[CA"6@ORE/Q54++T,8'$E\;%P^Y&"?E.RT?RU6P(VD3/K("Z2B*F5*^:)Q&@DMC96IRQ)!%AT53,4I MT6C.(VB!M9F2L8?#T:(+)X;9K/')CD?(&_$5]?900[EF:<&-$_%G#92N#E5J:^6K$:12$J!([VR;4RSF%;:2G5>G0^9.IPR"J#$9K*!5 ZJ4]* M$J]TLH2RMY7RID1S(>M"C):#>Q3Z#J1/2=7Q//^/# ]8*C -5;PHE'<4XN#K MV!'&,.QJ!;F)>)+_L"6\ #Y+E;%88QI$A@,D3ZGP#]TX>:OV1$@#QVL'9A)/ M:"0-)<$>A>&HX#B:6P4H>Q)%_7+V &.W,-2D6M9=?'WNG#EZQHJ>$Y-'(:CF MW:F'[M13&(@ UMY;-TG !SYP_N?/^7KL/-(A*V/AQ/&!08=)Y4@7ZXAH:5@\ M4;ECD:MLD'/._9:N0]7@A<9ZOV:2(OW0]!HM0)A2&M<)FX.QHFQK"317@JNZ M +9SQWX]9N/?X O8_Q:IGO%O](QGU.Z($%6._ 3)57G@V AT-ASXX$)_F@)W M@)!:EZVP:HH\Z(B&D0(8MCF4S42H*+ST;0'9M/QZ5+'! \P?XT)_> 2*! M.A!/*7]L![:%4FYO;%<$.(ERC30T!*#FZ#("'"D6M8V'NCM^QKN?QG#[H[_C#C N9RHXT=F!*P@I'0MA%%NT5-WBM$4PYO M='=#5A0CW@BH=O>X_M"OH2C#E41IGKNHN"C-7&V1K4,2W12%[X\& CW/LMU) MO\<.$I<\.N(X_+S#^X,0%5(=1W'E&LO6ZJ'H744[=D,Y :-!XT/G2KN094KX1;Y7(N)MZ8[<;;":@M$W1GT; MX_8>[&][9W;7FMV-=^\CD!18,NL@. A ;%H7A-!PCGP?S. P6FS-323#?K()E$I]. M=5[_X'CKUG>'W>2'<K;^8X)?)*F=P%T?N;_5JCR^ MDSUOEMV')5Z#-YXD=3W%@1''!FQ)(2($-6EA7_F@D -HC 9 >&PO=V]R:W-H M965T8!)&F[F\,V&S3M M+NY^HR7:)BJ)7I**Z_OK;X;4TW+2W;:'HG<'%)5%D<-O7M\,%9WNA/R@-HQI M\K'(2W4VV6B]?3&;J73#"JJF8LM*>+(2LJ :;N5ZIK:2T7XJ*IWSDMU*HJJBH')_R7*Q.YMXDV;@+5]O- [,SD^W=,WNF'Z_ MO95P-VNE9+Q@I>*B))*MSB87WHO+$.>;";]QME.]WP0U60KQ 6^NL[.)BX!8 MSE*-$BA<[MD5RW,4!##^J&5.VBUQ8?]W(_VUT1UT65+%KD3^.\_TYFRRF)", MK6B5Z[=B]S.K]8E07BIR9?XG.SO7=R?9DX7O^"3DBU#QS@Q/ROL2TZ,9P_F]4 M"P)A9_+JGD%.R#4D/R_7A*XE8Y"Q0!/D MW08LU!N!#/ZCXB!);Z@F.T:V5&J>\BT%Q!S2L\Q :JDE7U8P GM04E;%$F"+ M%2D&>BQ9R59QHDTWDW!#8^4+,FV\ZNN.F>4:D(P\PFD)?,^*3)3?._;Z3##QB$Q-C:R,CW M312D0H$^.P;>3S<0+B (]D;9DN44L8,>"IQ@F=HH!72M,"ZV4J1,@9^N!A;- M*HD1AQ"LX W0K[$2>,I" @LB&M 0S4H)^)RB(7M11OW@ MJ.U])*Q19XC!=K"@>XA!4BF["NQ_SS/6A26,=3D&6@J-=A_JV@A3TQ;3-;K@ M^"P"56[;@XO/:KR(T#&_JG)5F1 42\B\+M&:60UN\!EH4^>Y9$5-35^$+]T( MH2SQ(=2Q8SNH%.JWWF22[B 2 [?WT;DIRMN8J-T8!G==49@CLD>1&/NCTXRT[6Y=3I+2:J"Q? M2V8J'O(X(H.@V J)VR%[JPT&LWUIV0"%YE0A9N!W2UP.UIJ"0@33LJQ@AR$S@[J1.[3- ME%P:]YB]3=( ?8$%4D1K2/F>W)9UY?78',[ MY\ABLP[D S!5;X/S54MS;WA9,B4T':/"B0?1 %8JA*WI)8G^UL_'-@HT"#NT M>E-:#'T;(Z*OIN0&F:@68GD%^PZ^XBD%VP_+TXX=$MP2CQB0=";8JD&VM&BP ME2=1Y+I8'RRWF53Y'"VR+NK^2HWLPO?7:D"75],VNGLIUW:6 MF*K0?V263-H"@0! 2LHD NZ:P8&?H>VHX' Z)1>% -_:(%S!J$ J&51B9,M_ M(5!DOS5DGP2RW@,7*V5#*8X@9*6A#4N$!P+V#$MY)Z-;N7!'*Q']8#6VL&6W M&%3/&7+?:.W LJ^O;V=O;VO;8FIC^,^NP9VF'V;9@=(K,#J,!&OK'[KMV@# :@9&V]B::%TVF/RVFPM^8MPV%A8BKMY RBY1:=[! M'2AW5TG;7Q)0""KV6)DTK[)6%SQU=%Y4UB0UP=FS"G8$^Z*N4A1.18U\6,H^ M8E^*#Z#B5CF50W:PP$KV43>[(S'9[&$?MUQ: V180+&+JN2G#E5ML]SKC<:E M\/_7X?6J,^JWAM)8IMT44V&_=1A]=D8P/%[G0U/47KH& MK:7MLF&&?4,$CWZ%BF(/.Z_*-;04V!9B0;H='(2:ID"1('X>NY$?).[,=3WR MDRE5U,1"__>-P'_Q+)R!0>,6X%,2.QYTY=U]Y$2)W[L/G601?7-#?NGU@;[? M^ /K[ T>PN1I9] \>VIAM\Z('?VCQPT>CS%DSD>,FBO0N< M.$EZ=TD8?'-S?7DE^.PS%PF#Y[$7)6X4C\Q^V(G[CS[U#AP0]QT0^SV31TG4 MN_.C\)L;\$NO8Q89'$&;:4D$Y!'XX=R&>#/\#]LM6[/^O8("$;AUL']R2F=7 M,/V1GXTWQIP2.HLH'HUZ3C(?)X3GS)/OWTN/OUEHI\TQ(\(X#(*!EQ[/C#\S MJY-E,Z7SD3<;>+MS41 ?&4V..#,9N_)[N_Z5ESJ1!SYR%V$8?"766LP";\A: MH>,G7:4&GHK[120\DCO?V_53;\1"SY2&*$F^6FGPAEP$M6">C' %SCP\-NHG MX]'_E>O5X;O6\Z=C?A]J=%TX< M=#O[X/Y>2^PMG/"_H$7[W.N[(V]GS0 B'C%[=>$J"Q(GG M[J'L8W_9G_6^MR@8'$#QJQ+\ U95:OOI13O:?KAR8;_7Z*;;KU[>P/F5 ]J< MK6"I.YU'$R+MER3V1HNM^7IC*;06A?FY8:":Q GP?"7@T%[?X ;MYSSG_P90 M2P,$% @ 1XU:6#/R?-UN! I0H !D !X;"]W;W)K&ULI59M;]LV$/XK!W4H.B#UBYRT0?P"Q$F'%4C7H.FVS[1TLHA0 MI$925OSO=T=*MK(E!K9^22CR^/!Y[LVW:(U]="6BAZ=*:;=,2N_KJ_'89256 MPHU,C9I."F,KX>G3;L>NMBCR<*E2XW0R^3"NA-3):A'V[NUJ81JOI,9["ZZI M*F'W:U2F72;3I-_X)K>EYXWQ:E&++3Z@_[V^M_0U/J#DLD+MI-%@L5@FU].K M]3G;!X,_)+9NL 96LC'FD3\^Y\MDPH108>890="_'=Z@4@Q$-/[J,)/#DWQQ MN.[1?PG:235RZDW84T\(X/!9:WPHO5PIH6+%L3&B^"U'"; MR$G-07GPEDXEW?.K3U6MS!X1UJBQD![NE=!N,?:$S1;CK,-91YST%9QI"E^, M]J6#3SK'_#G F$@=F*4]LW5Z$O$6LQ',IF>03M+9";S90>DLX,U^6&G$.7\9 MAZODRM4BPV5"9>#0[C!9O7TS_3"9GV!Y?F!Y?@K]/[ \C?.;\0C3B[=O+M-I M.G\9%?AT,IO#+>UIS.&&(FCEI@GUU-3N9TX):2[]M*;=]5K)Q-B 3;3*TGMH,F**0M'8@=#[ M:TOC$#91H8.&\M"")Q+GD^F[QY\C%V$1E*RD)PF;/11(1D*!%T^@1#MZY@(' M.W0>9%5A+H5'M>\YYX0K?#AFJB++J,U8,J%G:^XUD)5";Q&DCCJHKDTD4POK M929KH7UPV,>YHRXB?,D&%KVT2#W/C^!:[X_.8*6Y=!D;&$W=\^BP9WXZ(R\@ M/6,#-^))H-KXLZ";?%A@4-Z1?(F+1TMM)H;5%-TSS"B&0#3D8UH$A'_H =1; ML66Z03;EAY=:-#YEP[/J4&@-6&I/1- MX"P\F/<9F TSD" VA./W7=Q-8U^Q#&G0"@<_348S:JE*T2[[369EV)TTYZ^&X(Y1BQQG713[$ MP-:&T_*]:;F^E2S8P#4V,'G7J;OY>O>YDT%50H0STG6LVK[L!I%VO=R3E-@@ M1$/M8U(P,TZE$-[H<,Y+J3WJ/"K=D O)!<:/2217()OT3%2\B2$]J5-)&0AI V.Z$:[)-!LA-H_*"# M4/%L7PC)/=I/!@=*K3;,""Q[D;[ M.$4<=@\SV'4)&#C4!0_O*G#(+(QGL::L"QI MCD3+!G1>&/K1ZC[X@<-DNOH;4$L#!!0 ( $>-6E@P"[R<8@< &P6 9 M >&PO=V]R:W-H965T"WK5QBU?K35N]"_."KIB M=TS?%W,)JWZ-DO",Y8J+G$BV/.]=!B=70Y0W I\YVZC&;X*6+(1XP,5?R7EO M@ JQE,4:$2C\>637+$T1"-3XZC![]95XL/F[0G]O; =;%E2Q:Y%^X8E>G_>F M/9*P)2U3?2LV?S)GSPCQ8I$J\S_96-EPU"-QJ;3(W&'0(..Y_4N?G!\:!Z:# M P="=R T>MN+C)8W5-.+,RDV1*(TH.$/8ZHY#9P MTNTJ?!'QAL4^B0*/A(,P>@$OJFV-#%[T"VRU2,-N)*R4$U70F)WWH!04DX^L M=_'VMV \.'U!SV&MY_ E]/^DY\M(GX1F)!B__6T:!N'I(5R"SP?1*?G""-:Q MAG]$;P1A7TNNGTGH1^B&RD21#9.,Y(*D M(E^!@NYBIV[7[3[YNP./%$QF7"MSQ(#P?(67EP71@HS]$=1BFJ)&:DTA W"7 M/;&XQ!ZC/))P"6U'2&6LBYDT/E4LYT*"CW/H=U+YY -"*P1V^B-,5J3BF0$F M !-:%%(\@@F+9Z-,*VZP "TU8Y5?K@2@X.*F=?_*7@/@'!P!YQ.6:Y*Q; %: MO'2V0X%],9]<&A H5X-8EZR)-T"8H(S]<-=G< ;R)<,-3"'H\9A]Z&GZ2'E* M%RDC,':L^JT8[B9*E<#W1F95\H3FL?'*Y=TUF013SXB$@]/]Q(?"(*8RNFOB MEBDM>8Q99*7NKAC@5"KT$4_0!QG8!<.: *&7;H4X^H<\H!)Z$#+ ; MNK[!:.\[VUKERY[PMPU!4Q>:":GY-RPKHP8^ YLHSK]C[$"067HM0-U'%S!L MD*@C5!47"=AZR%=5O6(9I'S%,0.V]0">-*''DR018)F"G)0N87V@\7GI2G_O1OY]$[DPVCMQ- M(_0>/+L$GT%SL)V!W&"@WF-6?#99 0XT!^MS5S0UF4[U7OF%M=!X,/0FTTF] M/B+AQ)].Z_4'Y_5J'8U&WG@XW+, 3T7UZK,UIEK^'D:A%P6S/_:/C?U94*^ M2RT9;YV,1EXTFW0 M@TDN-9):H\@%$;,8?@1D ]/TJ#%Y/'(T;,PAE(.-\?8QY'/!#.E-GZ%'=[C- ML]W]B0.[!2%R% S\H$;$<9=#CQ>KW%1[9W.P/5NUFH3GB,$&@*"X2 /#M(2M M*TGE2ML9\,K GX6F7M6V5.=,FM"\R@]X$*@)?C#*O:*,H5 M#52T#3!,YP%.SU$8NAAT5M>:\])X#JYPP\LAVJE$6V"FF9$8:,0CO.>0I109 M^<:D0'!X67I3M5Y-Y0KZMP,TIY D627+XCMJ(D)+1;> K@P"53QLCN(@3YA& M4I/_))>H',IQMF\="JR1R1P2/&-4E6B/*B$%(&?1!G HZ,_A\4%KK"\$-G-P MIQUMCE1:PUJ -KB'P# /FC)D@;CS!4+#YUG0\U4C8,J1)2,XT M2<$L;7T.%"4K,U"!8@8W=;!&.#]58F[V22334"TX8GSL@OLI@X73J);#Q+HJ MOA8KZ.Y&+I@&OXMD-.*&3G:W[:N&@W\_@_YG!C+_90SD"[Y3_%.ZD'[7T9*E MU/&25SN,QK&0B5%/&,=4[J/--YFJFSQAJ[8WF.2$E&,4\EVR FT%%'29\](K M5771>45DW>$$KP6MN#R039*MX$C*E&FV#:Q7T*KYKZ556SHU_WDZ]2H:5;TL M;&E4M;-'H&9#8#11%X$:#7:)TR[L[GX'81K-O.%HU$&8#/ZKB%(4#;U9-#T M4:U>11K&6]+Q8YQA_K.<(?2#R2YG:!9*:]"]?B"HWO@!F M#*80?N=4 %OFVGX,K'?K3ZF7]@OB5MQ^A_T(0PRCD[(E'!WXDU&/2/MMTRZT M*,SW1%!-B\S\7#,*- @%X/E2"%TM\(+Z _/%OU!+ P04 " !'C5I8Q'C9 M0T - #J)P &0 'AL+W=OW(,XS,54N<>,9QTM>\29-,G#3S/L(B)*'AHA*D9?77OW,!+J!).VFG M?G:FUCN1'%^( M)#\\GWB39N&#W.Y*6CB[>+;G6W$MRD_[]P6>SEHJL4Q%IF2>L4)LGD\NO:L%$[:N5)FG]6%PD,K,_.=WM1ZL TOW@0-^?<#7?)N+-)9;&(^P3.P$K+C]_P\\)_E.)+L9ZQP'.8[_K!(_2"5KY TPO^ MI'SF=#A^FB+BJ=KSM7@^@K[U'#CS MQ=+X3;NZ<#R_DUU/V M-/27IY9:@H4_4.1TONSM"6&S.7?=^1&'TT;JZ3L,,R MH6W2D+8(2MAO7;)@MAPP[8ZL!;.N;J"0LS5L+U$(INYL,8SKJ3=;C:YZW>KK MKEK$#/Y1Z/*X!:0OH52X3&;4XL[\$0Z':]S8G$U6 VC>)8*G@"0HO3_?G M#,E=%"6ZA)32?#!*9QC*#].F.("/FU#IM@\+J#L;!KL[ZYSCBN\EA6Z2*\6J M$N'WNR'Z!#&3""!^,N0M3RJSS,GC>;86%K5A4IY&L^70$/;.=P@_E.Y2I.H! M'E=#JCVCO]ILA&YJ+$==]3S3FT.GEJ.2TW6/'Q\'$CO$]XT0&9HL0,4N1>T:\;>547]@*O; M0WW 1D!&53>_0D;*/R.A9&Z$=7SO>\W"+?I*RFQ*A^+]G>;:?8%UN=>4(%>F M6<"3Q0[=#):N>,9C;DZ!$25CR1N1S'?W>>20N]CGQ,("-72I1F'87L!N%4RGH?78V4H"KBIE)$1&3(A8:W MVII4NLQ2#A9(U4*[.9P(S*@*CF1*7B,*3[0@D ,7EXF(9^RG_"!N1>%0>][* MWG+65T">)<>FEHJ[DI*3KIJRI!*74H^4R"^"-E%F)+/I[['_B%X]28C+E@LK M/G3[%-<^I35SRV6B;29N\064[)"3)%5,FMA49:4Y ^.*TB9.B#OT7[I2U\8> MM933G$4L_RH:=>K]Q@<=+5PBLFVY:QJ(5B%LS8OB"#L^ MX5EF0HKLLY441G8"T7##6(A(C[J25MB6$E4AE083K6'^&ZW+-_8E+X?.\\=Y MN%ROBPHT1LO5"0%F-[11XLJ9 ]$VIVBB!7<8/]WU&9X;#.5P5N&*O2488A(; M;$@ESNJ$F_\A.D]O6&S"N;,, _92*EWRM+&0,(4J!UN7CN\/*R_:HF#%WN@2 M:N>"^_L6@/WSH03 Q]0-O,Z0,'2]K:<<'8$Y+N@*:N3XKLO>4!D?[$3'YZZL MIRB*>FBJ926T^@;'1<]>PP,=W426%\A ]UFESLP?HJ4(/>.B+O2M5%YDW1"& M\[IS&$M5[;YHX2R7KG5=J-VDYZ&/:?CK$0%TOZ[[#IVJ4\KRO_<=;NH%KN-& M%I2<>M[*<9=8>8_"P%'6ZL[#)/R\)_F4VFK?.NP[B[E[6CO(/9';38O B;SY M"*:%>RSGT>F8^L94,?7=A>,'*YOY:(D6?83VM_[_Y1%0V-WBPB_'!/ "J,[] M\[=3;']5[!,@T14:WNBTM[1 SK#L>*G+32\O4AYT"+-ID$(%LZ#FBX\X*IT] M"3U@RQ3UL)[6Z[%[W61J@&!&$;H0[E&I[F2*>H*R>A(%'F![<]1JFLB%!D@N M&V2T7@5#Z5*T%60:U$E%9?U;)4VY,4TS/2MIT!ZVOG_SD^6PNL7.9 ,82RM/ MD*2NQ>T64H%5B ''QPTM:O)<31"HS TOC'-%4 #53ESKB2P0E?TVM"AA 86 M&?);:>HQ)('I/%.IU"F$"&M'%_>H_TA89 M>#I2X%L 5@X]K586^3'&>:DQ,?_5)S M(A8P&&45B#/*8EP5I!]]]0&0 TU!"FP/#<65!BB$>)'T&P_><%EH2MJS6GD;6H$-$('VXI"B]Z=T:E13CO.T(W6HYB'KNQ' D.E M!@J4:@=.:[$JT-1=>$E##F1MB40O%9G46YPS>FN7YU\(A W&2S7([$-+,-5% MUA[RR765P.^B3=).C2O-U"%>0 :["Z[=QL6Y +W/#$ M. Z(5)G5Z%A)6/6G=__Q=P1_Y,7 BS;CU9+9Z-EUO%7O)N;@T3OISVT@J6+ MAV&BYX_;;6Q]&A(R>\/W9D9FYJ?ZHP[-.EBMW3;Z"VU,,O46WNE@A@Y9O<6W MV_NSU=@C^$T+U?8LI!M@4YYHT4TRC7LY\9YAL# YIBI@)Y3VQ>D*#2PLI M/1S@:SWTS]=PX28_9.(.6>T@$ER=FK?V=54PLP\@@S;]U*94?5L:1/85K^I$ M)60S-K43*"3UE*U#)EF.-(UT5MCS-'''4VDF=&WD&,W6KZ]I[F7J_P,@_RA/W-M/_[Q]=6EB3Y^-)[5Y$- BAHPN52QFDE$E<4U M;FW9-VY09;H--1?#[TB6$]]N,$;@IV_T1'O-0,[@F68*8_=5Q"^L?P79]326 M=/2B+DS7]"L<+;?F@6O]W'=./^1ZV782N[L(IWW0(*&.?[!1!(X\7-7SY3/-4KKO( M=RV*U-.3*PM%0C/L&N%$H(Y.TP:'AJU MLI2KF;/1.K]R715M(&/J0N3 <60E9,8TBG+MJEP"BZU1EKK4\T9NQA+NS*>V M;R'G4U'H-.&PD$056<;DZRVD8C=S?.?0\9BL-]ITN/-ISM;P!/J/?"%1TZFF-(;-_P/Z9QL[QK)D"CZ)]%L2Z\W,N71(#"M6I/I1['Z! M?3Q#@Q>)5-DOV96Z0>"0J%!:9'MC]"!+>-FREST/#8-+[XP!W1M0ZW@;1I^2KX'JCR#V/(6X#N.A>Y2,]^'A+>Q'O M(+H@@3\@U*-!#UY0Q1Q8O. =8RX1P].(YN1Y:((\0 M"1F7__:S8$E,;C)1<-WPXS,L98&I@_@3NQG\"O$KD]'FL$?J[IM<)BGQAYWN M0^M=>",T?25A1^%+P8$$WE%O^OH&V$VQQC-+@H[.$^0:LB4&<@3Z6Z2%&>C' M?1#;O7U'"ZG<#W1C_\)XR549'#T-7%%*NVHM2NEI2L^ UI32DY32DY2> 6M1 M2L]32L]1>@:W0RD]2RD]IK0T"=ZBE';46I0&74K#/E!#:7?6)J5!A])>L#VE M7?=J2NFD,U11VAMY16D7N:+T"+BBM#0)3P-W.W_? -%LF0)9FK*"V*3+M2(: M!R*1Y84NLXM8F3L[B6QFBY.TT! 3.&2X'#U2-K-@=6-M7W%,$3 7U]$^..P3 M V5/VH\)1R-1*.Q1 P(O$1+8 &4V?ZF?KMX]@9YK_T+WRVNW[?UAW%)O@[ ! M/!098!H6\OT\?, Z,N&X!/6M\0,N[FC@A\-F3Q ,FLD*>_"TCH/)_W#7<(%U MT_M&^\@RVR*!:R@77-EM='+['6^YVIEA,*"3<4OTO%JD@]$X)'=F[V+] M2F"UPH+6(&-M&#W_;$I2]&/')-[?!Z,)K<_,<%B3&EZ._XWO/0>F0@\'M'&< MT?EQ8SX4_='QE?:][7T/F]_;WMKUJO>@VRGD\H&O[:%&X.)A-RLJ^ZJW>13?E..L$ZY("BLT]2[& M0X?(\J%2"EKD]G&P%!J?&O9W@V\[D$8!QU<"2\6]8":H7HOS?P!02P,$% M @ 1XU:6&JTC-NL" QA< !D !X;"]W;W)K&ULI5AI<]LX$OTK*(TWNUO%T#QTQD?5Y)K);I+QQ,G.9XJ$)%9(0 % V]I? MOZ\;)$7)1WEV/M@B@>Y&GZ\;/+_5YKO=2.G$75TI>S':.+=]=7IJ\XVL,QOJ MK53866E39PZO9GUJMT9F!3/5U6D21=/3.BO5Z/*66$;>HZ M,[O7LM*W%Z-XU"U\*=<;1PNGE^?;;"VOI?NVO3)X.^VE%&4ME2VU$D:N+D8_ MQZ]>CXF>"?Y3REL[>!9DR5+K[_3RH;@81:20K&3N2$*&GQOY1E85"8(:/UJ9 MH_Y(8AP^=]+?L^VP99E9^497?Y2%VUR,YB-1R%765.Z+OOU5MO9,2%ZN*\O_ MQ:VG37!BWEBGZY89[W6I_&]VU_IAP#"/'F%(6H:$]?8'L99O,Y==GAM]*PQ1 M0QH]L*G,#>5*14&Y=@:[)?C-K@II[-_%NQ]-Z7;GIPZ2:?\T;Z6\ M]E*21Z3$B?BDE=M8\4X5LC@4< J5>KV23J_7R9,2W\H\%&DG MI7S63HIX\>*G>1(G9T.9O#0[:R4+>HW2,W&%.I#&R$(P<;_^AQ29P5_C-MJ4 M_\6^TZ*TMH'X((HB^A-V QHK]$J<1"$68K'-C+C)*E!M>\&6!(?BLQ[0'Q][ M*W$88,.Z3!6E6HO,"62!K)?2])D@L$;,M^(21JDTVF0)C-6!:]Q,@[FBT4GC,W@DPJF.+"(SWK2@:K: MA4-K6HE)'"3CR4#QH9JB5"P/4M-@-D^>)L-I?.XD6,QG3Y/&HD%9&]ABQ,>O M7\15E:E0?-W( Z.WC;C/E+$FBM8X=,.,91YY)_.& M'(W7"JW)'JK+NB"!Q%8;;A]0"_J7!LRJR2JQU K*9K5NE"/JSGIVTH$/D<>9 M*$J;,^G*Z)H]@1[X'4UW:\I<'CAS[\=]/&%JER6Q]S89--3!"ID9U3,E@:=M MF2)^H&-5P[D'<[K8(2OSK,J;*G.4LT[,)G]KS179C33PF<@K;2F#65L^N\_B MEA+%?E-JJ+.#'OO4?=L8XB,*VH"6U"#NUT P3$DH'L#*+NG311"-HT",DR": M1YXF38)%$CV2MH=U%%#=47 [57\T>)&FVA$3IAN;#2(LE%8O9;VM]$XB2*RE M[?9>Z\P47,.E@7AM[/TR6#45)".OR)O-EC(29F0*?B/%-W I\D$K^9(<(IS) M&!O [^!T_$TWDPC2:!B$$RBQ9^*P;-=!&)+]??;""49(\@F"M9NH8, MH,"Z[(Z+DYH&#K?'SF0C]T_**)2[?3%YNBBX)E1KUEGF&I[:/_<-'%$[&5)@?"[.NOC627T,,J M?%"0]KA5H#CZHMB;$!Z'Z)$(X;]MT#[V)NVK',TTG0=IM'@TFY\=J2&H'F-J M,@\7'4AR3#&WDN8M,".?]5KU<3F9A/$04KTS#NI%WM$SJE3E55-XY/EJ,FRW M S^NU]U@6=('R3: MIVS75@#%C]W8SCPBVVZ-OI$>_!A'KTQ98RBPXAKS&\)NH9 !S'NKGCSR'R2$ MSDVBLW?75U?\&)_]D\/! T(@9%6NRV7E@>"EPPUF$/4<0IZ=OEW.>HSIV?I< M)67:-FTQUO2@C6ZVQ^6#!(=86EO*=:D4!;\EXNIC?,>/!L(97I:J>(0B[!T# M_?.W+A%'+__MDYT9+#K5(W5&WCDR:2EW&C^? M,EC0,G('ZVWW$BA__[P9O_?-Y;XEOQ];TG:BUIA_-4K2&4-#0DIO#_%Q$DS2 M^2,C%R6,ZMMUGR(GR22<,PIZODX<*F41+,;I\Z3=R[R3>!:.QT.Q73%> T94 M@>N]^*W+F(,Z)9?W_1U5SZ!?*L 4#N0I\]:4C$O9VD@/#(QJOZ">,<"):WC& MBA=9O:71/Q0?/[X)$NQ_';ZVM2K2'9,)>9,!48R==$(9='D'*"#:'58!7^1'3 7SO*3=J] VS!L.T,\&-P4Z#"F:JQW.L*+QG \PV-L-H;+ESH2 M[TF?T748FGRZ$S;<'Q^'-]2,JS7JS>'8#(M/KTU6A^(;W\5Q"&EM^W!HH4A!JQREBUP!MOGNQ3[71$WPB[ X!P<":$ MWO@@*;G6KN1>[_;3@64D>B^7IB&PV#?O!WR$,%92E7;3=O&JK$NNLP-_/7<4 M2\D]15F@-;B][S*U>Z04GRLW8;\/,!0.S6GLKRJZN,]F0?)$N7O(: >D; W< M6-/$*=$AB/UD.DB,0W0>!I$1/PZG\9^82Y]0>II.@MDT_;^5CL?A[+E:IV$\ M"8_K!EWOX6O7,W.BO>D[;[R_IG*-$.6Q+\;A0]_P3@??5FMIUOP%&>,$@9W_ MS-JO]A^I?_;?9O?D_@LWNA_F+BLJN0)K%,XF(V'\5V/_XO26O]0NM7.ZYL>- MQ!1OB #[*ZU=]T('])_N+_\'4$L#!!0 ( $>-6EC9@'1[(P0 '80 9 M >&PO=V]R:W-H965T._$[NM/[BA??% M/, ^(5&*W'D/'![WXHTH2^\(TOBZ\QET(;UA_WWO_5VS=]C+';?BC2X_R\*M MYT$6H$(L>5VZ&[W]6>SV$WM_N2YM\Q=M6]V8!2BOK=/5SA@RJ*1JG_QA5X>> M08:?,* [ ]KDW09JLKSBCB]F1F^1\=K@S;\T6VVL(3FI?%-NG8%5"79N<=O4 M1Q3HEYH;)TSY#;V3BJM<\A*]5VW7??E./BE>%Q)43V<3!Y&]_23?1;ELH] G MHA"*/FCEUA:]584HA@XFD'*7-]WG?4F/>KP2^1EB)$044W;$'^OJP!I_[ ?7 MH8T2'8[B;]BYW?!Q$L7KT@";XXLH>HVT-TS/O?MH?C43YJ)Z#J MKUYDE-"+OQ(3>5O,+E!G7._7T-?.3:Z5U:4LN(>7G4_9\RDM:LJHO(I4R*T% M6NH2B$:J%7+\KA06G30+NK9<%39$XB$7&XM*C%5"1O (9=,0'X@?92&)QN%9&B;Q]-F.PUMN M%)QC^WA6?_P1O>16YDB,(O=:B\\P'8@I&XA3/%PEZ$J6M;^A1]SNGP/GCV!Z M",S&K.TBC07Y]^.W:E(<'CAA/HTA2G!W X"1EK6/2DA'"G M3Y'I"0F3-#H=YX%#<#ZF4Q;B:$R^$?Q(X/$9^N_1Z:Z81UGU!)B/G?8 (-)H M(&9D(*99=V7_V'_7N&&41]J2?9BPOHBR0Z0(L#T M(,%^YRN+:5],>_30ATD7XM#,,.G-@I4PJV;BM? U#1^Y[5C8H=U0_;J=)1_5 MVXG\ S"&,5X#UI89982?X M -V_&A:_ U!+ P04 " !'C5I8I0\,_',2 #Y/0 &0 'AL+W=OE@S MT1QQ,)1I^JS+=U353NRM>R>V;@_F!?_!1K#<&'QQ>O&[9FB^X M^=3>*OAV&*B4HN:-%K+)%%^].;B<_WAU1!-HQ+\%W^KDA$Z17R$K3WVQKQYZ<'&1%IXVLW63@H!:-_<^^.$$D M$\YG>R;D;D).?-N%B,NWS+"+UTIN,X6C@1I^H*W2;&!.-'@J"Z/@5P'SS,7" MGD8F5]E"K!NQ$@5K3'99%+)KC&C6V:VL1"&XSK[WGWYX?6A@:21P6+AEKNPR M^9YEYGGV039FH[-W36]O$P;;2L'W7+"O[F $Q'S5".?'@?/C,>H7 M5TP+C7P3[<8P5/SO?SO/Y_FKC#4E&.&ZJ^@QC3,;GBUXT2EA4#UP MQ+LOQ88U:YY=R[H6FDSW>R21SUXMWEW3I_FK'Z;91[[BBC<%S //DKT7#6L* MP:I4W@L#))DJ=78EX5\@]/YR<>4I93H,8HJ#890\,Y)8PV'#Y*YE2<=K4O8N M%Y&]D4,Y"8=R,BK-6R5@0VW%250%B RTI]Q[-'^9F#^@$99/ \NGHZM\Y$7% MX,R\:(;X?!Z%)S!W%I@[>X2T-DH4AI=9P?1FB+=G$0B*C?]G1_^[_^#'>+WD MBGR9?X@^#?_D&<-_<_PSRZZ1;S0SV@#_HQ-WK )+U6'>=UD^/YN<./_GTS.3H\?/)W/)OG+EP.#YT?S!T^/)SD\_54:2A M#*R'ZO.O-W+;(//H$*+=P,_@-PRO:2*:% Y> 4+IB3(_FIP<]P1W M$^7)Y/3X*!7ET6SR\NQD1.7/@\J?CVJL\UT:3J7@L,UE%?WMG]:^WK-"5,+L MALQAE/AP2'K&BF''GR">*^MPW4]P-EP9 (0H6=DI $D:(JH5>[?4HA1,8<2H MV2X#?%;A; $T%'IOYGE0D0>F<H?"B#GO*M0KB+:CC-?G4S0 Z- MAO"H:5-*;T1KK=ZM"E+]HV.56.TPK W)"P1S^_-UUK4^%@)@%'57XR8@0&O< M <1G@PO3ALB4@4O%JX?'M&%W/&LDK2^:#A<5S9VL[HAQ;UV>:P73!WB:.%=A M !\ I2J@!FC[J%L:!17+5.@ M9Z"Y#-:&H7!J\=B=H\3-@_7P0@+@_)-[.>ZQ@I62-;%[G>K2%:L82F:!*0!P M[>T2M_F\WR:AUFCC.PA.0&C%\6&CCN-4)=#:M= 9BNMBNZ7 MVS1[+ZT3VW&F,HXYRN"ZW-'&C?1V#\M3$&F5+#@'D$FGU7>+PUS;V$-GVW(T M 3)JL 0+J\4 [POO-5 \A K>8^R:9I=[!<;A0('GO'=BP4 *!J$ _6+WP)M/ MLY%0]C*$LI>CH>R3)I6#Z"P@D1Y.H9Y'(> WU"Z")LH&*!=S>O**Z<4BAGT4 MO6RPKH$;WPJSR7ZZO+R% P90H2@\-6QMQ0PF7K///%F>_);67=W:?(ALAJU6 MX-9(?,"15+@VJZU. E^)U5>">?=&WW%**7112=TI[E ^JD("JQ[,"UD8!1SW M^=% $]8;8E'Q.]YT-B $H%<" "EC'/P&^BJD*75.4:K&M59GTZ!"E18*E*\ M3J>"0U=:2 W+&0PI-60UAO?G@PW]#G*,G'J"&6"]SDK'(8S!>>1R>HN2,V,@ M887GP^TQP8RUDEKCO)5 ,4>16*O33Q G"* P$(XQ;'45, T^"/PEKJL$00A( M-B$N1O<=V!K+,^>S6,"9C5K&+\%K%+NBXH.UF6=1"*8E&Q[""=H3& ;LN-HY M=P(BU4FE!*MO1(.U L,.8 38J96ETV R$D1][CPJ :;F\EBK3Z!TAKM0Q7<2 M84ECG3+%8YH'.::H^W&"H#],)$IEYV+E'01RV6E71D- %5(6;[!@:RYY@8," M1L$&V\[PB5-V0%E_!K=BW3?$/8 )OY.=RVPI++-,+86Q'FA":E)!X%E+(]QL ME:'1KMT 4(M($.5A=YUL>4PSDM+>?/1<]^:+@SKR%VD](<>?YY'C?+P&U6EX MHM&(ZB6B?/2M@]R.TAG.;@:)>_:'?T3]<, $S1^.$8>M'0 %(6A!YUMSLP'E M11\?"DZDL.C[U>N0SZ\Z@R&H9 64RPHC),*LJ31]!.RVL-@ M4:(9KH1%DJQ9"V^AHHE?:?-3&W#!_=[!+ PC+BNK.<,P2*'7^@67I"%O-JOQ M;@&-UMH1/"3#0R"-!I9L.=FIUA(<.)XF1?S[!XDG&*0YS3Y H$IG*\(:E4#1 M*D1+1E#VBHC1'^Q#YJ?9VQA!'_Z,^##V+9C17T^7@6_L7(U[,O@YIXZ M.;![[712Q)_@XR1G:'TS:#I51;UOCA#1XT&/R]UJ%LM< M8N?0%DMP7>_X=V@2)&ED 8P0O*C0&Q[IA[6=B\;9A<=FV$ZQRZ*W"1FH!:#V M9W"7*8L>S6-CT^%M(&B_[<]8;!#D#;-2@!F*_",0=]AZE:33.O'1][A!AYI* M$],/A=[@,CHD=.9R2[FZT#Y8@ N!0R$IU1*(5.(S!Z=)U:5&&NLFM?,Q#F[1 MXJG4W>Y(97'2TD,^7E+P=FO9N-_XE -GMM*Z6YB\P0I)AWOK/2\ED:RQL6ZQ M)%5.G ^'0]K(JJ0"5.I5DVX6P$Q.2A2 UGWQ$N9P07XNUO!2#7-$(%,$.T/ L*0>:VH! ]J/ M9V]902%;,R<[FJ"ZI$I)]<+$;3W8BRL>$5#R@P7:(XG>Q>:0>;E([/,L7B6< MI27*>^=FE[( (SA0N[ C/;"TQ:DI)5$#8+?^TE&\5RBCW)G<"U:)O=<93:)C MZW,^WKF\EC4 NPW>-KGC3ML&H\SSR<1XT_OQ9F"-/O.Q-3H?;VV^!^>$^HB] M,1)HX4QL35&RHS<<[ M:K=,&==1<4F/!&^3W8$*@I$-8Z:OHGA_Z]=IZ_X9.XQUUOEXF932] );)8TK M1PQNZKE$GI#DY[%@E8^7FZY=]P?["TRM(910!66MN*VH#7'\E22?PG\LJ^3C MI9 /B*_ I5=R![K;5FRX1#%.9;A$,4 ZJ-"_736KUYM#'VF;JY*^4TUU7!:^ M.II(QY4$+&K:(J(%5%B(%G-)T<3FHUAVAMO8W73480!G7?=X7O*&8S'5\KYR M#;:N025R@Y!MXQ"C+U38\$V8N\\H.!+(+;F+I)QAP>R!D"(9BY$KL18.3U.= M'@!D$>\MA:V$;-D(GIQ\/TG0"N1=H /9:Q0^+<8%;8;;;F0H5M7Q0*!0M,D.@"JI,''&N, M8ZKCO-M-ED]S601 /D'QM MU_;[>-4.4+UQW'SHE#YK:)TK*==4FA5;!TM_H.-EGR6%C* MQ^M ;V&=.WL]05#'*;;2(#M?]WNV@WKY#>D_)9K%8E(^7O49:)H/\O]L*I[+ MH9]"1,&F7GSN*ZS@+I2H7%.V[<#)%32E)2'1[966-1Y[KK%,VJ# \&;%VJ%2 M[5YZ=HPL.[!K[!$E&585$($UIG2^S30V*=);W-B>L\ MAPQ_8C' !OP+[0%Y #@ 1C+-?O(TW]F>W,XR]"^%@O3:QEO\ MI<2[V,X"R'R84O;B8"ANAW8D!5Q7"5UUZ(L"=Y4M# %CV(LB+-NP:H?E+/" M$2^+%?Z&M1RAB&T+#2V6CTONV6.<-[&4P/ZQQ&M+I&4$(4ESCUJ+.L4V":;I MUZ%Z=>B$1W$_$8E7?_HWP_3^JV'VMC;P@O>U)^11DPM$&_#8*%C?':6&;VSZ MIGQZOKD8S3\A?.LUDM9=]@'L/)_-C^P]EWZEOL4*L[N0 "&3E;*E*C ,O 5D)A58R\)# MH6NIL+1-])%@]@XT%93VAEPUPME;S,]]W3X=@C_$%X+>'<< MASFQT3)GKQQ+]QLR0>+YMY9X_KC$\V\C\?][84^S!>9]Q#^Q[R,@\9FM(>VW MW86/BT]VZ5O\@#V<+[SH4'2N@N'Z6YHW0GHO[BZ/1;HH*N0)"32R>>&+6Q"L M,#*$OJ]]=PUOY=+E0ZF2.]J/5WZ/8E7R:+PJB:]LT"VV&WMRZ8N+2C82&YA[ MRZO?BO:C;SO96@?V%MO^1*=OF'E@G(Q]'GO'AM$EE(&P:QN+IM='<[<+>\'5 MWO=\\"9&TJ2/J&&2M,A]1Y?@5GA+:#IV=(?)V[@06M;TSK&V[P78%W/#T_!> M\Z5]FS<.MR]%?P!,(P#&5'P%4V?3,P#\RKYG;+] ,D;O]BZE@3A&'S><@9'@ M /A])<$TW1=<(+SM??$?4$L#!!0 ( $>-6E@@/Y#C0@, #@( 9 M>&PO=V]R:W-H965TFV^V M1G3PTDAE%U'M7'N;));7V#![HUM4M+/5IF&.EF:7V-8@JX)1(Y,\3<=)PX2* MEO,@>S#+N>Z<% H?#-BN:9CY>X52[Q=1%AT%CV)7.R](EO.6[7"-[L_VP= J M.7FI1(/*"JW X'81W66WJ]+K!X6_!.[MX!M\)ANMO_G%']4B2CT@E,B=]\!H M>L9[E-([(AC?#SZC4TAO./P^>O\<7J132-H,(MZZ1[U/O? M\9#/R/OC6MHPPK[7G101\,XZW1R,"4$C5#^SET,=!@;3] <&^<$@#[C[0 'E M1^;8!!2\$%6GCWQ#82[?MYXBBP-T_X(M7&WADZJP.G>0 M$.(3[/P(>Y5?]?@1^0T460QYFA=7_!6G,A3!7_'39;B4?>^[O.S;7ZM;VS*. MBXCNC47SC-'R[9MLG'ZX@KP\(2^O>5^NZ9I6G40/W2#7B@LI6& \23BS=1Q& MP.^=>&82E;/ 5$7*UAG!'59A_U)>UR,_U0A;+>E:^_HX3PYHC7X6%9&%_108 M6K?:^-5>N%HH%A]^V4R$QV:#)I#^ M*/3D]T-.Y:8I\T/:9^&+^JK21[O?(,\F\60R'4K*:3R>Y4-)FL:C;"@I\G$\ M*4MX_,]I"<5E1Q?;EY@HWC)1 ;Y0W[#8'Z^FPAMZSHPA',"LQ0&:XSR*)^/R ME31+XWPVNZ"<%=DK:1GG)'WR+/@_;#OC!Q_RPY[Q(RAO S\&9%2>%6XT MC6>S[*R4HWA<%L-2%FD\FXPN/0#)X#5OT.Q"S[(07J+^83])3VWQKN\&_ZKW M/?4+,SNA+$CATV5C-EP>!)77*AH.@ZZ6S,=Z\9) MH?#6@&VJBIMOERCU:A(E4:>X$\O2>44\'==\B7-TG^I;0[.X1\E%A4O9>X,K0K:YZ9ON3#PFCF-'IWC;.%LC M7K:(; =BPN!&*U=:^$/EF/\($)-[O8^L\_&2[45\@]D1I,D V)"E>_#2GG,: M\-)_QWD;U19HM!W(%\RYK7F&DX@JPJ)YP&CZZD5R,KS8X^:H=W.T#WTZIP+, M&XF@"RB$XBH37 *W%NE^N,I!"KX04CB!%E:ER$K@!JE2OC3"8 Y.PP*A:AGF MP!T4GOB#)[Z-ZWYO/I8(A994Q$(MP?GL@$":(C>@%0/(R0/RU7G+_B0H!1IN MLO(;2'Q :4'DM$<4@GQJ*$,,S.97<,:& ]"-VE;BQI[.$YO'I!#J47OWW<57[D[1W6VC@?;"ILW(DP M%TM%PY]&D!QV$NNE]+"#XM9GXJ,+ M_W47>\5MV::F%WP&4IJ%J^LL7@)+3@>GIV5W"+C:D:^60JL>!\9=K5[S> M>I0W_:<^&9RDZ4[K]QLE\ONC0 \]92CQADS3CYJJF8>?[5.Y_!?]<\:]Z<'^ MS_3H1C8Z&YR\9GN9/SMA6'K\C(3YE7'Y6<*\?,1BF^8UZ_EL^]'&&_U0A689 MNCY+)S;*M:U1K^T;RUG;3WTW;[M2>NB60EGZ=Q6T=7AT>AR!:3N]=N)T';JK MA7;4JP6QI.88C3>@]4+3F[N>^ /Z=GOZ-U!+ P04 " !'C5I8;-0+*P$& M #]%@ &0 'AL+W=O&I;KB2']-_?R@9#,)B$7.:^8&3O MKIY]U:[.%D+^5'/.-7K(TER=]^9:%Z>CD8KF/&-J* J>PY>ID!G3L)2SD2HD M9W'%E*4C:EG>*&-)WAN?5>_NY/A,E#I-Z:U>?$UF MC,9G!9OQ;US_5=Q)6(T:*7&2\5PE(D>23\][%^3TDMB&H:+X.^$+M?$? M&54F0OPTB]OXO&<91#SED38B&#SN^15/4R,)QK&S?\KZ1\JY4&9 M"5/\2J0_DEC/SWM!#\5\RLI4?Q6+&[Y4R#7R(I&JZA72//$+1 M9Y'KN4+O\YC'CP6, %R#D*X07M).B=<\&B*;8$0M:G?(LQN-[4J>LT?>W:<; M]%&*LD"W>;1+P4YVDR6GJF 1/^]!&B@N[WEO_/8-\:QW'>"+?HMV\" M:MGOT*'G72FC.>0@BF";).:RBE?43W* )$K%\E@-]G)_%YJEJ-@M8T5T@AR? M8A+:Z)-)BTI+$ L52&F91)K'RW=&80FK[5WZCHV)2P?H3ZBI:R-MR*W M1Z!YJB>OP*RX-BX'B?99:$[R2L7\P 6#AP Q IZS4OS$J M4F:H@=_H562&=YO))3B@#OI25*&;SU#*33COV\+#MF.A:S[ETEA>LX>:M$5) M"2A-H"IJEL^2M==.V^:OSB503_*T/C'F2;'#/#ZVP3S?)8-08%G;S(1@#PB^ M5*9*13[[0W.9;6OB85BA_J#M3L[R9T0 M>S0T;0THMBQGT#)4IQX^=AQWL"QZCTJ#V6Y/M% 3D2%%'X6(%TF:M@D\ DXE MSZRE';7.;VJ=?_#8-B[_<'NSJV9U,A]Y, 8-M.!%AW;P"MC"!EO8?41 &Q^7 MX'2(KT(*5/7QIDA"U[H3;+>X1_490\6+> &) %&IYDQ"4F95D@[:->.ESW\X MDW5/";4LXMD$]C1=81.8%J7FA[0SHYZ7?#-J<4 <3&W_ MT3MB!]CW ],V0O%#$PZVY,:H]TDUHY@V**F_09'=D9($2@NA;KM.AE"?2-4O M+/E;G-3![@:NEQ1[OH.ND[34&RT44/ENN+DD7MN?3WV^9S('Z&H=GB_5 MX@31H>UL+,F0N"TMFH@1% M)7')_A_#HVMX]/5&F0.RCPW7XV:;SG/X!'G$Q=0)GSO+0,^$7>INSS @SX*6 MESI=3EC/X:1[$'^EZ>7 KO_'V'*U,GQK8CE!M:4[IQ+7P384_WW3B$VAP[>/ MF$*#CTCQ@0^C"' M!W9P8"[H4TQ=[ZAQH!^ZX8N' ).*H>\^K?F'IM\-R%.;?NH$V N"=K-O>QYV MO0--?E-<=A6#T<:-)/A[5MV[0@4R'JHO)YNWS=WN17VCN2:O+X8_,SE+<@4F MFP*K-?3='I+U76N]T**H[C_PO4$L# M!!0 ( $>-6EC.$A.UHP4 5 9 >&PO=V]R:W-H965TIAZE=3MW&ZC2OA=;EE!$23]=I44UF%_7:!SN[,%M? M%I7^8)';KM>I?;C6I=E=3NBD7;@MEBL?%J:SBTVZU'?:?]I\L#";=EKR8JTK M5Y@*6;VXG%S1\^LXO%^_\%NA=ZXW1N$D:ITS>F_+W(_>IRDDQ0KA?IMO2W9O>+ MWI\G"OHR4[KZ%^V:=R,Y0=G6>;/>"X,%ZZ)J_M,O>S_T!!+RA #;"[#:[F:C MVLHWJ4]G%];LD UO@[8PJ(]:2X-Q116"O\4,$4S.EL8JU-U^RHQCZ,O-;'CY]Q[&B-H!@7# EQ[C9IIB\G@'BG[;V>S%[^1&/R^HA9 MHC-+'-,^NX,$R[>E1F:!,O"@!82BU#GMW9BIQY6]_"EAA+]&-X>*@F)7.!_V M\"N-%J:$-"RJ)3HI*E@Q6Y=6N3L]1ZV"O^H?@JK74]E98PK&,);K57E>^X9=,%_E8).P@9[O4")B#&5_>/&-,:,B0,'<-"MCF VZC ;?3MFRR*%:!2^ MT*/ /:YQ -R>MO\J>M_HA;9V%+T\YIA&JH_56.$DXOT5+@"0#%UEF=V"EM(X MAS;6W!=UJ>P A3F5W2S&1(G^+"8C:.)QC,4!FIB,L!*ROR((%I0=05/6.YOAU7[#PU&#? 'G5JD0QD]Q%&-GSN]A&[(HV!_>XZ/!F@$??)M MPCQ&B>*$*,Q%'TJ1)#A)#H@0\X1@Q@D4;VV7#T/R2Q2$?TA^'!,18 )L*P;K M($@@>=@0[Y!HH73+:.#G(,-Q BE8IZ."GB/A-?9%\#E_+.=M%PYLUU55_[#Y M8?CIN_#6V^*+SE]M;)%IZ-\*OQ_>&"CP5A?K^=:ZN@$[H:=' LLAG9*$'?A9 M2(83&O6I#A@EX@=5\ZM4%QY"EQ4-GD30+HZE6 3IPM08.3Y-@3&DGMRG'HGB MP [U$0A())P>T&%PQ+LJ*[,##MW!=P]IVLIYD ^]M2JB5"ZT[)+FS?P-. MAGS;QTN[UL--NS2.GV<0\@!B 2R4CG$&!>^2P\ @H.Y(.47&L[+ (VBN6 M--0(!C$53)9@IJ3BH !]+U2,?0Q,>[=2:_!&??<6ONFVE6\NJ+K5[GKOJKG5 M>GR]N1M\G]HE?#*C4B] E)Q)^*:TS7U;,_%F4]]QS8WW9ET/5SK-M0TOP/.% M,;Z=A VZ2\_9GU!+ P04 " !'C5I8*X-B66(# "2" &0 'AL+W=O MJIV*VYY)R1-(C7;5E=I MJXNZ;4_WT8$A6 5,;;/IWJ_O&!+"*2_52?..S4:@\ED(\0W(WS(%I9K"&&)J38(C#Y/>(]E M:8"(QO<]IC6$-([C\0']?9<[Y;)A"N]%^1?/=+&P$@LRS%E;ZD]B]P?N\XD, M7BI*U;UAU]L&H05IJ[2H]L[$H.)U_V4_]NLP/>!.I9OF6;+ MN10[D,::T,R@2[7S)G*\-IORJ"7-#[_K!%;Q@2#GH\(+_E/*Y3'N<\#R.*9>9:EB*"XOJ0:%\0FOY\H47NZ^O ML P'EN$U].5C7R4@N0GPN$7)14A[S> E? #K5X.0K<\!IT(5I% M:G4[@YT+D]HEN*(YOMV M$H='T;.#< I?F>2T3J_@SSSG*8[6<#",[7#B'L7 CJ,I!/ [1/O ]Z)66K;] MC74*$,>AG03')";>Q Z]'L([D'\4)9-GG$=AH\C_E=J/X/F4$AT&6H\M'7=U M A D=AQ/3W%CVPNC7^[_-(QL+_&..I[4?^[4@S,?OHW9[$6)\M!1MJU*/S$TXB>^I/ MQYII8"?1Z1*\NG2@F,0C?4J%)B15&X(J* 4:4UT:L33'^S ^!P5"'B>!/*MS M5Y SZA,5RFW7#16DHJUUWS(&[=!PW_1]YFC>=^N/3&YYK2A@3J[NW22R0/8= ML!>T:+JNLQ&:>E@W+.BG :4QH/E<"'T03(#A-V3Y$U!+ P04 " !'C5I8 MT0P&UJD$ 0#@ &0 'AL+W=OK4,9"D:9.W*RDNJK+C@WZ+DJ:WWI%<8L+T8CG16\8OI<+GD-,W.I M*F9@J!8CO52\E*M+ MCWA;P6>Q*(P5C*:3)5OP!VZ^+.\5C$:ME5Q4O-9"UDCQ^:5W12ZN8[O>+?A# M\)7N?"/KR4S*KW9PEU]ZO@7$2YX9:X'!SQ._X65I#0&,;QN;7KNE5>Q^;ZU_ M<+Z#+S.F^8TL_Q2Y*2Z]U$,YG[.F-)_EZG>^\2>R]C)9:OB%G)T976W&AT^LA@I,\F(P.;6951MC%\ MO39,7S%,*/HD:U-H=%OG/-\W, *4+52ZA7I-!RV^Y]DY"@A&U*?!@+V@=3UP M]H*?LDR?ND!/S173]R;OGU#8O_= -JP11L.69\^ !WS M!N#).5ILD<]>@!A+J8RH%ZBIA3F&>MCN8\%15H#O'(EZS[+F"V"?0/TK 27;.2U1E'S"!((5[-N-JF$>G9#&.*QW[4DQ.2XB0:]^112G H[Q1]E0,Q'?)E9!Y3Y=& 0Z2OLT@QDG)@2G?MKQ)_\;JI!-!#W@TBFA.*7TK&?OE. @B(_)0TRB]&S( MFZ!=?8(2/\!P-AT)BJJ\3HF/2FJ-;IA2+S:+K]S9H:LL:ZJFA-#E5K0[MKN#\$)0:PCR?V/E4;&< MUZR"HSQ!@>6.WZ<('>-@/.YS!YC0J5P]_1/0C'!,R%F7/YCZ8W3C+A00',5+ MAT\78JE1X!,\IDD?09+@)$WZ""@%[H6[+0\-G$9CJ);13I&&%).$;BHR0 Y" MG(1)%S/Q$^!SW 5-:8*C>,_5OEX:X2#>5PLA<"D9J -Q6P?B'VZZ7!M1N0.> M-Z91!R3GSW!-UMPURT-B'J7^\,:W/[^9[

R6)(6B?;)1 ! MIOBAE>TZ";0F2!\$Y1>>.7,#('8S(?:3H+=;+U6/Y=ZH? M!3S9N+(+8'XNI=D.[ ;M(W#Z#U!+ P04 " !'C5I86_HMWN," #T!@ M&0 'AL+W=O@7OL2^\SUWSYU]E_%2Z6=3 M(5IXK84TDZ"RMKF((E-46#-SJAJ4=#)7NF:61+V(3*.1E1Y4BRB-XV%4,RZ# MZ=CK[O5TK%HKN,1[#::M:Z97URC45=8IH.F[8 A_1_FKN-4E1 M[Z7D-4K#E02-\TEPE5Q&_SFN#0[>W"9S)1Z=L+WO_K<*9<9,WBCQ!]>VFH2C (H<E54:A66@/W;,5F H')$DBI6RSA M!VX)N$_J+D\3>7]Y M&@6SQ!7K1J@5(LQ0XIS3%6]PAY#$HW"8C'8U21[&@PQN6JU16J#1IYEUM1!( MG=]GOGK#]WP8YDGR1GV6AH/A &Z8:9D@&)>FU4P6".O'L.63C,(X&6S%\_ \ M(Z32C2(.2-!"U0B6O1+(I:AL1:7HY!Z5A[1NQ6&8)AG\])9]P4B9;P.E61B? MO65^2'99F)^GNYI\$(ZRLXWFO0<<[4RB&O7"SUL#OKVZH=1K^Y%^U4VRK7GW M/[AC>D'UHM+/"1J?G@T"T-V,[02K&C_79LK2E/3;BGY+J)T!G<^5LAO!!>A_ M=--_4$L#!!0 ( $>-6E@L!CR_FP, (X) 9 >&PO=V]R:W-H965T MU*&) C=XM.;4-).FB!($DW[",M MG6VB%.F25-SNU_T7S9WFD9!CU+Q&J7A2H+& MYZ BAP-(Z!$:O)[Q%(1P0T?BV MP_3ZE"YP^/V,_GM;.]6R8 9OE?B;5W8]\PH/*ERR1MA[M?T#=_6T!$LE3/N$ M;>>;3CPH&V-5O0LF!C67W9M]W\W#(* (7PB(=P%QR[M+U++\R"R;3[7:@G;> MA.8^VE+;:"+'I5N4!ZOI+ZAK$">7*;%B),X^48% _H3=_]R8:AQ_.4$Q[BNDY]/D# M":]J!():@E!R]=ZBKJG3%A:8K*#L*EBRD@MN.9[D?S[#IU>@0JE(><8Z%G:- ML%2"!,SE"I@%6A6L%ZC[E8$++LE--8; S.@*WKTIXC#Y\+_?!YG.&EL:](CA MT54F%)/]O[=0Y*D?Q<7 ,DD2/RH*N,&'XY0TI.V*ML1?@J.)/XZR0<%^ M6B3PJ"PE;!?R"&Z<^GF:'Q/VHRSR\R2#+Y+5E(S_BU4'P8UIF"R1EM_88]X7 M8S_-L]&QO?#C(AD-R/@@T0ZG.R.7/!Y8B$6:^&D6PR[5P MZ;QH=">D(QF?$NSKD*NSN, T C,[J9K_K,E_D&FW@3M-G-4CJ2T=S&6W3LZZ M;](\\[,T<[9Q;Z,)+Z@KR;9OS3Q)J9M;Q[U(B];O<8UTW5A2F7MOTG)XQ.WM M<\.?6LM@<$:22E?M3<#MBO8/.?4$L#!!0 ( M $>-6E@@C41X1@, -,) 9 >&PO=V]R:W-H965TTT;+]^9Z=- M"PH12-/V)?;9=X^?2?V>IR2;>T",I+&G)S:VL/L$F'T]D&-Y20V=CI6LB++>B&8[+E47C>28L#]E;A3.,HPSTTM0 M;$WMSI KH8TJ<<.-)H=W=,%!'XU]@XM85S_9 ,YJP.@9P# BUU*83)/W(H7T M,8"/[!J*T9;B+.I$O(3DF,1ACT1!%'?@Q4W*L<.+7Y5R6Z8U3K\=QY;+2!@K2E+A<)K MDDAPNQ6J6Q,F$E[BIF.'F S(A<1?(#0.8$]+SE)JT)A13D4"9&Y5TYIX-[4[ MA%Y*CO7,Q(H8JY1-4;/?R-"NO&/\6L+/T22'SD>6FHI4'XW(P9MA%,1G?[U% MN4&^ .4D]\AXZOF((/DL$^H.FNVTE>N^$:'<#*!2#%&8(-$5+<@73%MAH2N% M(B14:YOJ-NBMZX71V=Y(V(OB01O2UJ5&Y%*LWJ%/_A1SVX:]DSANW01[V'J-W MI_1.NZZB7"7A)VPK@F8('@JKIQX16)J[ZAGT8JR>G=WO!:?#/7L8-U9;#?A[ M%VT.:N6>$QH/-!1/?>&ULO5=M;]LV M$/XKA/J"!%"L=\E.;0--NF(%EB5HLA7[-- 291&52(VDXN3?[T@ILF,I0CJ@ M,V!)?+M[CO?<';G<NKX M2K>%TAW.>EGC+;DEZH_Z1D#+Z:5DM"),4LZ0(/G*^NB=7R1ZOIGP)R4[>?"- MM"4;SK_KQI=L9;D:$"E)JK0$#*][I5YX^/TD_;.Q'6S9 M8$DN>?F-9JI867,+923'3:F^\MVOI+,GTO)27DKS1+MV;K*P4-I(Q:MN,2"H M*&O?^*';AX,%<_>%!7ZWP#>X6T4&Y2>L\'HI^ X)/1NDZ0]CJED-X"C33KE5 M D8IK%/KWPB8)-')'=Z41)XN'05"]9"3=@(N6@'^"P(\'UUQI@J)?F$9R9X+ M< !-#\E_@G3A3TK\1-(9"CP;^:X?3,@+>A,#(R^8-'',LG9=.+Y.A\.YK'%* M5A;P71)Q3ZSU^S=>['Z80!7VJ,(IZ>O;-@H0SU'*JYHSPI34K5+#1>0!PDZ2 M,=23) M[23V#CKFKKU(0O3W*W]&P1>6EDT&020++M29(J)J84@;[0J:%F93*;@;AB@N M9VB"/E%/G^BU]#EV94GQAI94T7'23\N];L240&.*(#48"B[BFAP$77(F>4DS MK/LN<(E92M"M*2G_ Y5&>3+::4@SPB0??4Q3T0#X0TOWI%C$=N@=LB3Q[2B. MT.^01S8813V;2]P[62>#)"^14&TL.>@ M>-\#+SN(_ E"Q3VAXM<2*F]4 VZ&:D.KIN,RJO%C99)' ]$I$./L+-6.+G7A M.+9_E'C3^O^K^S^W8*\ZL%"J#2=U(C$E26,:98,I"^CFR2S@0=CEB"2>ZV8T MT+7P;-?U]%@\&(/,$48F)PT]%X-#73,V'XP%B>T%,8(,#6>J'#+$D*&A'8'6 M.ZYP>>R,/1-"-P92^F"6E)!LZD8'(V4@D$C5SSL)8SM>)*>=M &U)HB4]$1* M7IV9P!,"0+1GQ_885YHLH?BK*#.MZ?I'Q",J7\Q&-A2,E-2JVUV3P:$?952F MO(&0!4GD)U0_4^W(R]5N7^4NL2S ZS0# P3"E48%)K651_O9D+X"^! ,E%F]U(='7 MAGW6-!L/;AP(/WG4X7PZP!?.PG"DTTV&NI[YA*RRVE$D EL-2=Y9 S1;M]:)M M*%Z;(_V&*[@@F,\";F1$Z DPGG.NGAI:07_'6_\+4$L#!!0 ( $>-6E@" M?J&WA0, #\, 9 >&PO=V]R:W-H965T12Z^"?A:P-;T MYL15,E7JFS,^SL<>F D,:_.TROV](E]N=[]'=-[5C+ M5!IXK3)6F^27;-C;"X-G&6%7MDI%! M5=3M*+_OOD,O(6./)/!= F]XMQLU+-](*RH3);D&@8 MQ GETJSE#,8>*L& O@-O\NQ)F+"79RA&'<7H'/KD%H4WWR!!M"1034%WQ]+\\H8C3D*RE8;@WT*5*'F\3D6-&&IC,,"\N.RV^]O&=[U: MATH]C7>E]PW>-\)?WO;"G?-_%[0?/RLKRS\:=7JM?C:>7KLOMB@+6X#I/$\) MIR)CE M&HM!/+HX\C$=4L)1$L9_U/2%-XI3F,7I2/[K IPCT\OX!:4&%B"E+ M\VXESESX@V.F(D\HSP_'&T<^?Q@7TDSD-$GC0QQWE(\_X5,2TS2,D7A.0L9\ MUF<>T8@S&N<#+D&C/*6)X*>N_5=_W[P.U^WKL'>^'WXR_I?UWRSKWY+Q_OC_ M=-S@M=HK=7#Q^,Z=7,2S&F<)S5%>F9\>"3QDJ"9WW_NJ1'EGJ,8L)6'H5/B8 MN/'5B/*#M#%X2-H10H6'T\:MQ$"48%2DO2CNQP.RSE+<,3S!0$W'"^ZU:X[?M4VA8?PMK7^)/6RJ TI M88&IS$]CC^BV76T-J]9-BSA5%AO.9KK"#A^T"T#_0BF[-]P&W?\,DQ]02P,$ M% @ 1XU:6.S8=5<,!0 'Q8 !D !X;"]W;W)K&UL[5AM;]LV$/XKA%IT+:!4$O5BJTT,)&FZ95@RHTDW;-]HZVP3E4B5 MI)KFW^\HR;(<.5[1= BZ#3!,\G@\WCW'.U)W>"/5![T",.1SD0M]Y*R,*5]Y MGIZOH&#ZI2Q!X,Q"JH(9'*JEITL%+*L7%;E'?3_Q"L:%,SFL:5,U.925R;F MJ2*Z*@JF;D\@ES='3N"L">_XEU.%(Z^3DO$"A.92$ 6+ M(^'426?Z:X3<.-[K7)]:2F90?[. \.W)\JQ#D,#=6 L/F$YQ"GEM!J,;' M5J;3;6D7]OMKZ6]KV]&6&=-P*O/?>6961\[8(1DL6)6;=_+F)VCMB:V\N@K%_SP+:+J"UWLU&M99OF&&30R5O MB++<*,UV:E/KU:@<%]8I5T;A+,=U9G*!VG,HRES>@B+3G E-GE^S60[ZQ:%G M< ?+Y\U;:2>--'J/M("2"RG,2I,SD4&V+13_#HJJS;M^=3[]WTWND3II:8DKE8_F,: MG)U?$J\;3=L3.%72M!GW>&ZZZ2O#3*7OE76\5 "%/;8SQWQ#^E@+O[(F-F,=GH?56I^0K!VGCV['/)%:LM6).>GPMRO9*59AA> M+[KMWF*TD4M6 +FLBAGF$YND[!\EYYAB:H,@LWVIL<4$#3T6_ L>_1A]=42@ M:8KEVU"T7CI'JY6H$42.]\+.X]2O)5A8$?TSL<0$!$H3Q)-,F3)\SLMVKLW- MFH3)0>+'-$Q]S_<#\B.>$+S%Z[/0[U]*^TN\"!\B-.D4?$H2-XC]WCAVXY3V MQI&;CN-'!_*A[2]L)I6%:^V):X6OAL8?^&9#;!3Z1 ERRG*.!,$92:.#A(Y& MB3\>('O!;KOK]KX)VF$>^A;T4:=,[ ;IN!N%;I*FO5$:A8\.U\-O J&-JIH$ M=P_V%O8K? #?A3T*#Y(@3OTX&<".SQRH,T@'\;[9X(X#DKX#$MJ#/$[CWHC& MT:,#^-!VF$5Z)WZ3Z-,8DT=(HU%SQ-?D/_#YCZ^Q!M:?*[P@0K\]['_+LL$5 MH=_177MCF%,B=QPG VK@IJ-A0 3N*/W^O33E)=A')MX%&3I'W9(3$+#@;6): MLXUL1$1)%(9;7MH?&5_"M9'51,K&1X&WY>V-B\)D!S7=X2/HRC\1EEK[(7!=M:*7)IN;FK,4TG_$HEVQ,[WUEYP(4!+ MPX9W1AT045!?#7&:?K.K(=C.17@7C-*!7J$[BG91:3JD_E?:T[N?V9HO!5_P M.;,?VG6%9 "8O6G' S*E;C@:OO%IX-+>H^F;Z2EM3)-BJ\*QK2\=NTFXV9FB M^WM/XF#L1O^")]K7MM<8GOF=(DN!Z;!CP$\*ZM(P[A$B_,CHW1M/29BZRT*P ]06YJT19Y*F*9^UU&[ZN=Q4_3;L#>ETPO\?N6H;0X+7.J_ M',4.44TYLAD86=8EP)DT1A9U=P5HFK(,.+^0^-'>#NP&74UX\A=02P,$% M @ 1XU:6"Z"@VKT @ C0@ !D !X;"]W;W)K&ULI59=3]LP%/TK5I@02%GSX:1-H8U$86Q[8*KH@&^Y_C0(YVXXM MSZH7;K/E2NH%)QZMR1)F(._64ZXBIV%)LP*HR!A%'!9CZ\([FX0ZWR3<9[ 5 M>W.D*YDS]JB#G^G8:2,GXL^.TFB,U<']>LU^;VE4M M(S!AN3"_:%OEXL!"22DD*W9@I:#( M:#62I]USV -$[@< ?P?PC>[J(*/RBD@2CSC;(JZS%9N>F%(-6HG+J'XI,\G5 M;J9P,IY)ECQ^G:BZ4G3)"O6N!3&/Z^0WF><@3D>.5,?H9"?944XJ2O\#2L]' M-XS*E4#?: KI:P)'Z6M$^K7(B=_)> 5)#V'/1K[KXPX^W!2-#1_^QZ+;:JV8 M@G8F?67.Q)HD,+;4G1# -V#%QT=>WSWOT!DT.H,N]GBFKF!:YH#8 I4TDZ(R M<2:?VY1V\/3][!^;^@UD?HK6$#V M"HE#&P\'+<"HU_<.*?5%5'_HVP,O;*/RFH(ZC!4VQ@H/-M9T=M=IJVZFS]MI M^GD['60C/7K^^9Z-ZI5W!AH&ZHWB-@.%[EOCO*5]N]YBF'!H!V'88AC#?Y!1 M, [L(8[:*=H,XNRUB +XTC1"@1)64EEUBV:UZ;4758MY2:\:]0WARXP*E,-" M0=W>0#F$5\VO"B1;FX8S9U*U+S-=J>\%X#I![2\8DW6@#VB^0.*_4$L#!!0 M ( $>-6E@Y9F.KBP< '@: 9 >&PO=V]R:W-H965TCM2"J; M[:^_(25+5*3U;GKIO7RQ18H7BJ'7]?+-1 MR5$47*VK6I3P9E_)@FMHRL-&U5+PU$XJ\@TC)-P4/"L75Q>V[YV\NJ@:G6>E M>">1:HJ"R_MKD5=WEPNZ.'7\EAV.VG1LKBYJ?A"W0G^HWTEH;7HI:5:(4F55 MB:387RY>TN?7L1EO!_R>B3OE/"-CR:ZJ/IK&37JY($8AD8M$&PD<_CZ)5R+/ MC2!0XY^=S$6_I)GH/I^DO[&V@RT[KL2K*O][ENKCY2)>H%3L>9/KWZJ[OXG. MGL#(2ZI>?.S\\90+K)C"K=[N0U?(UU_SJ M0E9W2)K1(,T\6%/M;% N*\VFW&H);S.8IZ]NRJ0J!'K//PN%EN_Y+A=J=;'1 M(-H,V"2=F.M6#'M #&7HYZK41X5^*E.1C@5L0*=>,792[)J=E?A:)&OD48P8 M8=X9>5YOJ&?E>4\P=,Z^=K8_/]NDQG-5\T1<+B#VE9"?Q.+JA^]H2%ZHY^ M^"YFQ'OQE_W_0W#9AAF"(!'%3D@;*%^.,X%C?ICYH>A#F6F8I';XWDX"'VWQR?8(Q%ZT^W'Z0W=XL!CPXH!CMC0I!0' 4'O*\US5U@4 MX3#\+E0.K_2>Y#W-2L@#A'' M51=)ZO\ECEXU4H*!CF'?2J$W(A5R'"H4>Z/0#+!/F=/V MABD=)/C8C^@DC#T==Q/?@/@PG'2;R(_(M)M 0OC@[;T 'Z:. M"Y<[48I]IE=_F3-9C$-O< ME./0#UXX0\GOL2#IR]M)G\QB2.783P: MX\/FG%I!/'4CVV(O&(90'X=;1ZE@!$/?ZO]+/ *H"9B+=BS$+ R<#B^$((K/ M@%'8@U'X9#"2 DI*DN49M_1LJ&L #DA\!M:I6CSA)E1T9=&$%U4#N3<_6!^Y M!A+8Y"D(5T#+T.X>\;K.[TV9^K"^7:-]%Q4*-KK1E;QWY4BS^; 05/@?3;M] M-0>$YZW\7P&N$8 Y#>8VADQ_HH,871/T_2!BMMDFDH5YC$IA=^PDVA&8P>XF M&GGK>*(TF>GSUD/5!"*'$HB,#$K-DJRC*7(LZ7H[VTN'WINA'J4(HD=:JJ'C_&O\XH8_O4-%?A/T;,G-!@3N5)"JZ_7X662 MR 9DS";,,T,*B.]6PBT.H6J?9IGO"T*J^=D#EZ+$F]J!M_X6_6* L 80U*8@ MF21S3B(]_0+F3Z?A[HQF 8K 67$R-,:,37,?J)^W16]M$D/1 MW4%RZVQF_0BH33BU #B 83PWI6JDS?CN&#P("&&!(:4#S A!;PV03$8"JR5; MIQ4$P0C/>U5\AQMA F>F#J"R/X2M\5 (D^-$5<,^V12O ^#%408S + >J4]0/!0RCV 2 M.,5L2>$\2F+H>2=%S;/TQ(R4E5*-+%^:HP-S)C,#(C@9TW"F MJD)XQ&&PFG/?G"N6C$28>5M7>3B'1V1&]E/_?S]3EH95",3EG '4 ]>1/[^Z MR>U'S7X&M7 +I#Y8C;K@Q$;HZDPMBOM:%/\;_-H0Z)TX9&5IX,>$A"A3^VA9 M=1LE_ #LYV#J9P+LYP#*6]R'F3RW+@5!36F$'TJ;AL;6[O0V6[3.:_SR,3UQ MK^0YY0[2 $VGHCJK(\K4?_.KP]=\:KCN-^OD?*=6$4RWHT]&7WPJ,+#J&8(K M349;3_7^,9]BC$_J2F7&ZT *^$=1HK219C7CT:3[S'%O#AL]U#$R^\SB&"W! MLG:IE>$17[]J+3,88-9S<"*,'9*WA=P=RG/LH5NA=2X*<0I>T;- Y;RYR_2Q M!?(&=EH^#,J4S>_;7/_2-SCXEM-6E@MA.S_/P0 ,\. 9 >&PO=V]R:W-H965TX[M'\DA.-T(^J 1 DZ<\XVKF)%H7%ZZK MH@1RILY$ 1Q;5D+F3*,IUZXJ)+#8.N692SUOY.8LY,_E\!9G8S!S?V57M$FPIW/BW8&NY!?RMN)5INC1*G.7"5"DXDK&;. MI7]Q-33];8>_4]BHQC\QD2R%>##&G_',\0PAR"#2!H%A\0@?(,L,$-+X=XOI MU$,:Q^;_#OVCC1UC63(%'T3V/8UU,G/.'1+#BI69OA.;3["-QQ*,1*;LEVRJ MOJ/0(5&IM,BWSL@@3WE5LJ>M#@V'<^^$ ]TZ4,N[&LBR7##-YE,I-D2:WHAF M?FRHUAO)I=Q,RKV6V)JBGYXOTL#7KP@CKXP.(%OQC\L9@KQ/ XHME"%ZI@$^QZ^ M8?P!V6:YQEY*@T^<>"@WY M$@,Y /TKTL(T]./>B,>M?Z<72KEMZ,;^F?%*JRHX>ARXEI1VN[4DI<E90>E?0$6$M2>EI2>DK2$[@=2>E)2>FAI)5+\"-)::=;2]*@*VG8!VHD M[8[:E#3H2-H+MI6T2V\O*9UTFFI)>R.O)>TBUY(> ->25B[A<>">;#FLL^7P MY[.ER(M25_D'33S'T\@F_3C-2@TQ@5WR+Y"S.I7\^P?\F@#1YK0D2W/9(3:- MY -OM=NUT>-@@;P$V9 QX50KX>PQN\W:8X M $<#/QPV:X)@T$RH6(,991Q,7EV2!7"!M[G7C?*[O8*BRNP1!5Q#->'*+J.C MR^]PR>W)#(,!G8Q;IN?M33H8C4.R,&L7;]4$5BN\9AMDO+%&#W^8BS+RV#") M=Y.=TX2.]@##O:CA^?C_<._9,#5Z.*"-E(/DQXWQT/1'A\?N2\OK'C5?6E[9 M^=JO2WH6C%OFT&N9_J2:&Y2IY12TS+"-X=?FL>SK-AX9N$'7]BFE<'(PFU3O MC;JV?JU=5H^4???JJ8>GXCKEBF2P0E?O;(QY55;/I\K0HK!/EJ70^ "ROPF^ M.$&:#MB^$D+O##- _8:=_P=02P,$% @ 1XU:6/X9\IDJ! 2Q !D M !X;"]W;W)K&ULY5A;;]LV%/XKA#H4-B!$I*B; M4]M T[1;'SIDR;IBCXQ$VT0ETB6I./WW.Y1L69H<%\.V;-A>+)U/A^?.3Z+G M.Z4_FPWG%CU6I30+;V/M]C((3+[A%3,7:LLE/%DI73$+HEX'9JLY*YI%51F$ M&"=!Q83TEO,&N]'+N:IM*22_TJMW"(]X!N!7KC75 L)QOV9K? MZ-!"CHKA:BX-$))I/EJX;TFEU>1TV\4?A%\9WKWR&5RK]1G)[PO%AYV M ?&2Y]998'!YX&]X63I#$,:7O4VO<^D6]N\/UM\UN4,N]\SP-ZK\) J[67B9 MAPJ^8G5I;]7N![[/)W;V&ZNJ_6*(H!*RO;+'?1UZ"S+\ MQ()POR!LXFX=-5%>,\N6B_;KKOR33Y*5A<"5*=H\C.[+[F9S@,+(3A#0;YW M=]6Z"Y]P1T+T04F[,>BM+'@Q-!! [%T"X2&!J_"LQ6N>7R!*?!3BD)ZQ1[N" MT,8>_0L+WU2[-EN5\X<%>,EP_<&_Y\@5)\*LS.41=#M$YZ\L[ MV+I%77*D5L@<\JD/X:(O76:YDD:5HF .7G5IBF.:IU+[AO,_YQ )@YJ22*;1S>,BUACLUQ5O_^$;UB1N2(CSSW6HLO<#@04SH09WCXE*!K4=9NAYXQ M>[@.C!_!]!28C5N!+Y+GZ\^GYC4.>;$'KN&KI$W)(/B>,1;(QG'0\_3K(,74 M)UG4%RDF Y&.R^/@!'=-ZL&SWAZ((Y^&0S$F8UL 9^/]^2\BTN,@/1^1IIDK M2]1#B ^10'VS(=V"'@F'& 5J)="ULS0*]->GWXY=0Y_@<<,)=&F&TQ,X3$)& M&Q:=E.!N^A293HB?I-%T' ?VP?B83JF/HS'Y1O"2P.,9^N_1Z;Z89UEU LQ' MIST B#0:B!D9B&G6;=EOV^\:-_1RI,T9/0%FXYZ!W_'@_*\(-NQ-LA,3VA=) M=H(4 0Y/$NSO;&5QV!?3'CWT8=*Y./7]'_0.>!77Z^88:^!K&CYRV[->AW8G MY=?M ?&HWAZS/S"]%M*@DJ]@*;0^]I!NCZZM8-6V.2[>*PN'S^9V Z=]KIT" M/%\I90^"<]#]?[#\#5!+ P04 " !'C5I8D=X >70" ![!@ &0 'AL M+W=O M*R[T)"B-J2_#4.J>!A'T7E842:"+'5K MMRI+96,X$W"KB&ZJBJJG*7"YG03#8+=PQ]:EL0MAEM9T#0LP]_6MPEG8L12L M J&9%$3!:A)<#2]G8UOO"KXRV.J],;%.EE(^V,F78A)$5A!PR(UEH/C8P PX MMT0HXT?+&71'6N#^>,?^R7E'+TNJ82;Y-U:8WGZ'UXP3F MDFOW2[:^=I0$)&^TD54+1@45$_Y)']L^[ &2Z 5 W +B9X X?@&0M(#$&?7* MG*TY-31+E=P29:N1S0Y<;QP:W3!AW^+"*-QEB#/9#36- B)79-IHW-.:G,S! M4,;U*1D0)L@UXQP;KM/0X'D6%>8M]]1SQR]P#V-R+84I-?DH"B@."4(4VJF- M=VJG\5'&.>1G)!F^(W$4)^1^,2KGL+?W4M=W=$Q]NRF MJ9:@K%T%M52&+CGLNJG)KR/O9^J)QX[8!LXFB]-PLV_L[XJDJSA0.^[4CH^J MO=J PGPBM9+?,4N(9C\!10[ZY'FFB][#O;RC9_UKW\.]>UR!6KMXTR27C3#^ MDG2K78)>N>!XMC[%9/5!^(?&Q_(U56LF-.&P0LKH[ (-*!]U?F)D[=)B*0UF MCQN6^'4 90MP?R6EV4WL =WW)OL-4$L#!!0 ( $>-6EB_ Q<*30, $(+ M 9 >&PO=V]R:W-H965T65)5NX'F) M6V'*G'1DW\U$.N)K55(&,X'DNJJP^'L-)=^.'=]Y>7%+EX4R+]QTM,)+F(.Z M7\V$'KFM2DXK8))RA@0LQLZ5?SE-#-X"?E/8RIUG9")YX/S1#'[D8\2ON+M@W6'O30L^/I?@]]>CS=VZ>[.C%M=H(V.X'5"_\[.WU&U]I1O[:Y M@"[E"A,8._J&D2 VX*2?/_F)]ZW/]O<4R]Y3;/I.8GL)"ML$A6^II[8,]$%' MQ#S TYIN< E,]>:CEAI8*7-_;]+ 'PP&%R-WL^MT#RRZ2(;!/BSK@7E>['=@ MTT-8&"2#*&IA>W%';=S1FW'OW 0V_MGF%:8[@67_,)%A[N"I MZ/M,"&T.PE)"OT71P6[C01)U##H$^5XP'';\Z9'R0[_CSB$H"G9 >][$K3?Q ML=Z8XW&&Y@HKJ$S@NHYO*,.,4%SJTI74?"S[?'A[A5GC\'3'X5_6X2OK[!F: MU$[W%?+'26I,WU[KC2B>/V,QVJ]XN+#JU(0N^9:8P](80 MX4SJ*SO'9EJ^' QI3H8%+W3CUEL9R6&Y!V$<=F!>G$1A MISP.86'H#0=QIT#Z+NV.J!XBO;DCQPI1L< M^UCH)A>$ >CY!>?J96"ZG+9M3O\!4$L#!!0 ( $>-6E@=***>/0, .H) M 9 >&PO=V]R:W-H965T)MSES MSI SY&RKS;,M$!V\E%+9>5 XMSH+0\L++)D=Z14JFLFU*9FCKEF&=F609951 M*<,DBH[#D@D5I+-J[-ZD,[UV4BB\-V#79!#+POF!,)VM MV!(7Z!Y7]X9Z88N2B1*5%5J!P7P>G,=G%W'B#:H5GP5N;:<-7LJ3UL^^0A&OPU>HI0>B7C\V8 &K4]OV&WOT*\K\23FB5F\U/)WD;EB'IP$ MD&'.UM(]Z.TG; 1-/![7TE9?V#9KHP#XVCI=-L;$H!2J_K.7)A =@R3YP"!I M#*I A+6CBN454WY6%,S0KR,ZEBWHW0.>P$$LE M-""O<* M^U?HF)#V /9 *+@34M*\G86.6'O?(6\87M0,DP\8Q@G<:>4*"[^H#+/W "') M;34G.\T7R2#B%?(1C.-#2*)D#(^+*]C?.QC ';>Q'%>XXP]P=^$YA%^U0_K= M:J8L,)7!M5!,<1_.3NB^W!( W#@L[1]]<:F]'?5[\^EZ9E>,XSR@?+1H-ABD M/_X0'T<_#V@Y:K4<#:&G[3XZ-&4?N6'S&%Z1F0$>DY;'9!"H/7+F+6ZYT278 M=^>NCV$-/*V ?7':I,ED%FYZR!RW9(Z'@X*4!LQ:S05SF%&JNH+JRC\9OB<' M>1/,0\H$+M=TBGU*"$6Q1>L 7ZC&6NS34/.)XXZ(>'3:KV+:JI@.JE@P8DCY MWD.\CT(--NDPF'X0QI.6P,D@@=\,R[#/?6]U..D)09R,DGX.IRV'TT$.E\P6 ML#*:(V:V/E&[7>HC&UL?51M;],P$/XK)R,AD&!Y:3?0:".U*P@^3%2K@,^N M]-O>V073P)(6R2](XUUXGB64- M2FHO=(O*GU3:2.J\:>K$M@9I&9.D2/(TO4HDY8H4B^C;FF*A.R>XPJT!VTE) MS6&-0O=+DI&CXX[7C0N.I%BTM,8=NE_MUG@KF5!*+E%9KA48K)9DE5VOYR$^ M!OSFV-N3/00E>ZWO@_&C7)(T$$*!S 4$ZI='O$$A I"G\3!BDJED2#S=']&_ M1>U>RYY:O-'B#R]=LR2?"918T4ZX.]U_QU'/9*UXQ1E5#E:,Z4XYKFK8:L$91PL?X6>+AD8G.S"!\&Z# MCG)AWR\2Y[D$Q(2-===#W?R5NED.MUJYQL)756+Y/T#B14Q*\J.2=7X6<8/L M F;9!\C3?'8&;S;]F5G$F[V"]TSL2Q('@/G+ &&+YA%)\?9- M=I5^.4-O/M&;GT,O;KGBLI,@^$/'2QI;W#/FN@QW2:U%9X$KZ!O.&K G=QO& M),JB+7=40$,M[!&5CWY$ZYY?QB#U/)D,#DC-2ZJ2D]:4:.HX@!9B=PU=.GFG M&5\-K?TO?'@@;JFIN;(@L/*IZ<6G2P)F&+K!<+J-C;[7SH]-W#;^G4(3 OQY MI;4[&J' ]/(5?P%02P,$% @ 1XU:6%5L^D>E! RA< !D !X;"]W M;W)K&ULK5AMC]HX$/XK5JXZM5)W\\+K[@'2[B:G MZX?J4.G>?3;)0'Q-;&H;:/_]C9,0"&13D/P%\C+S>.:9\63&D[V0WU0*H,F/ M/.-JZJ1:;QY=5\4IY%3=BPUP?+,2,J<:;^7:51L)-"F4\LP-/&_HYI1Q9S8I MGLWE;"*V.F,/"%K5-M'KBSR8:N80'Z=3.7>.?6 M* G+@2LF.)&PFCI/_F/D#XQ"(?$/@[TZN2;&E:40W\S-IV3J>,8BR"#6!H+B MWPY>(,L,$MKQO0)UZC6-XNGU ?W/PGET9DD5O(CL7Y;H=.J,'9+ BFXS_47L M_X+*H<+ 6&2J^"7[2M9S2+Q56N25,EJ0,U[^TQ\5$2<*_O -A:!2",X5^F\H M]"J%WK4*_4JA?ZW"H%(H7'=+WPOB0JKI;"+%GD@CC6CFHF"_T$:^&#>)LM 2 MWS+4T[-%F2!$K,B"K3E;L9AR39[B6&RY9GQ-YB)C,0-%[@B&!HGGY.\-2&KB MK,C[$#1EF?J KU\7(7G_[@-Y1URB4BI1AW'RRIE6'_$A7G]-Q591GJB)J]%X M8X(;5X8^EX8&;QCJ!^2SX#I5).())$T %[VN70\.KC\'G8@AQ/>DYW\D@1?T M6@QZN5X]:%$/KU?W6]2CZ]6]#C)Z=1[T"KS>&W@O5*4D%CP&KLO8MH6HQ.BW M8YB:]J@V-(:I@T5+@=R!,_O]-W_H_=%&KTVPT"989 FL$8A^'8A^%WH9"-PB M)#87\'W+=C3#H+1NF1)J5$"93\)N%OBCT6@\<7>G3+>(]=[ M/Q.++L5ZP7#4[]=B#;\'M=^#[@046?'QV $6?KG&3YPI/G0M ?*WW!_83$>; M8*%-L,@26",LPSHLP\YTG(,T)0%[!O.)R.A22(+M20S86BS_PX 1+;!NW!Z[ M MG%GF(-?%8;$B14=3GN'53^L#Z:?B&/;L^;/_^%(>*Q]ARE/NSSB+8G]),E@A MI'<_0@=D>7!7*= $I!' ]RLA].'&+% ?W\_^!U!+ P04 M " !'C5I8"7.IQY@# #R$ &0 'AL+W=O!CV2U$6DBK]F(KM-O37IMD(-8F=FH; M6*3^^-I.UDNBD()D]09B9^;US!-[R# _,OXF<@")WLN"BH672UD]^KY(*'W,?%"=KG4$WX\K_ .7D%^J]9@.K5E!4@("?44K$P]PM&(T!2HY-L_N^P0D)H7X09F\P 'HOFV=MJR_ MHC]8A230)CW@8NY+E8H.R$^;L)=UV-&%L,,(/3,J+13WNR?7NX4!N(_N01T9O=$&O_TGT M4:]UQOTZN@8]B@JGL/!4D1' #^#%7[X+I\%/?8Q$@]_GU? M;A0]=4:DVKIVVZ)_AK;(LM:<&$U=?@]Q&,S]PSFAP65O)>1(K$5H8@E-KB24 MX@)HACDZ 5:("$7'G*1YAYP\5:K0%,4)[8""VH^@BQLI]R42%:2J#$&&*N!Z MMZJ?'RW,Z\JBH.O#V0=\T@,\Z"(?S.-6Y([$6LBG%OET$/FZ1:==8SD1;WV$ M:L4P.D,4W(W#L,.HWVS:,4OZS:(':];*Z][F=3^8UW.]#_K"'W2\M3JY%$L< MB;6 S2RPF:/J/G/)SZ58XDBLQ>_!\GNX9L/UEQMA"U2&-B=3Q?[SU:5>+ARU MST7GC W&="L^1V(M?&'P^0H9# /$[Y=.[+#GK5O.J5KB2JU-[>S%.W1T;!LA M5Q!=JB6NU-H0HT^(T?][=IOU.H=WTCF\PU'=S-"16LW0/VL&598[TU0+9/JY MNAVRL[9Q?S+M:F=^J1MZTV1^RM3_!CQCOB-4H *V2C*XNU?O0;QNL.N!0FU: MS@V3"K6YS %GP+6!NK]E3'X,] +V;X[X7U!+ P04 " !'C5I8'X 2[A0' M !W1@ &0 'AL+W=OA M+^?M-/&$VYQVL6\7?F<;+R,_XR M6;33=<+\62%:A>V.HO3;*S^(6J/;XMQC,KJ--UD81.PQ(>EFM?*37_G1,\JY\C^,?^0MG=M=2\A:QD$VS'.'S'\_L@85A3N+M^%E"6_MK MYL+CXQW=+#K/._/=3]E#'/X7S++E76O0(C,V]S=A]C5^L5G9H5[.F\9A6GPG M+V6LTB+339K%JU+,6[ *HNU/_[4*NB6@NZI M@EXIZ)TJZ)>"_JD"K11HIPH&I6!PJF!8"H9U0?^MB5-V,Z><>@VZG^S&;+\I MV4TW/7F^Z6[":3'C[6TN%HFL^YD_NDWB%Y+D\9R7'Q1N*/0\?X,H-^Y3EO!W M Z[+1D];PY)X3IZ"113,@ZD?9>3+=!IOHBR(%N0Q#H-IP%+RF3PF?,%(LE_$ MCV;$^+D)UMS"&;G26>8'8?J1AWQ[TLG5AX_D VF3=.DG7!=$Y%L49.DG?I(? M_[.,-RD'I+?MC'<@;T9[6C;V?MO8SAN-58D71]DR)48T8S.!WI7K:4<":/.1 MVP]?9S=\]QTI46?3:Z+23Z2C=%1!@Q[D\B>VYG+E3;DNE[N;2"HWY'+/3Z2- M-T_O>T<@MT[ONTANG]YWD=PYO>\BN?M[\S[^O:&;G"ZG KGWSM#Y?.@4X=4K M)E#W:XA:\-0W>)5E@>V6!9&]MYRNF)/O46[2M3]E=RV^"4E9\LQ:HS__H'WE M+Y&UD# ="3.0,!,)LY P&PESD# 7"1LC81,DS /!*J;O[DW?E='Y&L2AT\ O MMM_LE=](I$QD>2GE7,LC83H29B!A)A)F(6$V$N8@8>X6IA6P_&[U>33H\;O7 MV_;SL9>;4=J@$341L+1&E =J?L5]O;W[>E+W_ MHQNJUN\-J]UX:$9U![3;K4;I M9043O5**,9155:&S=3<$':4V@URA)$J4JW MQK*;49S4JS7>:49]IGVM%N4*&M_ITVZOED*B/JK%/JR20X(PVM/4VNA[TFF^ M,(GZ^R3J2Y/HWD^#*;GB]V2S. S])"5\&[>]:Q/FTY8V/.J2"U%HNB8*46L*90M*@EDJBH %5CK]JO;"%O5"'E:]:DC4EGWF#:[URFU&= M:U6KI9@HJ):&$U$,K6>7=/XOS"YMGUV:?(,0A)N,S<[(+TTPZ/V!;- ?1))! M/=U$05I]Z1(%-=)-2*K-GB5L4RV_1#'#6JXXS2!11C6C>$;5@L:BH&ZMX1-1 M$*T%>=))OS"E!ON4&DA3R@NB8+59B7)'*CQWFXF$Z4B8@8292)B%A-E(F(.$ MN4C8& F;(&$>"%9Q^7#O\B'HSTE#I.F1,!T),Y P$PFSD# ;"7.0,!<)&R-A M$R3, \$JIJ?*X8,H1?K+W4BS8.7G.\9-RN:;D(3!,TOS#Z:R)9.O ^^05?*+ M\=VGR/1RY;FNA](,*,V$TBPHS8;2'"C-O3BWQM!V3"YNAW>)LNKAHP^3J7R# M[K^^M4&7*\_]90VEZ5": :694)H%I=E0F@.EN5#:&$J;0&D>BE;U?.?@^0YH MNUZ"4$L DJ9#:0:49D)I%I1F0VD.E.9":6,H;0*E>2A:=0DXU']0Z2?-O[5U MEY-51;)WAQ: 0&D&E&9":1:49D-I#I3F7IY<8VA#)N\T1)-LWN5**NQ"U<:' MB@XJ+^EX6/K1@N4UFD?EGQ[+EO%L=X9;?!XGQ$_)(7CG?J&]H>4?4)H.I1E0 MF@FE65":#:4Y4)H+I8VAM F4YJ%HU;7B4']">ZA=/ZC$H5P"D#0=2C.@-!-* MLZ T&TISH#072AM#:1,HS4/1JDO H7J(RLN'3JT E6/.7@"0-!U*,Z T$TJS MH#0;2G.@-!=*&Y>T:O'@4&W4C$*OZJ%H56L?2K>HO';KI/)2.>-L7R-I.I1F M0&DFE&9!:3:4YD!I+I0V+FF5 MT^;=H:>5$/1:O:^E ^1^7U<^<6_,IQ9SL< M6E8'I1E0F@FE65":#:4Y4)H+I8U+6K7(5JW[&UHVAZ)5_7THG*/2$IT+2J[E MP+,=#JVA@](,*,V$TBPHS8;2'"C-A=+&)>T=AT-KY%"TK+YR2*(4A*R M.;^4&ULK9EM;]LV$,>_"J$50PILD2GY,;,-)%:+!FA0+UFZU[1T MMHE(HDM2=@/LP^\H*[*5R$2\\8TM4;P_R9]XY!TUW@GYI-8 FOS,TEQ-O+76 MFRO?5_$:,J8NQ09R?+(4,F,:;^7*5QL)+"F-LM0/.IV^GS&>>]-Q63:7T[$H M=,ISF$NBBBQC\OD&4K&;>-1[*;CGJ[4V!?YTO&$K> #]N)E+O/-KE81GD"LN M&_1/&(250?C> M%KJ50;_D\2$B%Q\^D@^$Y^2OM2@4RQ,U]C6V;U3\ MN&IKMF\K.-$6#.U[T/7GI_$U@5[YB\)!WZ&PDZ0=#6 M(;MY!/$E"??F88MY]'[SP#*:L'X78:G7/:%W_3!OZ<2-U.CX M"N06O.FOO]!^YX\V("[%(D=B#5C=&E:W5 ]/P/K*V8*G7'-HFXDW79?07(I% MCL0:T'HUM)YUALW0_7B^0@\GL<"U.P')S/+;1G"O-"B5S.ZQG0;#3F?L;X_) M6)L[EXPCL0:9?DVF;YU.YY#INYQ;+L4B1V(-@H.:X, ZMSXQF6-@T09L\&8J MA<&;J615/Q>$([$&B&$-8F@%,0=9QF-Y#$0SN0+<3C<@N4C:V-BU*'D&)MOF MC=7N7%R.Q!JX1C6ND7W>*,TQ?H.$+$TLLBUC$;$D>@W&%=_ME:/WK%?6KIQ+ MS9%8@QKM' *WCGTM7S,D8T*R)K=3S$A:[9C/)"DDUC@UM6[L#9^[P%5JQR]F M]/J]1*Z:;+(\"H*IE>4]Q(4LF?Q#_BR$F8QSR6-0!N]UF9H0C#6?C"NC;Y/; M!/'RF*7D6BE3>/$5MI 2^K&5I[7QLWFZ5(M-KA18XA>92 M+7*EUH1V2!.H/4^8,;4FF(*1V%S CX*C\YNLK96CT_2A4NL=K[)T,!@,7_MS M^'8U[@[[HZ"NUQS[(>JGUOBXX:FWN0;LLR:XP %1.[;!P@>^ROD2?1/7OV^X MATCR;6&&Q18IH,6FJ+TU:'=6IYF#4[7(E5J3_2%YH+W_ZJPN\X"94[7(E5H3 MVB&OH-:@>QIAY+=EY0["#+]6?$XSBDKMV/=H/PQ?>VC_C2?3(.R=\,]#$D#M M6U29V-TFH[0MQG0*'CMT/[147$&F)R:(W>% R]RO3\UKDOK8_WK M\C#;/U3??Q/ @'C%_D !D !X M;"]W;W)K&ULO=UK;]M(FH;AOT)X!XLTT([%LY1- M#*0M%JL*/3-!'W8^,Q)M:UL6-225PV)__%*'F"Z2+HN3>_I+MRVKKI*=]Y5( M/F3Q[>>B_*.ZS_/:^?*PWE3O+N[K>OOFZJI:W.W1?F0U'OM07K\M=O5ZMWC(RJ\_ MY>OB\[L+]^+; [^L[N[K_0-7UV^WV5W^:U[_OOU0-M]=/2K+U4.^J5;%QBGS MVW<7[]TW>NKO!QR>\=^K_'/UY&MG_ZM\+(H_]M^HY;N+R?X5Y>M\4>^)K/G? MI_PF7Z_W4O,Z_GE"+Q[GW ]\^O4W71Q^^>:7^9A5^4VQ_L=J6=^_NYA>.,O\ M-MNMZU^*SS(__4+AWEL4Z^KP7^?S\;FQ?^$L=E5=/)P&-Z_@8;4Y_C_[AHP/7? [#1@=NX =_+M7VYRJ*#C/_FA7N99G5V_+8O/3KE_?N/M MOS@4W6%\4R:KS;X_?JW+YJ>K9EQ]_=.N:AZI*N>F>/BXVF3[HJV<2^?#S]+) M-DM'*.F\FN=UMEI7/S2/__[KW'GUEQ^->S %?-'_'Q+^E]^TO^ MY%G%][N[U\[$_='Q)IXW\()N[,-UMGGMN.%AN#OT][0/G^>+UX[__.S)"[/O MFMG]R6&X/S!.] ^>_UP=+?ZY M6U6K0R,.O)J?CJ.#X='[C],WU39;Y.\NFL_+*B\_Y1?7__D?;C3YKZ&:)+$Y MB24D)D@L)3%)8HK$-(09/1 \]D!@TZ]_*^IL[6QWY>*^V?9Q%DTKK)9Y>?AT M&NH)JS:V)XY8?,#VFY>?KB,W](+9VZM/3ZN=G#,A,4%B*8E)$E,DIB',J/;P ML=I#:[7_O-_^6F35_6&+J_'K\R3D3$A,DED:]#[G+F3^9F'\,V7]6$$\#?VH^39&O3/?GC";1 M+&[_G8Q:BQ]K+;9N5:MEOJE7MZOLXSIWLJK*Z^KQG?7PMKMN?K1:-YO=>;7_ M^>YA^!TW)DN2Q.8DEI"8(+&4Q"2)*1+3$&;TRO2Q5Z;6]^6T*):?5^OU4/U; M1XZM?Q*;3WOO&]/8G4XZ[U4).:?HSQE.W2CJ?*:DT]Y'SS2,H[#[;COPM('? M0)TWJ>YKG:<9M3%[K(V9?<^LS#95=CJV?=A:76>'3=6BJ@V(MT/V! MZ[0L=EM';19#!6D?/[8B46V.:@FJ"51+44VBFD(U36EF/SS)=]SO.IQ\&DZU M ZG-42U!-8%J*:I)5%.HIBG-; >O;09'XXU]VM&%3VH) MJ@E42U%-HII"-4UI9N&WJ:)K#6R^XR#S"38.# >^&WK=%D##1%1+4$V@6HIJ M$M44JFE*,UN@#15=>ZKXXO'FT_BGE1YXLTG@=BN=C)[FJ):@FD"U%-4DJBE4 MTY1F5GH;*+KAGW*TVT4#1E2;HUJ":@+54E23J*9035.:V39M'NG: \F;YL/A MQ^-'1-XTRZ=LW;11-;3!--@L_81Q<#.)3,OFJ):@FD"U%-4DJBE4TY1F=D&; ME+K6<.GZ_6)1[/9U7^:+O&F"YC-DL-SC7KG'0>S/NN6.AIRHEJ":0+44U22J M*533E&:6>QMVNO:T\Z;8U&6VJ$_;28.EWL_2FE+OGBUQ8Y]H=*F36H)J M52 M5).HIE!-4YI9ZFUVZ]K#VP]EOM_U=?(OVWQ3Y<<2:%.^V>.'ACGW9LX:-:@FH"U5)4DZBF4$U3FEGX M;1+L6:.UZ[]O#SG7YLY9Y_OLZ_FW^A/4.3V3C2YW-.)%-8%J M*:I)5%.HIBG-+/_?#UORZV)S=UGGY8.MXON1;A1$4;?@T4 7U1)4 M$ZB6HII$-85JFM+,@F\#7<\>Z#X>J=QF7X]15[,MGRT6Y2XW(J[!%NAGO?O+ MW0(O[G8!&O:B6H)J M525).HIE!-4YK9!6W8Z]DO'WT\@/E2Q0]B"1V-:5!.HEJ*:1#6%:IK2S()O8UK/'M/^_+B%L\P_ULZKU6:QWBWW M.[;?CF)NBW)_0N^EZDTGO""<:Y:): M@FH"U5)4DZBF4$U3FMD2;93KV:/<[@[P2QM$_5CW,@Z"L%OV:*R+:@FJ"51+ M44VBFD(U36EFV;>QKO?"-;F':UI63\_YW+_I6P[_]*-SSCJY\ M-,M%-8%J*:I)5%.HIBG-7"FOS7)]>Y9K6ZG [\>V7N3ZD^YA??L48XLV_Z2?\HWN]RIFOW<_'@:__%ZWL&J1R_G1;6Y MWX^5_2B>=<^C2]!9!:JEJ"913:&:IC2SZMOLUK=GMVE95)6S+8O;57UFZ9-9 MW@VJS?U^Q.Q/O7[EHS$NJJ6H)E%-H9JF-+/RGZS_:X]Q1R^Q8_=&%SZ[)O!1 M>WK]O!OV3IU.T$D%JJ6H)E%-H9JF-+/PVSC7M\>Y:K,H#\;NT/E+Y^< MM/9,S:-7Y:+:'-42OQ]9N]-IO^;1'!?5)*HI5-.49M9\F^/Z]ASW\?W^U3(_ M?O6#4Q=-#]1-+ZS:2]<'>P!=&QC5YJB6^/V\VO5[6U "G31%-8EJ"M4TI9D] MT*:XOCW%?:8'EN>=N6S'1WK+?KV2Y\L?78T8U>:HEO@#4;7K#GP*H DNJDE44ZBF*P! M[OOE_^RJ^N&PS$ZSV7-GR7/MTM@W>U2;HUIRTIX>Z?&#_EXO.FF*:A+5%*II M2C-+OHUS WN<:RQ0[OR?'H_S[Y=IOE]M!S=W[/#H#D"S751+4$V@ M6HIJ$M44JFE*,QNE38"#8\[V[U[$,$!S852;HUJ":@+54E23J*9035.:V39M M?!S8XV/U>/BTLNPZ!_U<-HY[QU-N['.-KG;T$F!4$ZB6HII$-85JFM+,:G]R MHUA[9OS^87^IU_\>-IR<#WFY*H8_ ^R*&SI?\ZPWCIWJDA&DFCVAS5$E03 MJ):BFD0UA6J:TLQV:)/KT)Y@9U>:HEJ":0+44U22J*533E&:V31L]A_;H^?ON MGV?'1S=+?XEK=Q)Z8??# XVD44V@6HIJ$M44JFE*,[N@C:3#%R+I\^Z?9U=& MEWO0*_??<\NS>Z[/N7 8>1ZTV[A8^&Q*@F M4"U%-8EJ"M4TI9F%WX;$X0MK2Y]]]SP[-+KB^U?^NGZS)]NM>#0#1C6!:BFJ M2513J*8IS:SX-@,.[1GP^;<3LT.C*[Y_<7,TBZ-NP:-Q+ZH)5$M13:*:0C5- M:4;!1VW<&[UP,?)WW$[,3H]M@:B_=O6E-YOZW>T<=-8$U02JI:@F44VAFJ8T MLPG:D#>RA[SGWDW,SHPN^'[6>^EY8?=-'YTT036!:BFJ2513J*8IS:SW-NJ- M[.M,?]_-Q.SXZ"[HKQ)].0MGW29 @UM4$ZB6HII$-85JFM+,)FB#V\@>W'+W M$K-/-+HA^B'NI3N9Q=V]7W36!-4$JJ6H)E%-H9JF-+,EVA0WLJ>X(^\E9M=& MUWT_S;V,PZG;+7LTS44U@6HIJDE44ZBF*QI[NA[B=F]T87?SW:] M8!I->SN^:+B+:@+54E23J*9035.:6?EMN!O9PUW;O<3L0T<7>3^[]:,HC'IO M[VA\BVH"U5)4DZBF4$U3FEGD;7P;V>/;P]O[8(6C,6W4OS(X$7L:Q)-$=?2()J M52 M5).HIE!-4YK9-VW:&]G3WE%WF;1;HQL!O0X8U1)4$ZB6HII$-14-W&(ZBGJ+ M@VAJ5J/JXS;RC5^X@?#HNTS:P;&ECVIS5$M03:!:BFH2U53<7[X[\/N53TUJ M5GZ;\\;VG'?T72;MWNC"1U>?1K4$U02JI:@F44VAFCYIQNI2P=,V,@N_#7QC M>^ [7U6'TWR<5UGE9,XV+Q?YIA[O7P7U1)4$ZB6HII$-85J^J2Y M_I.:G[QVPV=*OHUWXY>6A!Z\O=+GHOSC<*)#MET][(VZU9)=&5SRZ2#2J):@F3MK33=;+V.N7/!KI MHII"-4UI9LFWD6YLCW2%DJ-NL&3G1M<]NLHSJB6H)E M136):@K5-*69[=&& MP?$QBOMWKW(5H]DQJLU1+4$U@6HIJDE44ZBF*T?#/.\WM;T')TU036!:BFJ2513J*8IS2SW-AB.[<'P[U5^NULWGP6W@\M8 MV4>/KG/[:W%GSY\3@;Z0!-4$JJ6H)E%-H9JF-*/TIVTZ/+6GP\?]!^O]E.S" MV/)'M3FJ):@F4"U%-8EJ"M4TI9D=T:;&4_=/V668HF$RJLU1+4$U@6HIJDE4 M4ZBF*S(Z*;P^J>A!+T=!G3.!-4$JJ6H)E%-H9JF-+/8 MV[1Y:D^;7]AAL(\>7>7VUW*\*=/@NSR:'J.:0+44U22J*533E'8L_*OJ/L_K M>59GUV\?\O(NO\G7Z\HYG#RTWT)Z\JA3YK=-8[AOWGL75[W'$_>-< <>3]TW M^O#X5,W=;%]=]%\IGTLZKIX M.'QYGS>[*>7^"&ULK9GM;YLX M',?_%8N;3JW4E6>2]))(;8#;3MNI6K>[UPXXB37 S#9-]]^?32@)">42[?%6)F;*0L[TQ3)!N28W'+2E*HF!7C.9;JE:]- M47*"TUJ49Z9C68&98UH8\VD=]LCG4U;)C!;DD2-1Y3GF/Q](QK8SPS9> [[0 M]4;J ',^+?&:/!'YK7SDZLUL*2G-22$H*Q GJYEQ;]_%=J %=8I_*-F*@V>D MJ[)D[+M^^9C.#$N7B&0DD1J!U=\S69 LTR15CA\-U&CSU,+#YU=Z7%=>56:) M!5FP[%^:RLW,&!LH)2M<9?(+VWX@385\S4M8)NI?M&W26@9**B%9WHA5"7): M[/[Q2],0!P+;>T/@- +G7(';"-QC0?"&P&L$WKDY^(W /U<0-(+:3'/76'5+ MAUCB^92S+>(ZM:+IA]JN6JT:F!;ZRWJ27,52I9/SATJH$"'0@N5+6F!MMT#O MT8,.R-$'EJ4)NT&?/BW054@DIIFX5M'?GD)T]>X:O4.T0%\WK!*X2,74E*I( M&FPF3?;A+GOGC>QM!WUFA=P(%!4I2;L 4]6EK9#S6J$'9Y#X5U7<(FM\@QS+ M<7H*M/@?.59RVZ_E=E]]AN4A26Z1:]=RMT<>G2_O*WQ\OMP>:$NW_3C^ MP;M/?E14T/J;Z"G-PT[M]:OUF'@G2IR0F:$&/4'X,S'FO_]F!]8??;Y PD)( M6 0)BX%@'3^]UD]OB#[_RB3.4%GQ9*,&8Y0H6VE*>-WI^_P=I%WJ[PXVJF%Z MOGN>![;O>).I^7SH'&2>$20L!H)UG/-;Y_Q!Y_Y6:XP$BPTJ,4W[K!J47VJ5 M?VJ5Y8T<[\BJTV3O)ZYE=5-%IZF\T=ASQ]UD<5^>P62TS[/3;D';;L'@"/;( M24;5M*D638@(2=52A*1HA2E'SSBK2.^P%D"V)20LA(1%D+ 8"-8Q>=2:/!KL M''\REFYIEO5Y.:B\U$M(6#@Z^>#'_BCPC[M/3[*1/;:.N\]I,G]L!\$;W6?< MMNQXL&5/5X%];3S(N+2-(6$A)"R"A,5 L(ZKD];5R2\MZR:0?D+"0DA8! F+ M@6 =/VUKOXFS?FUYT.@/QPZ!4J+0&DQ%*UKV,&NVSYKRD)4 M(/)2DD0O2R1#2X+4-KA*)%UF!*T85_OKA.4$2?RB%^XE$T2@*[7I_DDP%]>] M7@]G;?L[;5]G'99>[#\D+0*EQ5"TKO_.WG\'?EW:,($&9E!:"$J+0&DQ%*WK M]?X0Q1[])0%E!:!TF(H6M?T_4F+/7S4 F.Z/I6GQ5K-[265 MN'>#TY3#/_#==IU3XR&/0D)06@1*BZ%H7>/W!S7V\$G-QT+B8EU/WP.=U3\U MS>HQ#?)4)P2E1:"T&(K6-6U_2F0/GD\,GB TTE''JYZE,^A!#R@M J7%4+2= M5^;!W55.^+J^910H854A=[<^;6A[DWE?W]\=A8?ZAK.^$]MC=M>CGS%?TT*@ MC*P4TKH=J8^-[VX<=R^2E?4-V9))R?+Z<4-P2KA.H.)7C,G7%YU!>^\[_P]0 M2P,$% @ 1XU:6%[+([J^! 2B( !D !X;"]W;W)K&ULK9IK;]LV%(;_"J$50PMDUL66[&2V@32Z;,,*&$V[?::EXYBH M)+HD%:?_?J2L*%:L:/9VOMBZ\'T.Y?/BB#KR?,_%-[D%4.2IR$NYL+9*[6YL M6Z9;**@<\1V4^LR&BX(JO2L>;+D30+-:5.2VYSB!75!66LMY?6PEEG->J9R5 ML!)$5D5!Q8^/D//]PG*MYP.?V<-6F0/VW5(R5D I&2^) M@,W"NG5O$M+2S'S AR2)5!4/WU"'>0YX:D MY_&]@5IM3",\WGZFQ_7%ZXM94PEW//^;96J[L&86R6!#JUQ]YOO?H+F@>H(I MSV7]2?;-6,M4Q-219=SP?=$F-&:9C;J_-9JG1%6&BO> M*Z'/,JU3RX^5U$>D)'>\6+.2&G](\@NYS=<@%"7WJ=!V6K$>G"]_ M=>VVMD+K!Z_U@U?SQF_P;M/O%9.LMD%?(@_J2;_:U,T;N:,I+"Q=&"6(1["6 M/__D!LZO?6G%A(68L @3%F/"$B18QQSCUASC(?KR"U9\Q!I67&@,3%OHG%6?F3P/?Z5:<"#-FW!-SZLZ<63=F M[_JR]"@Z-(,8<)"3%B$"8LQ80D2K..):>N) MZ?]:$$XQS8$)"S%A$28LQH0E2+"..6:M.6:H"\+92=F:N,ZK>GHW&/)2$V#" M(DQ8C E+D& =$URW)K@>-$%$1AY)"1\0]2VOD,H5CY J?[]9M&$.:X>WNRD>@Q/ MYF*38-(B5%J,2DNP:%V3O+09W>$^XW_J(;BHW4=46HA*BU!I,2HMP:)UG?/2 M@W2'FY!]Y44^UQE-T:-F6#1NK9ZZ6FZ@PVP MP1;5L/3BQ*-V+U%I44/K/*&=W'-CU)@)%JV;^)?6I'M>;Y+ TPY24U<4)VL@ M&615JM@Z!Z+7*-#K"]3>)2HM1*5%#U)M;H'K%:@;H\QO.U?.. M>17?_GUD^0]02P,$% @ 1XU:6)%/C.[. P / X !D !X;"]W;W)K M&ULK5=M;^(X$/XK5JXZM=)>$SMOT .DA>ZJE6Y/ MJ-W>?C9D@&@3F[,-=/_]V0Z$0$QN3\>7-G9F'IYG9IP9#W9RX+) MH;=2:OW@^W*^@I+*>[X&IM\LN"BITDNQ].5: ,VL4UGX) @2OZ0Y\T8#NS<5 MHP'?J")G,!5(;LJ2BA]C*/ANZ&'OL/&2+U?*;/BCP9HNX174VWHJ],JO4;*\ M!"9SSI" Q=#[B!\F.#8.UN*O'':R\8R,E!GGW\WB.1MZ@6$$!P_JU;]I')O/!_3/5KP6,Z,2)KSXEF=J-?1Z'LI@03>%>N&[)]@+ ML@3GO)#V+]KM;0,/S3=2\7+OK!F4.:O^T_=](!H..+G@0/8.Y-PANN 0[AU" M*[1B9F4]4D5' \%W2!AKC68>;&RLMU:3,Y/&5R7TVUS[J=%X(_6.E&C"RUG. MJ(FM1+^AJ>#(Q@D]LZI83-!O'T'1O)!WVN+M]1'=WMRA&^0CN:("),H9>F.Y MDA\:&U]7?",IR_3FS.$%/!-T&VQ]0*2N0V>, M*HC(#6%._8-*-??\%)\+M+WY7 3M1&M=JH"WWTE;XC016X M1%:>N J\^11M1\$]3N*!OVW2=YJ1L%>;G1"+:V)Q)['I'T](5RCZ_/SDXM;I M_%\3<"6P$YU)K3/Y_^667%/MEZB^F?:?H.SC34R'' M#4HXZF-R?E#:9FD_,M\L%^]^S;O?R?M//654W%W,^JU@81+%K9BVS9(@CD(W M,QPJ+U0L M@3 &^OV"&ULK9K]CYLV',;_%8M54RNMQWM(;DFDN^8-DI-.=^OV,P=. M@@J8@4EN^^MG Z$A.)2LWTK7 'F>CVWP@S'Q^$C2;]D>8XK>HS#.)M*>TN1> MEC-OCR,WNR,)CMDW6Y)&+F6[Z4[.DA2[?F&*0EE3E($=T.B8Y M#8,8/Z->7,S_(6$?P4^W4^DH81\O'7SD+Z0XPI7 M#3(YSR-A5OR/CI56D9"79Y1$E9G5( KB\M-]KT[$F8%QQ :M,FB7!N.*0:\, M>E^#41F,O@:S,IA]#8/*,.AKL"J#U=/QC:)K%W[6&8.8I_"5INS; M@/GH] 4?<)QC]!D]X[0(=>QA1-["8.?RF&3HXPQ3-PBS3TSS]76&/G[XA#Z@ M($9_[$F>N;&?C67*:L)YLE>5^EB6JETI54=/)*;[#,UC'_L"O]/M5[4.@,Q. M07T>M--Y>-0ZB3/LW2%=_0UIBJ8+*O2EV_Z*$V97KMIGW78GCSOM\V[[DYMV M5G[1O^V:P+[LWW:1?=6_[2*[W;_M(KOS<]=]_7.G;M/?KG;T8KU.LU[P]!^D M&;\G;)3#/J(!NVOL1 $M0888Q,?^^RQQ/3R1V.">X?2 I>FOOZ@#Y7=1."!A M,TC8'!*V@(0M(6$K2)@-"7,@86M(V 8(U@BJ40?5Z**?@BH*9FFT"B-_ACY, M55,U35,9RX?SS(ETVL@8#IJZF4!GJ+IN64W=7*#3S,%P=,%;"'2Z-E+U45.W M%/&&!OMKZE8"';N7LH8T=79;9PT-?6@T94Y;9EJJJ2L7U5NW=8:A*>;H0K=I MZW1C9 UTK=8U.H!9=P#S!QV 3Y'8O1DEXN9YVPR%_[OH&IU%WWH[ MAH3-(6$+2-@2$K:"A-F0,*=G%UI#%KH!@C6"-JB#-NASIT4I]L@N#OYE#T7; ME$378HS^%L?I"!A,TC8'!*V@(0M(6$K M2)@-"7,&K>2J6BNV;9&N7XHV0-5JQ-&JXVAUQO$A(GE,$=DBCTW@4]>C*")^ ML V\*G]![(6Y7\:/[L^F,K7^X(8YOA-%T6J-U9JBFZWAL;.&MX8,$C:'A"T@ M84M(V H29D/"'*N5'U$/6D.6N0&"->(XK.,X[!G'/':3)"6'\Z0UDWDV@KI\ MKQQ7^9MTY.51'KK\?3IB:F__.4_XN_% .&!VUNC6 1,2-H.$S2%A"TC8$A*V M@H39D#!GV!XP+=-J91FRS T0K)'E49WET:U/NBS.*7\'*'S1T$F[-8>0L!DD M; X)6T#"EI"P%23,AH0YD+ U)&P#!&ND556^__*F0+VLKTA 606ES4!IBA6K%PMKA!=0KWJ;_ 5!+ P04 M" !'C5I8"FQ=:,8" #^"@ &0 'AL+W=OR@+R2X/8P^*<^R(VI(G*9>._?@= MR8Z6@NM":==!B'4YYSO?)YUCG\E.R&NU!M!D7^1<3;VUUN78]U6RAH*JCBB! MXTXJ9$$U3F7FJU("75FG(O>C(!CX!67>B./K""EFUS/Q>X#U(+Z!B\1N;+_9%?;!AY)-DJ+HG9& M!@7CU9/NZX,X<@A[=SA$M4-D>5>!+,M+JFD\D6)'I+%&-#.P4JTWDF/\D\ 2*6.@*54/7D]\C:$-@)_4 M82ZJ,-$=82XAZ9!N>$*B(.K>=O>1L:,=.=J1Q>NUTSXAQ$2A:XI5*:5 8+3:4F>'I OI_OF?HQ-BQ[IT&(OR:IK=1, M&8U521.8>E@G"N06O/CEBW 0O&D1WG7"NQ:]>\]]P4&5MJJ::':?@&;/T>S] MH_MI4M8>.R0W0&6+B+X3T6\%0L8)<(TO)T-*.B5E8Z4<78D@2T#[1&2<_<(% MQHT/$ZLF,16'L*H<\Q+=QD&GWSV;^-L&[@/'??#,!=*O"H3\)E>(7VR*)G&M M)!^8@T-W!,/'*I7A$] <.9JC9RR5]MAA1 K!]5JUZ#AS.L[^GXRC^[LRKI7D M Z\R#/Y^38/'RKD:Z9&9'GWWPV=,NWN"AZ.6O/./NAG3&5Y1F3%L1')($2SH M#/&-*:MFJYIH4=H&9RDTMDMVN,8&%:0QP/U4"'V8F)[)M;SQ'U!+ P04 M" !'C5I8M,M2XQ4# #W"0 &0 'AL+W=O4#^.6>Y^XYF_,--D*^J 6 )J]%SM706FB]O+%ME2R@8.I:+('CSDS( M@FF#*V>15*8L56N)V+S'6H]@>%+1*[*;[*I;$/TF*R4%D4-QGF1 M\>J7O=9YV &XX1$ K0'T$. ? 7@UP#L7X-< O\Q,):7,PYAI%@^DV!!IK)'- M#,IDEFB4GW%S[$]:XFZ&.!U/8 U\!>0S&0FN)1X#84J!5N1R#)IEN;K"O>>G M,;F\N"(7)./DQT*L%..I&M@:(S \=E)[NZN\T2/>7$H>T,U"D:\\A72?P,;0 MF_CI-OX[>I)Q#,DU\=Q/A#K4ZPAH=#Z<=L#'Y\/=$VJ\YC2\DL\[?1I=B:V M?C?0%(<;M60)#"W\]RN0:[#BCQ_POPF8?XI]OB93[,\ MAQ0KT-',50Q1R6"JX#H.'=\-PX&]WLU)V\RG3N"Z^V;CMAGM>5$8-69[.H)& M1W!2QP0T<%V5T@2R-9OFG5HJEF#7.][[H'>@I6WF1K[K]P^T=)A1O]]WNK6$ MC9;PI):FD&!5!IFQ'&L)%YJ\X2.6<:69.;"K+G5A*QZO'P;T0%S;BKI!Z!]H M:UNA?H=V2XL::=%YTJH:V:4A:OGM^:$;'=ZVJ'TIW9#20Q5M,Y]Z8=#OEM%K M9/1.RKCG";8("LAE"M7HRA3VY-_J>NW;[SGX.5!WTOW_UI=W(JLR9>\\E07( M>=ER*)2^XKIZ-9O5IJNY+1]S^Z]YU1(],#G'^TQRF"'4N8[PT&759E03+9;E MPSL5&I_Q&ULK5;=;ILP&'T5 MBU53)VWE'Y(LB=2&3>M%I:I=MVL'O@2K8#/;).V>?C80E@2"4JDWP3;G'/L< M!_N;;AE_%BF 1"]Y1L7,2*4L)J8IXA1R+*Y8 52]63&>8ZFZ?&V*@@-.*E*> MF8YE!6:."37FTVKLGL^GK)09H7#/D2CS'//7&\C8=F;8QF[@@:Q3J0?,^;3 M:W@$^53<<]4S6Y6$Y$ %811Q6,V,:WL2C32^ OPBL!5[;:2=+!E[UIW;9&98 M>D&002RU E:/#2P@R[206L:?1M-HI]3$_?9._7OE77E98@$+EOTFB4QGQLA M":QPF(W1Y\0E=($+1 MSY25 M-$3$VIEJ'%S+B9\J:>TCDQI>V@.S57*M WFD!R*&"J];''IU/MP?.[PE?<'61*^?J$^(B2AP M##-#'0$"^ :,^<?&9OL+.@L>6 M;UE'M@;G?>OG]TYB!Q&-VHA&@Q'MKA .,5M3\E?]@PF-LS*I&MW47A&6: EK M0BFA:\16J !.6-(7Y:CG0W/&G2Q[8([5@46#/MZ:DKEWZ>; UU7Q(I3=DLKZ MZFI'V_KHNBH+CL9O[,FB+G/^R]1%UQWF*B6!,E@I2>LJ5/\I7ARHKK: METRJ0J%JIJKV ZX!ZOV*,;GKZ G::G+^#U!+ P04 " !'C5I8>^31++(, M !7P@ &0 'AL+W=OB^:1[?CL>KZ_OZ8;)ZLWBL MY^UG;A?+ATG3OKN\&Z\>E_7D9M/T,!L+V_;'#Y/I?'1UL?G8K\NKB\53,YO. MZU^7UNKIX6&R_/:NGBV>+T?.Z/L'/D[O[IOU!\97%X^3N_I3W7Q^_'79OC?> M*3?3AWJ^FB[FUK*^O1S]XKRM/&_=L*GXU[1^7NV];:WORI?%XK?U.\7-Y MWZ)Z5E\W:V+2_O&U?E_/9FNIO1W_V:*CW==<-^Z__5U/-W>^O3-?)JOZ_6+V M[^E-9HU'Q?/>;V]0YL;>+V8K3;_MIZWM?;(NGY:-8N';7-[ M"QZF\Y<_)[]OOQ%[#:VC;Q#;!C%L<(\TR&V#/+7!W3:XIS9XVP;OU 9_V^"? MVA!L&X)3&\)M0WAJ0[1MB(8-_K$?G/W])V>?^C6@H_-3N[ME?3?9C,?BMAVRE\]]^;:]+?72:KX]UM9D?F-=+^;-LIVA MEX_\&-?-9#I;_=1"GS_%UH\__&3]8$WGUC_O%T^KMGYU,6[:F[O^HN/K[4U[ M]W+3Q)&;)JT/[=>X7UG)_*:^T?0K<[\C#,"X_3[MOEGB^S?KG3"*<7W]QI+. MWRQA"ZFY0>_-[9_JQ[;=/MH>F]O5T]S8GIC;/TR6QAN?GG[?A:8]._V^Z]KS MT^^[KKTX_;[KVM6?^[F7?^Y;5YW>[A@>Q7(W\G+CR6/>P:!O_Q+0C>@+Y>JI M]8KP=O4XN:XO1^T.L*J77^O1U5__XOCVWW7C06(QB24DEI)81F(YB14DIDBL M)+$*PGJCZNY&U37I5X;!?&D,-HWK5?OKE>,YGN?9%^.O^S.GJQ.1&_K]NEA3 MYSI2!D&_+M'4"<\/HX&7:NJDB!P9]>LRG1>Z[3_]NEQ3U_YMVMZ1?EUQ6!>$ MK@S=?IDZ+/,"QY/VX.:5AW6N*VPO&M15AW72C0)?BEU=[P'@[1X GO$!D$Y_ MKV^LQ^7T6OL@,#:?^[4D5I"8(K&2Q"H(ZPVGOQM.GUND M?')422PFL83$4A++2"PGL8+$%(F5)%9!6&]4@]VH!J]=I(R-YPXFB<4DEI!8 M2F(9B>4D5I"8>L&\O0U1^$($X6#!+@_KG# ,@T@.-DY-G?"DO[.RPD%I-80F(IB64DEI-806**Q$H2JR"L-YO1;C8C;N&, MR%$EL9C$$A)+22PCL9S$"A)3)%:26 5AO5%U[.Z)-?NU*Z>Y\]S91+48U1)4 M2U$M0[4VD6XN:6U*+42U!M135,E3+4:U -85J):I5E-:?VRX$XAB?N#:N MIVCH ]5B5$M0+46U#-5R5"M036VUWC)I2R^4!^OI86$0!=*WA]NIIB[T \<] MLIQV<0S'G,?X\.D7[< 8N\X>&%*+42U!M135,E3+4:U -85J):I5E-:?T"XO MXWC@.HKF9U M1K4$U5)4RU M1[4"U12JE:A645I_;KLHC6-\^M^XCJ+1&52+ M42U!M135,E3+4:U -;75^K\MC2(1#9^IUQ8*$0V?TJ\TA>T7EZ$;'5E(NUB+ M8\ZU_&,Q__G84HH&6U M1K4$U5)4RU M1[4"U12JE:A645I_2KM(C1."2RF: ML4&U&-425$M1+4.U'-4*5%.H5J):16G]N>WB-HXQ(F!<2M%X#:K%J):@6HIJ M&:KEJ%:@FMIJ^RND]-MB1PR7TL-"(:/ 'Q96FD(GC&002OU2*KKDBS G7SXW MT]FTF=;::[[-O><.#JK%J):@6HIJ&:KEJ%:@FD*U$M4J2NO/:1>U$0ZWE@HT M3@*?E25V@+5]K#WY5J"AW?"R(O.+*6=HD784Z\ M[-92Z[_6'UQ7;Y;.'B,T 8-J":JEJ):A6HYJ!:HI5"M1K:*T_M1VD1OA@DLJ M&L1!M1C5$E1+42U#M1S5"E13J%:B6D5I_;GM@CC"_,HUIBE%8S>H%J-:@FHI MJF6HEJ-:@6IJJ_5^=QHY83C\U:FFSHE$-+Q*JM+5"<]WCUS[)+H0C#"'8/8W M5/-U^&;H[!%",S&HEJ!:BFH9JN6H5J":0K42U2I*ZP]M%\$1 ;B@HJ$<5(M1 M+4&U%-4R5,M1K4 UA6HEJE64UI_;+I0CS"]T8YI2-(*#:C&J):B6HEJ&:CFJ M%:BFMEK_:OI A(XWW% UA5($,AB^'*FNT'%]Z?A'=M0N$R/,F9C]'?6D:_7- MWMG#A"9E4"U!M135,E3+4:U -85J):I5E-9_W?>V"^I(\VOBF*84C>6@6HQJ":JEJ):A6HYJ!:JI MK;:_6*Z/'9"#5RZKL0C+2')+9WU./7"%E%LZ> M'30L@VH)JJ6HEJ%:CFH%JBE4*U&MHK3^M.X=242>2<0>2L2>2L0>2\2>2\0> M3,2>3,0>3<2>3<0>3L2>3O3_2.?(+ITCC2D"XV:*9G%0+4:U!-525,M0+4>U M M745NM?SV1'TAT>Z:0K]"/'"X;/\^L*I>]&D7=D.>W",=(;U\NZ;=F308 RJ MQ:B6H%J*:AFJY:A6H)I"M1+5*DKK#VF7PY'@65 2S>"@6HQJ":JEJ):A6HYJ M!:HI5"M1K:*T_H'N70;'??6Q4.;.'.$DI M/7N8)BTUA4*VBV8T?$TI3:$3MI7!D=^8NET$QC5'8%YVTC^^)"3$-*. M[.&%49I"QX^\T#[84#6%C@BB,#RRH791&-<?:4HLD;5$M0+46U#-5R5"M03;F')SMYH0P#?[B? M'M:Y=F#[P\NA-'72L:/@R,FE;I>#<M(U^V;L[#%"HS&HEJ!:BFH9 MJN6H5J":0K42U2I*ZP]N%\9QP;.C7#2?@VHQJB6HEJ):AFHYJA6HIE"M1+6* MTOISV^5SW%>?'67N/'M*T30.JB6HEJ):AFHYJA6HIMS#DYX\88LH'"ZIFJ.C M(ND*.5Q2#^M5TVQC-G8W9+ZI'KH?'67N/'M*T0@.JB6HEJ):AFHYJA6HICS-D5!A%+G#M513)Z7C.L/K MH72>#$/OR.].O2X0XYD#,;NUU'"IOIDX>WC09 RJ):B6HEJ&:CFJ%:BF4*U$ MM8K2^N/:!7$\%UQ-T3@.JL6HEJ!:BFH9JN6H5J":0K42U2I*Z\]M%\?Q7GUB ME+GS["E%PS>HEJ!:BFH9JN6H5J":VFK!_LIINYXCA]?J:PJ%[;L' 8!*4]A^ M<3L4PQ)SO*\G-_5R7=!^_G:Q:+Z_L_X"SXOE;YN[<_4_ M4$L#!!0 ( $>-6EB%N)7?#P< #9$ 9 >&PO=V]R:W-H965TPL,=":W TI%C3K]EFQZ5BH M+JXD)^VP'S_=8IJR1]1[J&.]$J6+AS3[G&^4*MC7.$KRR]&F M*+;GXW&^W*@XR,_2K4K*;]9I%@=%N9C=C?-MIH)5'11'8SZ9>.,X")/1_*)> M=YW-+])=$86)NLY8OHOC(/OV7D7IP^7(&CVN^!C>;8IJQ7A^L0WNU(TJ/FVO MLW)IO*>LPE@E>9@F+%/KR]$[ZUPZ;A50M_@[5 _YP6=6[5H.F(KM0YV4?$Q??A-M3M4=W"91GG]/WMHVKIEX^4N+]*X#2Y[$(=)\S?X MV@IQ$&!Y3P3P-H!W YPG NPVP'YN@-,&.,\-<-N >M?'S;[7PHF@".876?K MLJIU2:L^U.K7T:5>85(-E)LB*[\-R[AB?IV58RXKOK$@63'Y91=NRU%0L-=" M%4$8Y3^QM^S3C6"O7_W$7K$P87]MTEU>MLTOQD6Y^0HR7K:;>M]LBC^Q*8NS M#VE2;'(FDY5:F8!QV>]]Y_ECY]]SDBC4\HS9UAO&)]SNZ=#B^>&\)UP\/]SJ M"9=T^!]!$X_9RJ,IWGVV"I+D=EZDH?DUK:KM]_.9 MXUK3R#96\>;<9=WI.UKY_.IUTF!(#L\ M5%L0S-#6VVOKD=KVUXLW+%&](]0[TL?QW1F?=63L:3:SIVZGF2"[-E1%$,Q0 MT=^KZ),JBH/QV">;?W3$3MWR)*ZCFG^DFC\]:B5Z6/Y1*TGV]SO5F.[5F))J M? B3,-[%?4*0@4-_=) P@81)$,Q0?[97?P8Z Y@ADX&$"21,@F!&,JR)/K.> MD ?#IURM=Q&["M>J]V29CK;9-Q5D?:?9"SIRJ.+?W0_Y/9&FE@=Z(A/U!@ZTNK=!5--[=DLVK1=U7ZB_'>["Z-5F-SU7^1 NJL%E":@ M-(FBF>G0WL]R4?4&:( _8BHZD213-%%T;5(MV MJ%/7ZA/1M%,T;5/=@;XY#"I1O)=N9W>25LT:G!1@?IC M*$VB:&92#IYO1?EC!^J/H30!I4D4S4R)]L<.[7 'UWGWJ,[;4\_K/M'9TXQ[ MEN-VZSS4]J)HC93C@_&ULM5G;3 @E#E(J\2"2X>Q9[B,4>"?,# M*[Z66T(X^)ZE>;FPMISOKFV[7&])ALLKMB.Y>/+$B@QS<5ML[')7$)S43EEJ M(\<)[ S3W%K.Z[&[8CEG>Y[2G-P5H-QG&2Y^K$C*#@L+6B\#7^AFRZL!>SG? MX0VY)_QA=U>(.[M#26A&\I*R'!3D:6'=P.L8N95#;?$W)8?RZ!I4J3PR]K6Z M^90L+*>:$4G)FE<06'P]DUN2IA62F,>W%M3J8E:.Q]<9:VSF$%&\^8; M?V^).'* P2L.J'5 0P?O%0>W=7"G.GBM@USS='6JR<;NW MX]9X[HFWHV*V\?34GM5V<5WN\)HL++$?E*1X)M;RUU]@X/RF8L4D6&P(3&+, MZQCS=.@=8^_!BFQHGM-\ U8XQ?F:J$ALP,(:K-HBGY=1"",GFMO/Q_2,S?P( M!H$GF\7:J5V8N-\E[D]*'.#D7[%MB*U9E&^R+RH"^): '2DH2U0<-+C^47(? MH ?](0?:\.![PR6D,),46UQ>*K:I'RB+I]HVFNGV0[3HBH0 M52K1:([#+$Y:Q#H+:>ZS;NZS:7-?;T6#)LI..QL%556Q-LZY56P(3*($.KUR M<;2D/'":4D[5;.A]SRU7HVBQ*329MR/%!R\6%:VK*=I,HL6FT&3:4$\;,JDL M6K3C>@QA@*+!%G^KL/,"T0S\P9ZBG]VEV?="%&I5V_^0%RVPK"]05,EKF0BC M&M04FDQ7KT+A-!EZIL;0HYY=?MY89?BN&\Z&2^MGZ%;8"U:E%Y50KRH_ MYJ38_%"RH74\>^V;1(M-H6K' M5BAHW_?1J&,K[& 4^J-M]6?(8]3+8Z27QY=W[!98[MBN&PQXT,<_=ZV80I/9 MZD4QTJK'2QNV'O7K"P3 65J>J%,)HJA$_W:S16M]#W8#3\ M6=K:A2=J+U;9R;4G)]7K6S11WVKZ=0LA!5>4A5$=:PJMH<4^.BC(1".N#UQ* ML&;[G#?_L7>CW:'.37V4,1A?P>NX.9KI89J3HL^X$'MM"5+R)""=JU"\^Z(Y M?&EN.-O5QQ&/C'.6U9=;@A-25 ;B^1-C_.6F"M =@2W_ U!+ P04 " !' MC5I82,339 8$ !5% &0 'AL+W=O\%)4,'.V[_^;,,2 M0E@KFW)?$FQF'N:9">,G,]LS_D-L")'@J2JIF#L;*;,5EFK)UZ[8>-S\5Z(_6&F\RV>$WNB?RZO>-JY;8H>5$1*@I& 2>KN;. -RD,M8.Q M^%:0O>A< TWE@;$?>O$QGSN>CHB4)),: JNO1[(D9:F15!S_-*!.^TSMV+U^ M1O_+D%=D'K @2U9^+W*YF3N1 W*RPKM2?F;[OTE#:*+Q,E8*\PGVC:WG@&PG M)*L:9Q5!5=#Z&S\UB>@XP.D+#JAQ0'V'X 4'OW'PSW4(&H? 9*:F8O*08HF3 M&6=[P+6U0M,7)IG&6]$OJ*[[O>3J;J'\9/*!L7Q?E"7 - 66J-ZD+.8Z4UY GI0<$ 2PE6K'9S2,\)0?C#ROEX4!*R_N6Z7A MR6L!([]C=<0N:ME%5G9?.,X)Q149#-_J^]I^-R98.A+84<[B-F?QKQ\5\9BI M&Q,L'0GL*'70.Z@A;YS#HL'IOA4^BE#_W3G/++5'=2GKC@:$HYT7#=3108!B M/X[[S(?L5(OM-T][:)=21P?J:*0SHP$Z*F6 ^D?&@%6HVF6?M#6H2TD?Q"2T M"JYD:?Y7$*[^N)6FT&)3;(=5^ZB:9"4,?KW/PI%D8)._,='2 ML=".\W?0J- N4L]OM:?2T_=@C/K"_$R[U![7I;P/(A7:5>JKFNVI KT*PS Z MH3Y@-XG#R:1/_?^0JO"@5:%=K+ZBV9[*280"&)R8MJHVLSMQ(@T[_@>D+1[K:SL869"/7V;_7,S,QQ#C#UP.T3YNN""E"2E8+T MKD-56U[/L.J%9%LSU7E@4O5R<[DA2BUS;:#NKQB3SPO]@':2F/P'4$L#!!0 M ( $>-6EC'U+KPS0( *8) 9 >&PO=V]R:W-H965T0VF3=>C&IZL=V[80WP:K!F>V$;K]^ MMJ&()I14T6X"QC['SWN(L9.*\2>1 TCT7-!23*QI9 M,EY@J9I\98LU!YP944%MSW$BN\"DM-+$/+OE:<(VDI(2;CD2FZ+ _,\54%9- M+-=Z>7!'5KG4#^PT6>,5W(-\7-]RU;);EXP44 K"2L1A.;$NW8OI6(\W WX2 MJ$3G'NE*YHP]Z<9--K$<#004%E([8'79PA0HU48*XW?C:;53:F'W_L7]VM2N M:IEC 5-&?Y%,YA-K9*$,EGA#Y1VKOD-33ZC]%HP*\XNJ9JQCH<5&2%8T8D50 MD+*^XN(W >Z_ ;P2^*;0F,V7-L,1IPEF%N!ZMW/2-R<:H536D MU&_Q7G+52Y1.IM\8RRI"*<)EAFY*BD,)"94?%+]C_-"!7-8CW!L@,%N?( M=\^0YWA^CWSZ?KGW6FZK2-I+.B?3*_4"['&"YA8:BD*X%NPTH\?W,CYTI?$?S)[E8O? MYN(/N:2!RUY<(@\[".O56&7/(ZB M7?)![R/)PY8\/$0>]9&'^^21&^R2#WH?21ZUY-$A\KB//-HG#R,GV"$?]#Z2 M/&[)XT/DHS[R>)\\\$>[F0]Z'TD^:LE'@^0/.:CM?"F!]_&/>O@#)_9W"AB< MXL@"QFT!X\$";G8_J&>H!-E7S'COH^-Y<;BW=GN&!>/N2ZLQ[R2TPJ*QVW8S.>CEDC*:E@QI%HRA+S MS0U0MIY8KO4R<$>6A=0#=CJN\1+N03[6,ZYZ]L"2DQ(J05B%."PFUK5[-74= M#6@C?A)8BZTVTJG,&7O2G:_YQ'*T(J"024V!U=\*ID"I9E(Z?O>DUC"G!FZW M7]@_M\FK9.98P)317R27Q<1*+)3# C=4WK'U%^@3"C5?QJAH?]&ZBXTC"V6- MD*SLP4I!2:KN'S_W1FP!W. (P.L!WFL!?@_PVT0[96U:MUCB=,S9&G$=K=AT MH_6F1:ML2*7+>"^Y^DH43J;76<::2@HTPQL\IX!PE2,UR!O(T3>"YX0224"@ M\UN0F%!Q@3ZBQ_M;='YV@CI8@5O6:PW(MO) M-QSR#4\62RU4SBAM%RH'BJ7*'-IRK-8;47<2Q)-4245 G\5"UC4EQ="!E% 6NNR?X,"KV MPB@TZXT'O?%IO5@TF,J-V@"BX;C* /6E-'H;'YJ6.&ZXI]00-1KY1Y0F@]+D MM%+&:Z8\!;UI60E(XF=U=NOEP60!O.N;1">'<@+/\?=$&Z(BSSVR'$:#Z-%) MT3^T,I.FT<%L7N0%^T8:HGPG=LV:7.?OO>B<5/7 )*;ZO'O-@=)S[9QFD1^, MO#VMIK@@3/QX3ZV]=:'KU]1WS)=J\:E]LE! YS)6Z?+N@=)U)*O;.W[.I'HQ MM,U"/>J ZP#U?<&8?.GH9\/P3$S_ %!+ P04 " !'C5I8YW2A(T($ ## M& &0 'AL+W=O,X;#[$DOW#[HD#L^WN61 MTB_JY._5W'+4B'".,Z$HD'PYX"7.<\4DQ_&U(;7::RK@Z?$/]C\K\5+,(^)X M2?-_R4ILYU9L@15>HWTN[NCQ+]P("A1?1G->_0?'NC8(+)#MN:!% Y8C*$A9 MOZ)OC1$G .C_!. V /=<@-< O',!?@/P*V=J*94/*1)H,6/T")BJEFSJH#*S M0DOYI%3S?B^8_)1(G%@L&5X1 =XQALH-EA,J.'B=8H%(SM^ *_!PGX+7K]Z M5X"4X/.6[CDJ5WQF"WEMQ6!GS77>U]=Q?W*=%&?7P(-O@>NXW@1\>3[O@'5%X#&%1PV(?;TK#6-;=US:WXO"=S9E2$WA3U.H?K[A.Y3AN24; MEF-VP-;B]]]@Z/PQ98])LM006<\ZK[7.T[$O/E.!A'?C2S#Z=NC,L@#&#D!?VZ5#N4"X7ZK5!?*_2A1 5E@OR'5Y5<0#C?HS+# M(*-\^HZI"8,365=2_4#42+37%UO>O"[=0GVZ?6(P,I<_&N''B MA8[Z&RY9OR+SPB[T0GWJ7=*BP"PCTA?\=4]VZK8")15X^MXR%%D;BTRRI:;8 M^D9V>1J&!GK34/YM_#/)EIIBZ_O7A7.H3^=/].8X6T>RG?QA3AB7);$3^L.> M^Q4)''81'.HS^"?Y36.#-EC39T:3N%&VU!1;W[PNC$,#:1P:C>-&V5)3;/T] MP"Z0NR\)Y VXMTF5A,-OL,N),M?Q1]LY^J$\5ZI]LF&LMO<_(;8A)0-6EBCOD3PN ( (P) 9 >&PO=V]R:W-H965T@E6#F>TD MW;^?#92E@9 JV@W8X'/\O >PF>X8?Q8Y@$0O!2W%S,BEK&Y,4R0Y%%A M\)/ 3NRUD:YDQ=BS[GQ/9X:E@8!"(K4#5J>1C>E%NZW7]V_ MUK6K6E98P)S17R25^>X7(-Z/%*@*[14+TNZH9"JJ>2&$TE ()8A MRLKUE01>J*16$ETN0&)"Q25HNT.7%)W2!2(D><[81N$S%U)0*4D]E)BW0 M70/D' %:0'*-7/LS?T ^ZGTFN=^1^Z?(@R%R MOT<>^)$7'I"/>I])'G3DP2GR<(@\Z&?N>EYT&/JH^9GH88<>GD*/AM##'GK4 MSWS4^DSPJ ./1L$?*:6HR'\J)^\[5@'^*,3G(D_Z? GX_A,8GIT'9WT MEIE)X(6]_/O#;-NW0_??"]:PF7M[I?Y/^8'YFI0"4\2<#U W<\8DZ\=O2-W/V#Q7U!+ P04 " !'C5I80/:W MJ,D, "9K &0 'AL+W=O#J]GH3S\5G4?RZN<_*[ZX.RBQ9B76> MI&LM$X\WO??ZNVA@5 -V2_PW$<_YT==:]5 >TO3WZIM@=M/K5ULDEF):5$1< M_N])W(GELI+*[?BC1GN'=58#C[]^T=W=@R\?S$.+LL/J7/OJ@?T*#RINDRW_U7>ZZ7[?>TZ38OTE4]N-R"5;+>_S_^4O\BC@;H MUBL#C'J <>D LQY@7CK J@=8EPX8U ,&IP.&KPP8U@.&EZYA5 \873I@7 \8 M7SI@4@^87#I [[_\R_4O'G+XQ][O=/N]9+>+V7$1WUYGZ;.65ISD95_FY3CBMN[3,R20GN?9?%Z+LJL%+GV1OLY+K^O]O5<^]X6 M19PL\Q_*'__ZV=:^_^X'[3LM66N_+-)M'J]G^?5546Y(Q5U-ZY6Z^Y4:KZQ4 M-[2/Z;I8Y)JSGHF9#%R5C^#P,(R7A_'!4(KOM_.W6E__43/ZAM&R07?JX6&\ M?JOI@]UPO66XK1[^66S*X68U7!^W#'+@^4NR&YB%-YLXSOY&F>2;V66K9 MI ][PFHGJD/HNWP33\5-KSQ&YB)[$KW;?_Y#'_;_U;9?DYA-8@Z)N23FD9A/ M8@&)A20609B4*NN0*DNEW_ZVFQ>)F18_B:R)^:$N/Z?MGSFIB_G3;?]L?EL>GI^,LO;*8(2_F MDYL6D%A(8A&$22D9'%(R4*;D/OZZG[Z5+U26Z7K^ILS(JGQU\5"T14)I=8T$ MB=DDYI"8N\=&1[OZF\EP,AZ=1*)EL?%P-)R<1*)E,5TWQP-=7BX@'T)(8A&$ M27O[\+"W#Y5[^_MY.<>:5T__FRQ93Y--O-3B5;I=M^[M2JOKWDYB-HDY).;N ML<'1_CD9C(W1R3.[=[Z8KENF-3@] I#;%I!82&(1A$F9&!TR,5)FXM=UF8"L M2/XLITK5\[Z6Y/DV7D^%-DWS]MY:%EJ M;(S-DU20&Q:06$AB$81)J1@?4C%6IB*07BSDS_&F+0A*HVL02,PF,8?$7!+S M2,PGL8#$0A*+($R*U>00J\G??ZMK0J:*Q&P2;CZ.:U.-9:O9MZ_^FI&+72-%:K9J.:@FEMKQW,RLU_].9FZM2RG M&_KH=#D?W;H U4)4BRA-SL31.4I=F8G38\W;UE0HCJOFH%J!:B&H1IU]6I2Y2LJ)7;*>9B+.177*4BL60HM?4M<:.K0N@&HVJCFU=GQ&9#0X MFYVYZ$H]5/-1+4"U$-4B2I/3U#0"='4EX'Y_MK\J Z2/VG1_]#KDZ,X^H2V*9W0/CF9<:?>NLXQ0EL J.:B MFH=J/JH%J!:B6D1I;Y(O=I*X\(KTZDT.+$:AFHYJ#:BZJ>;4F=TK/8X36'E M M1+6(TN08-=4'77D.^/;]4YPLXX>ET![2K!Q=9DF;QN4*D^)K:XC0'@2JV:CF MH)I;:\='#V-D6NVV!4L-= X5J-JHYJ.:BFH=J/JH%J!:B6D1I;.T/88_E*Z[E*Z^YU%;G QC:FT U!]5<5/-0S4>U -5"5(LH M34Y:4Z\P+&"*2)[BOD,U&]4<5'-1S4,U']4"5 M1+:(T.6%-I<)05RH^QE^2 MU79UX1N(QGF?PC1:&A7JE78.$=JH0#47U3Q4\U$M0+40U:*6_=*0/U$CQZ/I M2ACJKL2'EUCDWRI)J*'.1R&T)(%J#JJYM7;\3W?ZMCJZ0A_5 E0+42VB-#D[ M34'"4!5)=""A>:_'^=-7K+Y7.3](;+9^+NU.OMW,XT!($JKFHYJ&: MCVH!JH6H%E&:G*.F+&&HRQ*_5-?/J@+4FAFT%X%J-JHYJ.:BFH=J/JH%J!:B M6D1IJKFN1R!4LVOMY'.*IU>A<]"5NJCFH9J/:@&JA:@649J< MHJ;<8*K+#;;(DJ?=S2&TQ^2+F'6^&K?:[QPKM -AMC"O3$$ M>V<(]M80[+TAV)M#L'>',-N?G(RSZ+"W?OA_=!',IHM@*L_$-M'Y5!U>/E>S MML,;!_5%\JH/,.T^%OCOYER1%JRUWQ;)=*$= .?+=%'=Y6C6&C^TS8!J-JHY MJ.:BFH=J/JH%M2:=A&\Y31*B:XTH34Y?TU,PU3V%;M?95V.=0]1R%8F)JOFH%J!:B&H1IN5B*;5M>87)Y>:Z@U16B' =5L5'-0S44U#]5\5 M0+42UB-+DL#4=!A/H M,)AHAP'5;%1S4,U%-0_5?%0+4"U$M8C2Y)N^-AT&2]UAZ/81"376-6JH9J.: M@VHNJGFHYJ-:@&HAJD562X-"\4$*J^D\6.K.P\LZ5!8%W8H+NP9J;G.84,+%:CFH)J+:AZJ^59[!<(R M3N^:CJXV1+6(TN0<-84*2UVH.)\2[E]HM68(;46@FHUJ#JJYJ.:AFH]J :J% MJ!91FARTICMA#8 I(5J90#4;U1Q4H:5]8ZO;%T8ECYX]M MLME5:W^^X U#]!X;J&:CFH-J+JIYJ.:C6H!J(:I%E":'KFEK6&-@=HA6-%#- M1C4'U5Q4\U#-1[4 U4)4BRA-3EA3T;#4M^GH/#M$VQJH9J.:@VINK9W.P/3A MR?7$T+7ZJ!:@6HAJ$:5),1HT/8S!-V[3H9P=OO[>H9KM&B=4LU'-0347U3Q4 M\U$M0+40U2)*DT/7]#8&P$TZ!FAA ]5L5'-0S44U#]5\5 M0+42UB-+DA#6% MC8'Z.A9=9X=JKG/8T.X&JCFHY@[:+ZDQ-$:3XS\G?BX^Z"&+FV%(\E65W"J*=ER7QQ^*9(-^7>T],>TJ)(5[LO M%R*>B:Q:H/S[Q[2&ULM55K:]LP%/TK MPBNCA2U^Y=DEACPH':Q06K9]5NR;1%26/$E)VG^_*]DQ7G'\ZY MCUQ-CU(]Z1V (<\Y%WKF[8PIKGU?ISO(J>[) @2>;*3*J4%3;7U=**"9<\JY M'P7!T,\I$UXR=7OW*IG*O>%,P+TB>I_G5+TL@,OCS N]T\8#V^Z,W?"3:4&W M\ CF>W&OT/)KE(SE(#23@BC8S+QY>+V8V/ONP@\&1]U8$QO)6LHG:WS-9EY@ M!0&'U%@$BI\#+(%S"X0R?E687DUI'9OK$_J-BQUC65,-2\E_LLSL9M[8(QEL MZ)Z;!WF\A2J>@<5+)=?NEQS+NZ/((^E>&YE7SJ@@9Z+\TNC<)3AGXF62K(F"%SI:C8 F;; MZ,]D207-&!6D.KVA*>/,,-#D<@6&,JZOR 5A@MPQSC&Y>NH;%&,A_;0B7I3$ MT1GB%:0]$H>?2!1$,5G.5^3RXNI/&!]CJ0.*ZH BA]L_%U"[]I@#N E'S^$P^!+A\ZXUAD[]/B-Q&\5E&EO$QB_@\!^+;#?F<@[ M^LSR?4[64J$G$UN24B0[D\H2:^2P[" X)&%_ZA]:^ VBQC6(H:=(A8G:DUPHFE#189&&WV),VBP!^W4HYIZU$F-0P=' MBB -W$#BI!4XZ,_GM=0;?JF4)-VS6 MLC=Y54V_,7/M\W5'U98)C>7:H%?0&V$KJ/))* TC"S>&U]+@4'?+';ZBH.P% M/-](:4Z&G>SUNYS\!E!+ P04 " !'C5I86NS87)0# @%0 &0 'AL M+W=O[\_V=:WS3+66O? 4@ MT%N6YGQFK80HKFV;1RO("!_0 G+Y9D%91H00TNW,PM9NXBE9KH2:L/UI098P!_% ^GEF.B@A2B(1" M$/FQ@3M(4T62"(<[FOY,8K&:69<6BF%!UJEX MHMNO4&]HI'@137GY%VVKM2/70M&:"YK5QC*"+,FK3_)6)Z)EX'E'#-S:P'UG MX![SX-4&WJD&P]I@>*K!J#8HMVY7>R\3%Q!!_"FC6\34:DE3#V7V2VN9KR17 M!V4NF'R;2#OA!\"2#5%BH?N<"[:6AT!P=!Z ($G*+] 92G+TD*2IE)5/;2%] M*DL[JOFW%=\]PLJ"Y6'$4YC'$78 M@VTB=G<1W[I:8@#1 'GX$W(=UT// M\P"=GUW(('?!'XCQ3D_\1O)_B0F!N1I,J,?,H1@@["D,OCR,Z>3-:Y3V M2J[72^E#BE:O@WE9-1Z43]2]CXSM3> MM-.O#:-O^DW"0D.P3OI'3?I'VO3?YP(D52!&!""^)<6A[&H9?;\')F&!25AH M"-818MP(,394E,8FQ3 )"TS"0D.PCAB31HR)OBA1]=N-I.@FH^O#!:<"3%H% MQW/>EQRMD[[)K6#CED/LXL&DZS(TY+*3M:@''[ M"X]'@]&[&J/WU#?'1FEA36L723S>;Z";O-8]#?V_=L&Z4% M1FFA*5I7(7>OD&NHVM0@4Y*8I 5&::$I6E>2_947:R]Q)U4<[X2?-*NIW>H09<"696N.HTAEI6H6-;--^^^F;'K9^^55[_"!L*6\E:(4%M+4 M&4SD_8%5[;AJ(&A1]IM>J! T*Q]70&)@:H%\OZ!4[ ;*0=,4]?\"4$L#!!0 M ( $>-6EB0UY$7G , -$- 9 >&PO=V]R:W-H965T1$$>R%\V*+U,SAS.$A-3/;"_E5Q8@:'K.4J[D3:YU?N:X*8\R8 MNA YY#&FM#,@R73>E/Z"3?;?J\EO4W(3R\"E,F.&>[ACBLMM[2E6L$/4'L1 M"JXE;1 P'D%2L^H$J%F2JB[9WW&-$I4&R32"VK.<)K_R/*@0>?*(A8P2V/,#H$<"GE*F_O*>\;KQ4QP/ " M_$$/O+[G-P2T/-[=:W /CGH!%SS<2DD\-M%8 MP$TLG+E9=XO!V"<=[>KTM*YY*CUG CN@9U31,SJ6GFM#3P]^K=CIP;VF$V\$ M!V(-'Q/.>)BP%%9")?9J_^OV49OOQ$.*='Q)FG1#T/S?3;RVQ_&;CE$6(:AZ M#$W:/!M2T(KTC.9;H4X]4R/7RO;\T>'R@[.M.(!)9.* MDLF)8CRG -O77DG,61+![2.570KM!_%02LNW%?E^T$$K]#?NQ[3:CVF[1#.Q M+:CO;*C,[$(JE***,!0;GOR'$= .1,\"IIL5&Z_4Z2OAC?R7PEN^-AKV)],7 MZGQM-/6?;0Z2O*R2O#Q2=#WXB;*$SB^49?>%]NYX*#($(6$I,J(Z-JJSWV0[ M?XH.V\.IBJT2N5.JIFOO,NH)##+?T*B1Z^6[H@?OA5[LG%LK=HG"C6T:%!6I MI,*B_JMFJ[[DVI;C+^9OJ%\IVHMGF*+9^<3DANI<2'%-D/V+"7T"9-% % ,M MDX^?M2E")9LDS' M*/MBW3B'PS/#N9C3+>/?Q1IC"5ZRE(JKP5K*_-)Q1++&&1(7+,=4?7EB/$-2 M/?*5(W*.T5(+9:GCN>[(R1"A@]E4O[OGLRG;R)10?,^!V&09XJ\W.&7;JP$< MO+UX(*NU+%XXLVF.5O@1RV_Y/5=/3HVR)!FF@C *.'ZZ&ES#R]AS"P$]X@^" MMV+G'A1+63#VO7CXLKP:N(5&.,6)+""0NCSC.4[3 DGI\4\%.JCG+ 1W[]_0 M/^O%J\4LD,!SEOY)EG)]-1@/P!(_H4TJ']CV%UPM:%C@)2P5^A=LJ['N "0; M(5E6"2L-,D++*WJIB-@1@,$! :\2\#H"WN2 @%\)^.\5""J!X+TJ#2L!O72G M7+LF+D(2S::<;0$O1BNTXD:SKZ457X06CO(HN?I*E)RC7('Y1_JBNB"[!UQQS) E=5=]N"5J0E$BBI#]&6"*2BD\*Y]MC!#Y^ M^ 0^ $+![VNV$4I:3!VIE"VF=))*L7FIF'= ,>B!.T;E6H"8+O&R#>"H5=9+ M]=Z6>N,9$7_=T O@>6? (23"^!#+>[WB$?O%^^;/7Z_.#20X==V M]S5>< #O:U[L4P$D _A%8F7@5'M"CV8W1J0BDEV*'"7X:J!"E<#\&0]F/_X M1^Y/?22;U9)\@_NXM:E"; FLQ7M0\QX8%WB]6G&\0A(#@5*U=7).$GP&J$H) M:MLE*1/%%DN8D+VF,(*?:HH2+-1@14)YGHW\T60X=9YWJ=\?%4#?]=JCXIY1 MDV$PKD>UR!K69 V-9/VL$AU0V:2@2@EP[T0,78G M8= ?(L8U,V.CKW:929NRI(^=L4UV;()%-L%B2V MBTQJBTS,&2Y)5!)?'K.$ M$>142TSV7&LR"F#' :/]4:$W''7R76Q)L19WT&W*=.UV7V6=UG?UZ!N8; MSE54/@./4A40JEO3-<-G0A%-"$K!O2H>=/?U5UR4=((LTJ).%_+O/@.8%3G5 M D>6]>84.UU#O9Z^W6 7+K:UUK91=WHL:%3W-T:34CG #L>KI@JLQN:,'ZIO MS!.>;#RXMS.\D1\,.T5)U#-.E8+A..QL(5O:M>GV&KJ]D[+ED4AD1CN92V^/ M(W\X&7?#3-0SSG-]?]@MK&UIU^:R:1.AN2&[567W&5AL2+I4A I=A9,LY^Q9 M!Z!^0JTVC%;1(JMHL2VTMG&:7A+^K\TD[&O:)FZGNIN;E3C9 #;18EMH;0,T M_2DT-ZA?J(HJ*O-*S+->ALWB/GC%B/?_.6:UZ;2*%MM":Y/>=*?0V&KM>#VI MZ$>4;M2E3)KH->NO FXJW%;Z\O;=W6H+:A4MMH769K[I0J&Y#;W'/%'(=R]&M(M&;Q4PUQ1)GAP;0=6=4CMH56DN[LG!)FF*_T\:Q0Y>&&RO(4 MK7Y;'P%?ZX//SOLYO(S+@]P&ICQ7OD-\1:A0X>E)0;H7H:H4>'E46SY(ENNS MR 63DF7Z=HW1$O-B@/K^Q)A\>R@FJ _,9_\"4$L#!!0 ( $>-6ECP1GEZ M&0, %4+ 9 >&PO=V]R:W-H965TY!%#HJ#Z!G*^FCN>\W+BFBZ4R-]QT M4I(%W("Z*Z^$'KFMRXP6P"3E# F83YUOWO&I9P5VQF\**[EVC4PI]YP_F,&/ MV=3!A@ARR)2Q(/KK$4XASXV3YOC;F#KMFD:X?OWB?FZ+U\7<$PFG//]#9VHY M=48.FL&<5+FZYJOOT!04&;^,Y])^HE4S%SLHJZ3B12/6! 5E]3=Y:H)8$WCA M.P*_$?@?%02-(+"%UF2VK#.B2#H1?(6$F:W=S(7-QJIU-929;;Q10C^E6J?2 M"] 92'2(SBM5"4"7E-&B*I"]CZ[(L]XR)=$=FX% /SD[S C+("?W.:!?)0BB M*%N@QF7_#!2AN3S0?GS.H%PW[%S6O\K$L20931[^K$L0C..GG3UZ,O_8E\I_,WN03M/D$ M0^ZICCGL*[!6)59E_EH>4\_SDW@T<1_7T0?-=T0/6_1P&WK4AUZKHC7TL8>Q MMT$^Z+TC>=221]O(XS[RJ$,^PF$4;) />N]('K?D\3;RI(\\[I#'.,&;Y(/> M.Y(G+7FRC7S41YYTR(/$"^(-\D'O'M7;"V[XYO?Q>YP0(HO$HCC;Y MN_-\' 31Z[;59.Y:SV,:SDLB%I1)_;N8:R$^2G12HN[AZH'BI6V#[KG2396] M7.J^%X29H)_/.5&ULK55M3]LP$/XKIPQ-((WF MK2V,M9'6=M.0AD PQF>37!N+Q,YLMX5_O[,30BEIQ:1]2?QR]_AY'B=WH[54 M#SI'-/!8%D*/O=R8ZLSW=9ICR71/5BAH9RY5R0Q-U<+7E4*6N:2R\*,@&/HE MX\)+1F[M2B4CN30%%WBE0"_+DJFG"19R/?9"[WGAFB]R8Q?\9%2Q!=Z@N:VN M%,W\%B7C)0K-I0"%\['W-3R;#FV\"_C-<:TWQF"5W$OY8"?GV=@++"$L,#46 M@=%KA5,L"@M$-/XTF%Y[I$W<'#^C?W?:2;MS0P.#X[@ +B 7[E< M:B8R/?(-T;.'^&E#95)3B790"2.XD,+D&KZ)#+/7 #[I:L5%S^(FT5[$&:8] MB,-/$ 51W$%H^O[T: ^=N/4Z=GCQ#KPITSE4C&= )@,KY5(83::EQ9+T6O?H M#J DAY<*Z4\Q(.=06,.AX.R>%]QP[#2V/K???:XM!&>Z8BF./?K3-:H5>LG' M#^$P^-)ERG\">V51O[6HOP\]>?G04FO6G(J,AKF2)*P;?E: M)6'PN1\'(W^U*?!MV,DP#N,VZA7S0NIR9O@\H&G0 O')CV+HQ_#$T<9-!;U@,.QO76AW7'P2;EVIOU$G2U0+USXT.&)U M56E7VP[UU17FK?4)=:ZZT;S U&WO@JD%%YI$S0DRZ)V0\ZIN)?7$R,I5XWMI MJ+:[84[=%Y4-H/VYE.9Y8@]H^WGR%U!+ P04 " !'C5I81QR1)&," #L M!0 &0 'AL+W=O M&_3B@:7B$I3E6A$#FQG].+U:9#X^!'SGL+"(LXU?/28>4'CBV']@_!>VH9*W.@],3X:V;P1>A/0J(8K_XHK9_"6(\X5"RTE=_@LSA*F*K+0 MRG%5@RHY6/*6?(6:"7*Z!,>XL&=X'\!A;,/0A&?J0!+[T7_H0'9/7\67' M^?SP7=F6E3"C.%T6S YH\?K5]&+RX9C8_T1V(#T=I*?/L1=S7@7)I9:M@#!< M:ZTJ2[BU6^CN+_1VCTX?N*'!5_\ 5!+ P04 " !'C5I8S*DVVD M=7Q/=IK6[>YGVK@M6@(Y(.TFW1]_0&@2B'')]/RP-9#G_8"Q'QOL-UP^9_FW MXI'S4OF^7J7%U>2Q+#<7TVEQ]\C7AWG/Z[Y*GN^FI#)RX[/R<-C M6>^8SBXW\0._X>77S:>\VIKN*:ENTM3W=->P MFE;IQ&4\N\RS9R6O]16O_M T[2:^:HQ)6KOPILRK;Y,JKIQ]YILL+^/;%5=N M^$-EK[)0?G=X&2>KXJWR1DE2Y*8S\H5"5,N7KC:/\_N:M MX,0^R#$W?%-AU%.^1CGHPKEC;\V5(+QQU\;&288?VUDF'#\ MM9%AHI]H-TJQLXP -_^)2RW!+<;CB+B0';>P?>_ &BX;K,KFA*KAMNXEDO2A MZ@]V(W\U@HJZ@QU.$^/J.XJ+8A/?\:M)=4B8CX0%2%B(A$4[F-[ ZB?$IQF]G#X=N_%4P;J* M!>B$.A;3]Q;3I1;[S)]XNN4B"^T"S:,3)SK1=5WMGOX'D8[:FF5T=8Y IQ'& M3+.K-Y AVC-F%V5^>+>)96_>OJ H&NNIFI"M+5A:[I%JZ>_V2E?%* MD;0%*>/<[A0)+G65$HG_+L/A'>=YB"SM PU'Z?*9"9S++U7I[R=?GA\E/:64G^=CA8LA(;'%SK'WSK&ESOE:)JND3+APOE4:>JY=D# '"7.1 M, \)\Y&P D+D; ("9LC80L0K&--HAZ62U3LC&C+ SD62G.@-!=*\Z T'TH+ MH+002HN@M#F4MD#1NMX]6NHD/SMW(X\\VZ5(F@.EN5":!Z7Y4%H I8506M32 MCA^Z*+-4RGH/OG.14*4:ZS]?+@1"8NBFK9OBNU%"#[:A@!DO.>1L!R%I#I3F M0FD>E.9#:0&4%D)I44L[>?S2B-&WT)!2M_H>&E*:VH")#@OI1+KP]^H\F#S\ M;/M E\ZA-!=*\Z T'TH+H+002HM:6G=<,6R[OQHGTA'5,&G?.J48XYVT#0)6PHS872/"C-A]("*"V$TJ*6=C)6J);9M]" DJA: MWT1#2C*P:$D.R]9$OF[MICQ_^"$TCC3P;.,@:0Z4YD)I'I3F0VD!E!9":1&4 M-H?2%BA:UZ2'U )B@"<7H7D&4)H#I;E0F@>E^5!: *6%4%H$IFTLBS78JD.5":"Z5Y4)H/I0506@BE1>0THX,QIJMF/Y5.(*3, M-FC_*7 A$!*K4IKZP'WI(4N$C$@3>7UR$9HE J4Y4)H+I7E0F@^E!5!:"*5% M9""W0^]GKE.9#:0&4 M%D)I44OK#$"6JO53M.<"'=4,2OJ95B(=4YG)Q,:AAVP.*EUQ'CVY*,><:R H MS8'27"C-@])\*"V TD(H+6II@HG _O@SJ#Q)5QQ4TOY-W/3HY^1KGC\T+TDH ME+MLFY:[WX[N]^Y?Q/"^^3EZ;_\UN0B)8']$+A:[URP<\+NW/GR,\X"ZOO[+"M?-NH#[%]G M,?L?4$L#!!0 ( $>-6EA1'[!FW@( .@* 9 >&PO=V]R:W-H965T M!=1 )FKT^=*I@W3Z;Y))8 M2^S,-M#^^]E.2 $%2C7VA?AQS['/N;GACC:,_Q8Y@$0/94'%V,JEK*YM6R0Y ME%CT6 54[2P9+[%44Y[9HN* 4P,J"]MSG- N,:%6-#)K=SP:L94L"(4[CL2J M+#%_G$+!-F/+M;8+,Y+E4B_8T:C"&:[B!HM!$ZAI_&DZK/5(# M=\=;]L]&N]*RP )N6/&+I#(?6T,+I;#$JT+.V.8K-'KZFB]AA3"_:%/'#D(+ M)2LA6=F U0U*0NLG?FA\V &XQP!> _ . <$1@-\ _',!00,(C#.U%.-#C"6. M1IQM$-?1BDT/C)D&K>03JM,^EUSM$H63T0PJQB5>%(#FD*E\2H&NT S60%> M,$W1#R9Q@29"@-I:/*(OP#*.JYPD:*)>-/0V!HE)(=Z-;*DNI&GMI#E\6A_N M'3G<]= MHS(7Z!--(=TGL)625HZWE3/U3C+&D/20[[Y'GN/Y'1>Z.1_N=<#C M\^'N"35^FQS?\/E'DV/2($P>I,D#;O.0/>4!JSQTN5^S!]WL^H-R+2J 4>_0:L>7V#>]RK4:[=5+T9W,= M.3U'Y7.]:\=94?%S47L"^JV _DD!WQF]NJ=$0HKF$DL072I.4KPT]Y*"B_IZB7)X@N1[;DZ:%T=_%-%U6C7VZ^"_O"@I+K#PL%!376' M!?WNHAJV&H;/:]A]([J$##N/]C\<".D."[P#(2 MYAGA I4P%)1.KV!JF1>]U7U1++* M=!H+)E7?8H:Y:D6!ZP"UOV1,;B?Z@+:YC?X"4$L#!!0 ( $>-6ECS\@/! MH@4 HB 9 >&PO=V]R:W-H965T:Q"1!M2$+9-*1]N$7;(\=V\2=C.A- M8N./8[X#!XZQ9TT%P6E3*LS&:3,)QCBD;S6=%V5+,9_R@,LK(4@!YR',L'F])QH\W(SAZ M*OA"MSME"L;SV1YOR3U1W_9+H<_&-4I*<\(DY0P(LKD9O877"9J:"D7$WY0< MY!'($RT1C,'!9E%;9T^9:;?[Y705ZFNI^9WFA]*\GW&'XD RPPS"5XG1&&: MR3?@%: ,?-WQ@\0LE;.QTG*$%\.XB9-J[E'J_)S4C/"Y*(!S*:__X;#"=_V@AS M"98X FN1Y]?D^4/H\T^'?*59XQNPKR:I@D SGH\[NMX!S-@!9V"MAZ>@JT,Q M"1VQU-I*"5@] K4C@#!%U2-(#X*R+"182_'=NW-V6;0N*MIF9 M]V$>3&;CAU.F!YM_*=..P%I,!S73P2#3BQ,&)5 <2+IE=$/7F*GSH[;$C$X8 M\KP@GG9(ZD-)C>5ZXZH[\<^K9DHEX#0MT-02>9?I0?PM#K M)-./\N(PFMB3F=;)3(?[2@M5Z'26E=3?'UAJI&\T_)$I(A@V&>J(;\Q(4+7&%UB83-60B%R*K4%PQ MZ!(M<8769K#QUG#0?;Y49UY?&UYWC5O8HN*@*S-;4'A&98WKA<.V]UX_VFN; MPL "9W3#!:,8&.6!KT(O[E+_:>T5BK/GY]*5+IRB):[0VLPV+A<&3B0W:)8O M9M E6N(*K9+KVU\?Q;VEK1_EH7#:U9PER@_.B:ZQTG#82]]1 MQHC4AAK\A5=<&"MYZD2M60TB7CQ,7*(EKM#:;#9>'DZ=",VI_7:*EKA":S/8 M.' XZ%%?*K2X+XX@BKM"LT1%?MP5FB4*Q;%=:*@QQ^BGYE@[QT.Y8]S36KFV MZ44/6%9!6\;#=[MT"#E%2URAM9ENW#J"+D2(G%ITIVB)*[0V@XU%1X,&]H4B MK$!;CV@P[#RB+2Q17M!SF+8H%/AG1-@X9S3LG/L[)S]SE<. %X\2IWO4KM#: M9#9^'?E.=.;4ESM%2URAM1EL?#GZ%=O/%6C+54Y/G&!%5#\*QE%W2],6%<7G M=-;8931LE\^L;\7>YGN]R'WBHO>H]YE9-W"'[W3Q\'&)EKA":[/<>'<4.1&@ M4[_N%"UQA=9FL/'KZ">;[R\3X+3WTB: O?<_EB@OC+MNTQ85]UZ0C$]>DN=$ M;(N/#218\P-3Y?OGNK3^H.%M\1J_4WX+KY/RLX0&IOQ*X@X+O2)*D)&-AIQ< M17I.$.6'!^6)XOOB5?R**\7SXG!'<$J$"=#7-YRKIQ-S@_KSC_G_4$L#!!0 M ( $>-6E@2E+DS"P, !8, 9 >&PO=V]R:W-H965T/* $P/*,]MSG+Z=8T*M<&3.ICPS*V'!T09!!+S8#58P-WD&6:2(7QN^2T*I<:N+_>L7\U MN:M)W)1[;]!F4^/^*7480_@]M\ >"7 .P0$;P#\$N"?"@A*0&"4*5(Q.D18XG#$V19Q M;:W8],*(:= J?4+UM<\D5V^)PLGP/E]E[!4 38#"@D@TS3 5Z#("B4DFKM G M]#2+T.7%%;I A*(?*5L+3!,QLJ5RKTGLN'0U*5QY;[AR/?3 J$P%NJ<))'4" M6\5=!>_M@I]XK8P1Q-?(=S\BS_'\AH#N3H=[#?#H=+C;DHU?785O^/RSKJ)) MYX(G:.;1C>)6K' ,8TMU @%\ U;X_IW;=SXW:=0E6=0164V_H-(O:&-7][$ MSB%!,\X(WNSKT^KTW/UZ8BLID^O MTJ?W'_I@(4 V?F4%6Z]5G%:/YXK3$5E-G'XE3K]5G"=*I))F)K$$@?Z@P'$O MGZ],"39ITTIV;@5V219U1%83<5")..BH@PVZU*]+LJ@CLII^PTJ_8>M'6.K' M44)$S$'7IQK%5+U2R-:@Z/*O6P3H='C>[ (FJSJ"5S4R5S-6E@M96N 4@, !L- 9 M >&PO=V]R:W-H965T^YX[GR_#K51K MG0(8\IQQH4=>:DQ^Z_LZ3B&C^E+F(/#+4JJ,&NRJE:]S!31QH(S[8:NK&9&@]E83@3,%-$%UE&U\F_&&PU7MM8BU92+FVG1_)R.O8#0&'V%@& MBJ\-3(%S2X3;>*HXO7I)"]QO[]B_.=O1E@75,)7\+TM,.O*N/9+ DA;&4"W M G3?"NA5@)Y3IC3%Z1!10\=#);=$V=G(9AM.3(=&\YFP;G\T"K\RQ)GQHY'Q M^F*"RB5D*C.,)DV=0SY%8"CC^C.Y(#JE"O3NQ01Y8)SC)#WT#>[!,OEQM=ZD M7"\\LUX0D@'.@DG8R!A!?$FZP1<2=L+NB0U-WPX/ M3\"CM\.#!FNZM3^ZCJ]WAF^F6"85T^2G%"OR"U1&YF! .)_,.!6G)&^DM(GC M5N2$Z583'+Z1D_E?L-2M?;JVTS[EQ>]8?^9M\!;YH5O3;K0+)!+=F@ M43*;C,C]4\',R]ECV\CPWF!KDRQJB>Q N:M:N:O6C^U5FTJV21:U1':@Y'6M MY'5C#$[W#QO=X&U.%QP(UHIDIB5HB.Y#HII;H MIE&B.=C2V.:H^!6Q3FEUH_X?&_P!02P,$% @ 1XU:6//8>&3!!0 MP20 !D !X;"]W;W)K&ULQ5IK;]LV%/TKA%<, M'=!8(O6PG3D&XJC="JQ D"PMAF$?&(FVA4JB2]%V,^S'CZ04/2R&=0(6_9)( M\KV'O$>\EX3':<+X]=YPRWI ]9N+.:5"2-"=%F=(",+*Z&%W"\PC-I(.R^)B2 M0]FY!C*4>TH_RYOWR<7(E3TB&8FYA,#BWYY/Z*_ M4\&+8.YQ2:YH]BE-^.9B-!V!A*SP+N,W]/ [J0,*)%Y,LU+]!8?:UAV!>%=R MFM?.H@=Y6E3_\=>:B(X#\IYP0+4#.G* _A,.7NW@G>K@UPZ^8J8*1?$088X7 MR,> MBNL/:98)N'+N<-%;V:83USU;5CU#3_0,(O"!%GQ3@K=%0I(^@"/";&)%C[$N MD1$Q(O$8>/ -0"[R-!VZ.MT=:=RCT]VA(1JO>7.>PO.>P/NDAK1X.9=[PD2* M@M\8+C@0HX" =SAEX"/.=@1L"5,O1/<"J@9\?0.RXIR76QR3BY$H*25A>S): M_/P3#-U?=>39!(LL@?6(]1MB?1/ZHI<&Y*N\)J+$Q71=I/\>#\2*R HP5("R MTNX7$(ZGK2%#6VA,;]N93T[NQ]6QDLF$FU-Q.3'P?T#Z-I=XP?U^/* M60+^_D- @O>G(.Z^:>I=']N6/))EAD":Q'VZRA M;?:#;8)$EL![OT&UEI6LABVN0;Z6QN:WG$F,+K<],1W##DU-9IT*7 M9O_GCBFK:)$MM#YWJ.4._>!\KCM@BWR;:)$MM#[Y[7H#&E7WJ2GMZ5)ZD-%6 M5PNVT/K$M.L%:%XPO/VR2_D#N,YP48_%0(S) M&_ TC154T$G1T/4GTXGKNL>):G5=80NMSU&[LH#FI87Z0D(2$S.3 3->$(2^ MKV%F:(K"F8>.E_3F/KTTYG;A ,TK!UFUS2%/!W&<(0]Y<*:)V>K*P!9:GYEV M;0"-$GCQCK(52;]!SFQ(CA=X,UVF6%7OMM#Z'TI;^8[,\OUMD9Q62FJ<7BF9 MH0D,A@3I3/55)S+W[J71MQ(=P>_]:159%?%6T2);:'UV6Q&/C#JU,U,M'X>7 M#<*K1B?=#T*HBMX769[)5Y,BLR)OYS 9_WG ZFTR] 7^5V:QK%HSE M?D@_@;^'(D>M(D=F1?XXZ=G@Q==-\W# BU7];0NM3U^KOY%YQZ S,]I@,!@R M. V'#%I5X[;0^@RV:AR9U7@]?UHM<.&PP$VA/Z!18S:L@Y&Y_R_EIU7BR*S$ M_Z0<9V E(]^KR.FJWE[>J]35$C 9;(Z%@P\+&B/_V"C2&H7Z73;4*FUD5MIW M1;M)"&+-)J(VJ*ENQP\>1V55=]M"Z_/4ZFYDUMW7A*4T 9RVFZI@]R+NS.U M\*"V/"'(JW,$$"3X02NOK$IW6V@5O4[G;$=.V%J=D2D%1[N"5TIKKA=*M.D-Q3SFFN M+C<$)X1) _'[BE+^>",;:$XM+?X'4$L#!!0 ( $>-6EAJ,$^_9P0 ',2 M 9 >&PO=V]R:W-H965TM&%H@ MB23*+W%F&["3=@NPK$:#I!^*?:"ELTU$(EV2MN-A/WZDI$CN(C-.D*!?;(GB M/??<\7B/Q/Y&R#NU0-1PGZ5<#;R%ULLSWU?Q C.J3L02N7DR$S*CVMS*N:^6 M$FF2&V6I3X*@XV>4<6_8S\H;Y83:>[\"B5A&7+%! >)LX$W"L_&I&4-\AFW##=JYQIL*%,A M[NS-93+P LL(4XRUA:#F;XWGF*86R?#X7H)ZE4]KN'O]@/XI#]X$,Z4*ST7Z ME25Z,?!./4AP1E>I_B(V?V 94-OBQ2)5^2]LRKF!!_%*:9&5QH9!QGCQ3^_+ M1.P8M/89D-* Y+P+1SG+"ZKIL"_%!J2=;=#L11YJ;FW(,6Y7Y5I+\Y09.SV\ MUB*^.QZ;N!(X%YE9;$7S=!W#!&6^ZCQ&R*?!#6=:P?L+U)2EZH.=&:G*I1K](:__A)V@M\V\WIH(M-\@29V*5,<9WACGC'.;H"E-[0XZ*C?/OXUE5A N(-LY MI.VFZV'0]]<-++H5BZZ3Q>^FW#0FA_CN/O(=]5I1+VHF<%H1.'42N#55T[7IF?/D!WHO??(^W&[UVJWFRF$0=U< R<)T[N>60,EX \+$;5Z MT>D>*CM]/GS;IG0$'[^OF-[")5=:KNP#!9_U B7H!>7P>6GA3.?_2_!UN>Y? M'V>35S.-_6H:TEK"4G=(K';G-Y=;KM9Z6W%J30K4AE*WJ[&B[<]PZC M72M8Z):P&RXQ%G/._C%4X]V^A??V&BVQ1CX%;F>'3^>DLX=.K6>A6] F^>L. M: $5+5@]1;&1GML/*5Z/@$!6O 6'D-"MJY_5NABZA?&*<9:MLD923LL7=EI2 MJR4)?O)[,W'*]4L#K#68.*5J^)%*;CC30D[-UHH-=;OWQ PTE7/4C:3++[CH MZ0Y&:E4C;E6[HO?[JL!M^=(DU<)%?O;7$WF+SR=2"QUQ"]T+JZ#UN K(_ZK MWSD'R- @V=,.97K2BNOB2* :K4Y41L4Y0CV].(ZY,D085Y#BS)@&)UTC2[(X MX2ANM%CFIPI3H;7(\LL%T@2EG6">SX30#S?6077.-/P/4$L#!!0 ( $>- M6ECS0&PO=V]R:W-H965TEN+O--U6: M9.)+07M"+ER^^)HME57]Q[Y@OQ350_UE\*^>EFBS)+ M5B(KDSPCA9B_O;BG;^*0U04:BS\3\53N_$WJ2WG(\Y_UAP^SMQ=.W2*1BFE5 M0W#YSZ.8B#2MD60[_M.!7FSKK ON_OV"_KZY>'DQ#[P4DSS]5S*KEF\O1A=D M)N9\DU9?\Z=_B.Z"_!IOFJ=E\W_RU-DZ%V2Z*:M\U166+5@E6?LO_]41L5. M!GL*L*X TPMX>PJX70'WV )>5\ [MH#?%6@N_::]]H:XB%?\[K;(GTA16TNT M^H^&_::TY"O)ZAOE6U7(7Q-9KKK[D$WSE2#?^2]1DLM(5#Q)RU?DBOSX%I'+ MWUZ1WTB2D>_+?%/R;%;>WE2RTKKHS;2KX%U; =M3 67D4YY5RY+$V4S,^@ W MLK7;)K.7)K]C*&(DIM?$I:\)^553(ETCM$Q@W9,3(B7;K.,Y%5)!07=[__C0;.'Y G;()%-L%B2V ]GWE;GWD8^MV/ M+*G$C'RK> 7[H"T>-L7K2/]X1_T1=XSH:6HRV M^41&_"TC/LK(^_;&A;AH"_J[K1_[+M.H,*V8'S+-*@*PJ.\[&A%H4T\D(M@2 M$:#=>;(I"MEOR;K('Y-Z,(8H"6QV49M@D4VPV!)8SP_AU@\A?D.*F2AX"K$? M C>1:_1-T\KWJ'X_FD9N$(ZTVQ%MZ(DTC+8TC% :FA %D3 R6AY2I@6>B6G$ M*-6(BDPCSPNIQ@':RA,Y&&\Y&)\:F\:F_T+'UU@PC3S'TRXP,HV8IR/%:#M/ M9($Z*E%T4!Z^YQ7<(;IRO<8S&@0:#X"9C+ZA%GTCR,SQ?>W>BO'&GDK&3M9, M\;1+S(6,U#,5J,GE@\C$/*E>@1Q1FS';*EID%2VVA=9W#%..8:<&[JYD[SX= M!:X>M0 SR@+/U^]3 (T%1E:%-_=4.I0ZH&@BNS^ =^5Z5VD,4!/ ZLIC(YT* MTXJY(=.9.$?*357.3?&D&PGC750:CD46>\DTZ([+!F[0B M#\^$K]?ID4SC6C>@\[RBPZ MSBS&+^Y4\I2&H$>(B';"Z37)1--M7KC<83"176Q:'<-A6QUEO:MV7"-,P7:. M$;+WX(UU&L^A0JB2(137(=\E1U,9@Y*J/(8D'.S2N0Z=OT,E)X=*TNLQ7#(Z M7)+")6.\Y(G4,B5M&"YM/J@YT1F1P;ONS"59%$+^6]3Q/&O#]F':NXJ,>TY/ MK/;9::(I.A(OQB_P5 *5'&)H5G_W.:_G]C?3*GE(!5D)GI;D=[Y:_T$D4:*H M>)*MZFFM(PBD<&?4U>0>.UTS1_OL# +/(5N8DBT,ERU] NMT0Z82;49R!&<, MOD9]3FJ?G3YAO,_.U3D[A[9A2MLP7-M,^#J1B2Q)\[(DFTJF<'^UC%W)O"L5 M7*9B%OWCUXQ7O)4%I6T8KBTBN=S MT2Q]#TD*.TP]C1OK7/H0ES0P0AYHQ_3\*,8OY52JE/!BN/#:3J'53/&R%%7Y M!F3'JLBQBA9918MMH?4=HD0.PT7._71:;*0_=D %1M[1LBTI$XZ(L^A M=9C2.@R7"I]KE2A#IF0N6S0#/+Q0SH#%%3JB1N0$S(*1Y^H46E(A'87GT#2N MTC0NKFFBI&P2'GD[)G4.+LH*W.YA+K>,&-,S1\#*\W2!'.$M&KQ#XQR2QE62 MQL4ES<^2 KW]<'8;PM@YD[AY!QE9!Q<7&P,T\&\F8NT(2>/G4(&%$G,.*= M):W1T78.Y>(JY>+BRJ53T\E?HEFV$+R8+D'^P$U4^E:K"6#F4WU*"HUF'K'=U MZSH0)!'8=^6'HY$Q5D#[LSQ3>.!M&\SD.82'JX2'.SI>2Q_*66P*A8E5M,@J M6FP+K>\4)6)<7,1$0L).NW7E>GLV7^5%U4U2@IXQ9! WIV!GI M"X1X"P?S>0Y%XRE%X^&*YDLAUCR9;=?9:TKS?3'7,Q7+E1OH*?<$,F-AH*>6 M>,N&\F@+K<^C4C;>,JL$>#$#^03$CDM#?89B@M<\-%FR MBA;;0NNSKL23AXNGR9)GB_ITVK$+MAU>V NK8Y-RJ^L]5M%B6VA]RI7\\G#Y M%?]:)T7+M+S=D[PY/]CL;A/M-JW]G: DE])3SX(7);BB>:!FYK1E(4&!%QWL M,*LJSQ9:WV%*Y7GX\E)OP\/!F#0R^@<0D*RJ-ZMHL2VT/ME*O7FX>OLJL^0\ MXP_I,UE+OIM].3,Q+9KD6=[\FTR*NWR1-1-F]9C;'?^ !]RQX0S7=(9-L199 M18MMH?5/ARKIY^/2[U.2):O-ZB5.Y?-N$VZSPR=-5K);U'&L?/E%](Y#_WM3 M).4L:9Y, +KG0.WN_FB%EQSJ,ZMHL2VTOL^4S/1QF?F)_SJKS_#:?<1G5D]/ M646+;:'U?:;4K8^KV^T\XOL/D_LFJJWY\ZIYD$!7'>@*FWITX@,'J\Q<.K): M:=RA[09HCSD[E?8)5>K6Q]5M[_$:7\54)(]R2(%9M/KD!=_4P8$QY$16ZXQM MH?6Y5BK8QU7P]N:M5P#OF^FMU^1S>]Y S3+<8Z*BJZ'_Y 5@D<$'U@>A10:\ MQ8/Y/8>T7#@V)BD==(LK)+)3O+YFMPWIZ% /DUA;":A>+6#X[%556P+ MK4^Y4L7^H,-IS2+"8E&(13U<3AO)7#:J;5 VZEO=46D5+;**%MM"Z[M/*6P? MU[GOQ"+)LEI!/_!T;\P!%BP=.M8G-B$SX[$3D0_LS?1]?>,^WNQ3:5$ZUL=U MK!P4&QE5UCJJ8Z:]C9N,(R^3-C&L^$^1D9G,!"6#];'+:?=TE#JU ZDT=TI2 M9H2;(XPBP(CI)X)C_#)/I5$I5/_ >:JHDZ/EJ_H]\8)4Q M&.E; _%&#N[^5E6K+;3^HWR4:@T.'BNS[A2\RL$/_S&7/\?,. \$6(WTD&*K M77VJE=@,<+GW3515*EJE4H^28GL.H]SYY2FIENTVDTVUS(N]ZR-X98-)MJHW M V#5U=/79F-;=?;=H71D@.O(CWS=GKZ")3_(.;#Z:3Z0 K0R5IPA*VH\5 B_ MAE,Y4M(PP*7AWJ8_MRD"6 %I T19&:D#3'>U%.I4,HMP)7;A&=\ MQD$N; JHB56TR"I:; NM[P(E[@)_B-+XOWH,1F!3\DVLHD56T6);:/V;9.?A MA/@BK;7'8'3UZ"<>]7,3>',&N\+NTPG/(2T#)2T#7%IV*R(@N3;7/"=6T2*K M:+$MM+X/E(X-[.VZ#:SNNK6*%EE%BVVA]9VB5'%P^#$IN[.4Y/W+-.7.?H\JO)5\^=2<)E(UP;R M]WF>5R\?Z@JV+PJY^R]02P,$% @ 1XU:6/Q.M"(S" J%, !D !X M;"]W;W)K&ULK9QK?"WO=/C\6BM]FSH^D]."=F!^_L'/=H^L&A^UKT3BXSMY'I>"BJ MBE(N'DW++M2?HG-CM_[DG/V#9;.Q2[SS\6BZ_[RP@_/^7*"%Y,34>MW[X8EB M_>EDOK(9\Q>GL1L<%:^4K75DMFS6L2#N6' MX_P,#SK;YX(2]H@=V,8/$6;PZXU]9X=#2 KZ\5<,+5S;#(VWKQ-Z,QI\,)@? MIL>^.X>5M?7WSX5J@6S9SCP?_*GSWF;Q@/20MW$.7O0O>8^U2H%LSI[O'&-S MT(.C95]^FW_'%^+&0$L9!C4VJ+(&+39HO$'+,)1B0TFV!3TVZ+*&=)F>G&G2>!I*O*9EB3T5#KV- D^E8Z^FD1?E8Z^FD1?346_ MG&6Y_F>7CKZ:1%]-13_3DD1?C:)?O"2O*/,9IF_6GUSGG;BA/N"%+Z+T&?F# MA&?98::?^6[PKA7X_+IAO5E;9F\]8MI;TC!=V[)?/3)F+IGM39>1SP;S3>O@ M?2%?R6)FD,^?OI!/I$B\\%V/6#99V);O_7%S8KYWSEZ "TY^NCM^*OI!E\.& MBYNX>\-+]]2,[FEDX-C^WB,->\NV O\RWT_5'$ QN%;7"Z8F%^Q%S24.G;<' MHJA_$%51-4&'ON?;OYU?<^U&OGU@_D,4+=/=R'5!*3\5WVZG M3!F1(2-JR(B:,J*6C*@M(^K(B+HRHIZ,J"\C&LB(AKD?C8^F7B1LC(1-D+ I M$C9#PN9(V ()6XH^C&KI_L.XDA&M_T-TEP+U:PK4JF4"E*26.-4^K I+.=7Z15GVE MY0JG6@HZKY9I2>?J&-$8M6BQXZZ2$=HY+@AKG M=/;-Z!9F9Q?>@6QM"$ON/+BNCX@FW-Q&/SKA(F$&$M9 PII(6 L):R-A'22L MBX3UD+ ^$C9 PH87F'Y;'&A:F2LA1D*5QE5)8Z&*+UHF(A6M'&];A M'#Y@0MANQS9^F*L]W]G\_!H^,Q)D]G?3%=ZL_)*+_6B61L(,)*R!A#61L!82 MUD;".DA8%PGK(6%])&R A V1L!$2-D;")DC8% F;(6%S)&R!A"UKJ1FIIG(W MS*S2&IW_OG2=UI2J%?&\1I7KQ!8^R8:I3K;A)!@HY>J3_'8_.O5!:0:4UH#2 MFE!:"TIK0VD=**T+I?6@M#Z4-H#2AC'M+O64M"JW^# 2RW2N*AB+9?S=5A.1 M3*OQ:S]3H:Q"^14;L:Q4Y2H6H:RJG]YF%-FKMLTTCE:N'J34Q!)6LDS8#2&E!:$TIK06EM**T#I76AM!Z4UH?2 M!E#:$$H;06EC*&T"I4VAM!F4-H?2%E#:$DI;06EK%.U^9E5_S:QJ;N'TDK%6 M\X$G7/);^/"LBZ094%H#2FM":2THK0VE=:"T+I36@]+Z4-H 2AO&M/N'0RJ4 MKY!$*GXU1XS2^/)(I%)4OCH2LJI\<2125:ER^\.O[8B'HM7N?OBR*>WY&G1: MX\NFM$Q]T/BE'J%*YVLFD8AFW.=&?SWW3W,?B[RL]0B_YOI(:H=N# "E&5!: M TIK0FDM**T-I76@M"Z4UH/2^E#: $H;QK3[3%>NYF6ZD=!3365ZD:K"W[):ORRO4 E3.9I69#,4U^!B52E"I_-12K*KV\4;S8N M.S+W-=KRT2,;YVS[E[U=KF>OVTI^B[97X\X/Z>.""LXOPVTHHXW2?N$O>U@. M3/?5LCUR8+N@J>#ZZP7B7K:%O!SXSBG:-NV'X_O.,7JY9^:6N:$@>'_G.'YR M$#9PW9RS_B]02P,$% @ 1XU:6%W_BS8&ULM5IK;Z,X%/TK5G:TVY$Z$S!YD&X;:5IF-"-U MI:B=[GYVP0VH@#.V:=K]]6L; @&,F[3>JFIY7!]\CQ_WW OG6T(?68PQ!\]9 MFK.+4_(@N1H[L$4YQ MR"4$$O^>\!5.4XDD^O&K AW5SY0-]X]WZ-^4\\*9>\3P%4G_22(>7XS\$8CP M RI2?D.VWW'ET%3BA21EZB_85K;."(0%XR2K&HL>9$E>_D?/%1%[#=S90 -8 M-8#=!I.!!E[5P#NTP:1J,%',E*XH'@+$T?*ZW MG(J[B6C'E[><+9J;@HCG_&I& HC]CYF(L>2=QQ6#W]LGPZ''BZ"\%?).?@>>> NA 3].AJ\.;0TWSX/#FKL$;KQX=3^%Y M WA7),O$XE"#I&.W;#W1MY9;QAG;H!!?C,2>P#!]PJ/E[[^Y,^=/'3,VP0)+ M8"W6)C5K$Q/ZCC4F63O=35I4\)C0Y-_N+"N)+ &G"E!NE4_+A5/^G(^?]DDZ MU# P=O&-!$QK J9'$+!!%#RAM,#@1*S6B*0IH@QL,"VI^:CCH\3W]]QT/KL= M*@ZP"8S]?",+LYJ%V?'3(&<$^!66]DIYXWFWEPWO%;9^C"B;]8=)PW=N^- MSL]KY^?'.R_B/N-BIT[RM8Z!^:$,Z RU#!C[^$8&_)H!W\C "M.$1( \"'G" M.$U*G2%^.441!D(RM><$X 3D)/^$LTU*7C &&<[N1524"#S&X)X@JN"BA K1 M0L2=0@0MJFZN:)*)W86!:Y*O/W%,,W"#.<[5,U4GE#E#:OSQLSS&8AZ&9)T/A: *L=47 MU^\%((W9?-*+/CHP9[IGUO9K3RVZ1D&R$JH<4RI6RZ FJ1 L36NK:($MM#9[ ML&$/OC+?=^Q5^W(C2E1L+OM =4)E$,- W-?W\I%HVQ=HP1DI;A0AGNYO!@7:!N==O9:51KJY9NO9FR&&1V^W+TMZ\>-4D M,/?MK;XWHM4UJ]:O5>!5$?=;P0N*P8_\@2(1O8M0G7X7B:J@0&2>U]=76B(L M"I9T=354-M&""LWUVGGA=$!Y-&K> M-2O8'WOJL*3S%.2":7%:"\>0,,'E:Y'4JNRVBA94:.W@[?F>LQB@KU':[O\E MM7- M[9VVYFMN=C055C, 6VAMRIH, ,)W!6%H2917U-E$"VRAM:EK$@9H3ABN2"Z" MK7K?)':MFZJFL\M$=V\DJI!0!=QMPN,8IY&J]G#TC%^-#E4G6COPS)\YG<+! ME<[.<^=.MP*FLX-PMAA:?$VF ,V90O6J1BH&)M\WN!X0^<'0:X]+,]K1$\LF M6F +KPIET4V"-V00Z?C<-UJ'!!1Q: ML4T6 5B,V8QX]^:Q*?5MH;3Z;C #Z[UNW5H6^5;3 %EJ;NB8; M@.9LP+QNF]<::?TV(\EE-IH\8; 9FJF+WK*!+IST J?&S)O[L%^@U%E.%_[< M&5*N7J/O/;.^_Y+)=%XJ>BQ MT59C-.OQH3$:K.A[C8CWS")^5=899!%#N+NK9U1EC# E+!&^JG(& P4KN8JP M=#[)Y:V\4'6/+E4\1J(Y*83VNL?#A0\M8ZZN@C#O3J3#S()7S4K>QGN?T&28 MKM6G2 RHLD_Y]4E]M?[\(YR=1AC)&8&ULK9Q;05(ME\ M^XJ+P=A$L=OSD@#6_R?)/NAV!-S4<9L&&)GYV MR;8TE9^L&$]\(4_Y>IAM.?7#,BB)AX:F38>)'Z6#Y75Y[8$OKUDNXBBE#YQD M>9+X_/6.QNSE9J /=A=^C]8;45P8+J^W_IH^4O%E^\#EV;"AA%%"TRQB*>%T M=3.XU:\\8U($E"G^C.A+MG=,BJH\,?:U./'"FX%6E(C&-! %PI?_GND]C>." M),OQK88.FCR+P/WC'=TN*R\K\^1G])[%?T6AV-P,Y@,2TI6?Q^)W]N+2ND)E M 0,69^5?\E*GU08DR#/!DCI8EB")TNJ__[W^(O8")*<_P*@#C,. \1L!HSI@ M=!@P?2-@7 >,3\UA4@=,3@V8U@'34P-F=<#LU(!Y'3 _-6!1!RQ*.52_7_GC MF[[PE]>I):TXJ!44!DM?_,H+<3^*+C\-))Q8ODH6/!UP^*0\NPG8GW+ M(_%*?B96LHW9*Z6D_)P\Y#S82$F1A]A/+\@C#5@:RGN#_+9:41ZE:_*CGVQ_ M(8\;G]-N:O+1I,*/XNR3Q'YY-,G'#Y_(!S(D69$V(U%*OJ21R"[D17G\QX;E MF9^&V?50R.H5A1P&=57NJJH8;U1%)Y]9*C89L=*0ACWQYCOQA@(PE-]K\^4: MNR_WSE 2/_NO9*1?$$,SC)[RW+\7S2]WX7I?==3A)@V:\%%/N'5Z>%_A[=/# M^PKOJ,-_9<\R7'NS\*XZW*9/E\28OUEX[_3<=84.1LU--BIYH[=NLJ/[I4_= M%6/ M"-81[[@1[UA%7]ZS))&CDJSH""[(UN?DV8]S2C[*UCID<>SSC&PIK]KS3WW" M5O+/%3829E:P>0DKAH7/2^U2WO#/^WH](8V-+)2#A+E(F >"=60X:60X4]*:S@_E=YQF,I\< MR.\XC3Z;S[19-YF#++N+A'D@6$=8TT984V7G_(><(V:Y[)L?JQ;NS[)U^_OV M*1-<3L7^Z9/4%"DI),Q$PBPDS$;"'"3,1<(\$*PCY5DCY9FRC;Q=KSE=^X*2 M[6X*MN61;"7S+1&,O&RB8+.;=P5R:O9$B1_(*1^G(CV9K[2=\M MH"S)N;< $F8B81829B-A#A+FSHYZ$&.B:5JW _'>2]41[;P1[5PIVE_SY$DJ M3W;DM3)WZ@N)GX:%3@,:Q_]!H7HC2CZJY_'JDIRK M6BC-A-*LFK;8;U3UR^GAM+\OV>A2/YB>.="RN5":AZ)UU;OG/NBGJ)?3PI29D)I%I1F0VD.E.9":1Z*UI5QZU/I"*-*ASI54)H)I5E0F@VE M.5":"Z5Y*%I7QJUCI:LM*V_/':C&PQB=47<^EVZVO#Z_[ZK.H.SU3OI,4*E M=O5#\2)SM: T&TISH#072O-0M*YX6T]-5_HBM85:^N:Z6K;K+NU8'_P4+?!U29(A[.L?ULBU O3 MCUT6?3*;' \2H#X7E&9#:0Z4YD)I'HK6E6[KG>EJ\^R_[XI1@\\6[;QG$7\Q M.A8MU/J"TFPHS8'27"C-0]&ZHFW--%WMIJDVE_=*%>J606DFE&9!:3:4YD!I M+I3FH6C=7?ZM!V=HRF6SMJM+7< M#+7EUF@T2HF?IKD?$TZWC(MBD2%B?0^ W;V#'&DD]%_[YGCWZLBS!0PUVZ T M&TISH#072O-0M*Z 6[/-4+H@K8!E\_HM][F@/'X]0<-JJDK#4*<-2K.@-!M* M7ATV"6T?:?*\E]02P,$% @ 1XU:6"^6#8$^!@ .24 !D !X;"]W M;W)K&ULK5IK;]LV%/TKA%<,"=#$(JEGYAAHXK?= M(6N6]3-K,[906?(D.6G__:B'%>OJ6O40&D@LT><:Q1_3S92IN3' M-@B3V\XF37[WHGT:^*%\B$FRWVY%_/-.!M'K;8=V#@5?_/4FS0JZ_=Y.K.6C M3)]V#[&ZZU8J*W\KP\2/0A++Y]O.)WJSH#PCY(A_?/F:'%V3K"O?HNA[=C-= MW7:,K$4RD,LTDQ#JZT7>RR#(E%0[_BU%.U6=&?'X^J ^RCNO.O--)/(^"K[Z MJW1SVW$[9"6?Q3Y(OT2O$UEVR,KTEE&0Y/_):XDU.F2Y3])H6Y)5"[9^6'R+ M'^5 '!&4#DY@)8%!@GF"P$L"/Y=@E@3S7()5$JQS"79)L,\E."7!.9?@E@3W M7()7$CQ(L$\9SCA8SCBW#EH9NV'MDY2#N6EN[V[A6+E7#D0J^KTX>B5QAE=Z MV47NVCE?.:,?9E'XF,;J5U_QTOYC'@]R1?[:BSB5 MA'@?DXL,E^4"Z)-F(6";$#\E3Z*?)QZ." MOS?1/A'A2A5^J-WWNJGJ1M:8[K)L\EW19':BR9Q\CL)TDY!AN)(KA#]KYU/6 M(M!5XU<-(CL,XAUK51S(Y37A]"-A!N-(@^[;Z8]RI^C&2?J@G3[;AZWT83O] MLXA;&S\ZO^\,H8_/[SM&GYS?=XP^/;_O&'WV/KO/WS=TB_/IM,6+>94*>*[' MWYD*L(@ME$U<.5M)W"0[L92W';542&3\(CO]WW^CMO$'%BTZQ08ZQ88ZQ48Z MQ<8ZQ28ZQ:8ZQ68ZQ>8ZQ1::Q&J1:U:1:[:I][_(%QGN)1:8!=')B=F*_*5/ M+6I9EM'KOAS''(9CGNG:==P P9F4<\>IXX8(CEFVZP&]$8+CS*/NP61-F.=3B!FC>O(DS3698'L MFCAN>H[- M686K.8!5.8#5Z@#C.$H2\A!'SWZ*>4'!MFK6M6T#.@$"<[CK6< ',#6'V6#L MADV8YSE'/2T< !/CW.7 _AC,] S@=A.D3D:AM:9-E&4W7'V&H%S']"@P?1-F M*D=WP: M$!BUE0UPP]N5X>U6P_^IGM,O F7\2[6H7D9;- >T2OS?R5FGV$"G MV%"GV$BGV%BGV$2GV%2GV,QNQBBSJ0DB88[ .,^7L+6 06 JS1Q-#+6 <:J M<7X9,*V0/JX;Z),EYH@_0T0+<^ Z6_81%%.05X>(152RP #-D90 MW#"!UJ2)4DH6:/RTB;JBM@-G1Z3QF,&Q/B(&1V M!G L*\H#IIP@*\Q $IEP$H.8HR@2M7Z HZISPDJ,7&K1UPO^: MOWA3;B)>9"S6DJC%WC8*#^\BHGV:I")<*0="%P*ENJ:5@%:U@5:UH5:UD5:U ML5:UB5:UJ5:UF5:UN5:UA2ZU>B2SMTAF9ZP*LM1>Q"Z>SUESFX9S&VYMX3"X MS3C 87 &'J(P"GLI88SY'VP;W118HC-H4.$'WZ+3"5L;K_ Q. MHJ;I?9@6;RNKTNJ?E?@6I6FTS2\W4JQDG '4[\]1E!YNL@JJTU+]_P!0 M2P,$% @ 1XU:6)DWVI8V P _0T !D !X;"]W;W)K&ULK9=K;]HP%(;_BI554R>M39P+MT&D4DJ!T@F5=?N?5A(J6F;O,H@1A%A$,*)IWC!O8 M&KM2KP2_([1E>]= 9O)"R*ML#&<=PY(#0C$*N70(Q-\&W:(XED9B&'\S3R,/ M*<']ZYU[7^4NT 9?EXTB\D,5._8)MJ M/<\ X9IQDF2P&$$2X?0_>,N>PQX SP%V!MC'@'L&<#+ *0NX&>"6!;P,\,H" MM0RHE07J&5 O"S0RH%$6:&9 \QBHG9LX:S=S5MD8,)_LD]D^B^RF&ZKY-M.% MI59E+^"!WZ9D"ZC4"S]YH9:VXL5BC+ LPBFGXFXD..Y/@G>P86""J"IH'"+0 MBU@8$[:F"%R!YVD/7%Y\ Q<@PN#7DJQ9@&>L;7(16SJ881:GF\:QS\1QP"/! M?,G '9ZAF88?%?/0+C P1=)YYO8N\ZY=Z-A#X35PX'=@6[:C&=!M,3Y%*X%; M9_%>,3Y:XT+\KAA_#&CAX/OE<[?TZRL_YG_K5E6EJY^KMY">_Q59!B#J&^*8S1#?(\+]^@37KAZY$ MJC3K56EV5Z59OTJS^RK-!E6:#:LT&U5I]E"EV;@BLX-R=?-R=8O<_9]B6SW$ M(4D0N!P3QK[I2C2UJ"L+N8G>^$Z]YC7;YF:_]DY5;@.Z[J&JI_%J6HY]J+H[ M54$'6H>BOB8@]"QXJ+K7J!S+/?(:G*J$DWJD6;P=@VZWJ'L M09>CHU["^[*Q1@:]NO/Q]--Y-_>V7 FB"W608" D:\S3MW?>FY]5;M26[:B_ M"UM#J.D?B;-->A3YL$\/1N+[MX@P S&:BU#6=5ULMVEZV$@;G*S4AN^%<+&! M5)=+<3Y#5 K$_3DA?->0 ?(3G_\/4$L#!!0 ( $>-6EAD.J)K0P( (H& M 9 >&PO=V]R:W-H965TNJY,2ZBPG/ :F'Z2B<&4M &>RL_.5Z8>)MP"\"K3P9(U/)GO-G,]EDL>,9(:"0*D/ ^G: M.Z#4@+3&GY[I#%N:Q-/QD?[-UJYKV6,)=YS^)IDJ8^>3@S+(<4/5CK??H:]G M9G@II])>4=O%AI\=E#92\:I/U@858=T=O_3G<)*@.><3@CXAL-[=1M;R'BN< M1(*W2)AH33,#6ZK-UG*$F9?RJ(1^2G2>2C;Z>#,0Z$G@C+ "K83 K !][$I& MKM([F#@W[6GKCA9X)TK\P;M7]&&9>1 L@;3?W?JGVFB5\5K]?\B=[C@PQU3"B-AL$)N- M_ZM2>0.BO"%]P&V>^Y[88W!97']RXWSCWHI][TA\J M$(7M@A*EO&&J:Q7#ZM!H5UU_^1O>=>D'+ K")**0ZU1OLM"O4W2=KYLH7MMN ML^=*]RX[+/7/ H0)T,]SSM5Q8C88?C_)&U!+ P04 " !'C5I8NOVI_U # M "P%0 #0 'AL+W-T>6QE M+2A5SBKEHABY"Z7R3YY7S!8T)<55EE.AD223*5&Z*^=>D4M*X@)(*?>ZG4[H MI80)=SP4R_0F584SRY9"C=Q!/>28T]=XY/KA1]+]KV6FKM\Y MYGSVX>RL<]5YN+S>12XJZ-+UK,*] X1164PT/,BM/O88U@04[7OU[EV.)=D[7=[ M;D,H3SK(-),QE748W]T,C8><)F!'LOD"SBK+/0"5RE+=B!F99X*4'C:,JJ%E M9Y3S.W@^_$RVM%=):^7*Y19U4QNJFD;&=$"_K6:TV[*]5^DZ.7O,U)>EGHXH M^W!CT%M)$[8J^ZND-H"I^[@ZR7.^_LS97*343/[@@.,AV?"<12;9DXX&I3+3 M U2ZSB.5BLW:([\ER>_I2FW*:97@GKLGZ/G?YGE.!96$MTWKVC_F++_:<=!_ M*\OE4V77L-5C]=(_=I.]4S 9GH+)$ZC)(#I^C]4F[MA-GD(F^V_V9'^)2?\H M37K5=JVU)]S:$=:C#NR\1^X/V,GS)J@S73*NF*AZ"Q;'5#S;&&IY1:;ZW]$M M?7U]3!.RY.J^!D=NT_Y.8[9,H_JJ6TA$=573_@;3\\-ZVZ]C,1'3%8TG55?. MIV73T0T=M3J L(O-/E_G;@2=&A(E@6FD7)TZ(=I7\=Q_:0T^FO8R*T M>EOH^7%H5 J.W&,EC'%BM/XU@LD/['X 4$L#!!0 ( $>-6EAWV?Y&PO=V]R:V)O;VLN>&ULQ9M;<]HX%(#_BH:7[3ZP"<:W=)K. M$"";S"0A&S-][0A; 4UMB97EI/37[[$)K5S,F7TY\1/Q!>5#LO3I',F?7K7Y MMM+Z&_M>Y*J\'&RLW7X\.RO3C2AX^9?>"@57GK4IN(5#LSXKMT;PK-P(88O\ MS#L_#\\*+M7@\Z=#68_FS#W05J16:@4GZQ-?I'@M?UVO#]F++.5*YM+N+@?- MW[D8L$(J6<@?(KLIT7E^.1CM+WP1QLKTZ'120R[Y MJFS.6+YZX@!R.0C/H^$C^:_U.-^OE9IF*FTZH0RN[KT8B\!E3E1F[+ 5.\$)># MPRV,JXS-E85*8K=J7Q3<6_]2^->WV?Y76\!UZM!\E'#!W&8-.!WD=/&0+.YN M9Y/E?,:N)G>3A^F<)3?S^3)Q #T$T.L-D'UXY [D&($W#=.% ^@BDWQOD=''_Z$ &"&30&V2R7$P=R!"!#'N$_.HYD!$"&?77W)/D MQH&,$)_38EYS:=@7GE>"W0M>0E767W#K<(2ZA5@NAS9E4UVLI-K? MX,)A7AD1B^5)O A5"1<',\B(6"$PW=K"9&BWGRW\6\EM_067#E/'B-@=?VN= MO^0[7N/5M'#25")C=ZU>B]EC M1*T/(S()@XDQ4(W'/19SQHA8&C-AY NO)]30RJ4UU1$=)HL1L2WN8(P3+1I, M$2-B1\"@5DC;5%#SH$TAP(%80ZA4MB ]S! >L2&>Q%8;VW2&1*Q_;TT/LX-' M;(?[*K=2%-M<[X1ACSEON<%#8PYB-\SW5()="26>H:\>T6&J\(A5D5B=?AM> M05^H'[H"2BI_CR@]3!8>L2QN5:H+P9;\>[L?8&KPB-4PDR\R$RK;=]4Y-PJZ M*H@"GKQDPXV+B:G!(U9#T[0;G6?"E'\TTP"[<]DP-WC$;DA$+E(+S]P_%3=6 MF'S'KF%2!\,=S\$6+B8F"8]8$NC4O16<>9@]O#XCC*]C-Z^!^6/<3X3!/BQK MI[C=>XRY9-Q'I'& _-.EQ+0R?I^0HY,+S5[U$GMT8F)>&?<:A# 7$U/-N,\H MI#4 C3'5C-\_"NEL<4PYXU["D4Y,3#GC=XE+.K$PQ8R)%=,Q]^]B]#&_^,1^ MZ0@".ADQN?C$H)G+7&#'K!,36P3%C%Q,33T M'A3SPL7$Q!,0B^=DC+@?DEQ, M3$$!L8*Z8\0A>[R[J:7D8F(*"H@5= KSJCY1N%%.@*[3$ROH%.8D7T$HZ>[+ M"# +!<06.MGH1K-K[>;] LQ" ;&%#IF!83TC:DI0*?A]E 6:_)&)Y:QO18!8*R==FCC!SR9OM=%*T\ADA M9J&0V$*_,&>RY.NU$>M]^ -:,N+%Q<0L%!);Z%02ZVU>[&)B%@J)+80FL5I= M*,0L%/:9:VNEIT/,0B&QA7!,-\@(T?UBQ!;"4X*MVL0L%%)O&>M*"7;$E2'F MH)#805V00Y9 R5F5"W<:%V(."JEW!W1B/G XKO.9[AY!S$$1L8,Z,$%'7/%, M5TUZ:[[^KV"JGCC=#]K"]I99<#$Q \7ON).MN^=@XHG[W-/6BBIB3#QQ#WO:NBL3\TY,O0[4 M13EDA]')Q43?EZ%>!T(7*%MMCIDG)C8/Q+GLI6QE"6>R3'-=KPXXD!>8>2Z( MS0-3=.@_ABT-1#MJ?6I#_@6FG8O]BZ7-S>7G3QD83(GL -6EA?3NH* MI@( )@U : >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/-VDUNXD 0 MAN&K(!\@IJN[J\JCD-5LLHUR 8LT/PI@9'N4Y/:#R (^:Q:SB?RM4-NB_,J+ M1ZCIQY=R:,=]=QIV^_.P^#P>3L.JVHWC^5==#^M=.;;#0W/TZE_^9V&TV^W7YW:W_',MI_,?@^J/K MWX==*6.U>&W[;1E75?UYN%T>ZNM'>+A,KA;/;ZNJ?WX+53UWD$"0S!\4(2C. M'Y0@*,T?E"$HSQ^D$*3S!QD$V?Q!#D$^?U #0@OJ+01Z"^HM!'H+ZBT$>@OJ+01Z"^HM!'I' MU#L2Z!U1[TB@=T2](X'><;)90J!W1+TC@=X1]8X$>D?4.Q+H'5'O2*!W1+TC M@=X1]8X$>B?4.Q'HG5#O1*!W0KT3@=X)]4X$>J?)9C>!W@GU3@1Z)]0[$>B= M4.]$H'="O1.!W@GU3@1Z9]0[$^B=4>],H'=&O3.!WAGUS@1Z9]0[$^B=)W]6 M$NB=4>],H'=&O3.!WAGUS@1Z9]0[$^BMJ+<2Z*VHMQ+HK:BW$NBMJ+<2Z*VH MMQ+HK:BW$NBMD\,F!'HKZJT$>BOJK01Z*^JM!'H;ZFT$>AOJ;01Z&^IM!'H; MZFT$>AOJ;01Z&^IM!'H;ZFT$>MODL""!WH9Z&X'>AGH;@=Z.>CN!WHYZ.X'> MCGH[@=Z.>CN!WHYZ.X'>CGH[@=Z.>CN!WHYZ.X'>/CGL3:"WH]Y.H'>#>C<$ M>C>H=_.3>@_CUZ$,MY[O-3[_)ZD>+]\MM\=?E]\7)R_ABG-]7S$\_0502P,$ M% @ 1XU:6'LV%NT] @ \3, !, !;0V]N=&5N=%]4>7!E&UL MS=O?;MHP%,?Q5T&YK4B(X]AA*KUI=[OU8B_@):9$Y)]LMZ-O/Q/:2ILZM(I) M^]X0@>WS._&1/G=K%\<^F[PFV07PO0IRWR]L[WQZ3C9(:YL1]>;$+^Z MAVPR]=X\V$RL5BJKQR'8(2S#L49R]IX MS-HD9IJZMC8AKF=/0_-;RO(E(8TGYSU^UT[^*FY(LG<3CBM_#G@Y]_7).MGY$N_T.&ZW;6V;L7[LXY'43\Z:QN^L#7V7GHI> MG4\.\8;MZ3._.'\N-SK2(ZGEU,L9%UHS[_B6V(L??'[ MV>.T&]O\97:\WA^CV\_S\-G\N/R.?YWQ6_T/]B$@?120/B2DCQ+2AX+TH2%] M5) ^UI ^\A6E$8JH.874G&)J3D$UIZB:4UC-*:[F%%ASBJR"(JN@R"HHL@J* MK((BJZ#(*BBR"HJL@B*KH,A:4&0M*+(6%%D+BJP%1=:"(FM!D;6@R%I09"TH MLDJ*K)(BJZ3(*BFR2HJLDB*KI,@J*;)*BJR2(FM)D;6DR%I29"TILI8464N* MK"5%UI(B:TF1M:3(JBBR*HJLBB*KHLBJ*+(JBJR*(JNBR*HHLBJ*K)HBJZ;( MJBFR:HJLFB*KILBJ*;)JBJR:(JNFR%I19*THLE8462N*K!5%UHHB:T61M:+( M6E%DK2BRKBFRKO^GK-_',W/YG_ZW/P$4$L! A0#% @ M1XU:6 =!36*! L0 ! ( ! &1O8U!R;W!S+V%P M<"YX;6Q02P$"% ,4 " !'C5I8F93@9.X K @ $0 M@ &O 9&]C4')O<',O8V]R92YX;6Q02P$"% ,4 " !'C5I8F5R<(Q & M "<)P $P @ ', 0 >&PO=&AE;64O=&AE;64Q+GAM;%!+ M 0(4 Q0 ( $>-6EA[ 10@H@< "$R 8 " @0T( !X M;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ 1XU:6&S<%?F/ @ * < !@ ("! MGA8 'AL+W=O-6EA4 MHI#6O 4 -@8 8 " @6,9 !X;"]W;W)K&PO=V]R:W-H965T&UL4$L! A0#% @ M1XU:6#>ML\SQ" [$@ !@ ("!F"( 'AL+W=O1\7E@* "6,@ & @(%N+P >&PO=V]R M:W-H965T&UL4$L! A0#% @ 1XU:6!?'+5^1!0 3@P M !@ ("!_#D 'AL+W=O-6E@?B0S1U1 &LO 9 " @<,_ !X M;"]W;W)K&UL4$L! A0#% @ 1XU:6 B__L1= M!P 1Q8 !D ("!SU 'AL+W=O&PO=V]R:W-H965T- M6E@>L2=-;A, /X^ 9 " @35G !X;"]W;W)K&UL4$L! A0#% @ 1XU:6.7N!\.B P /@D !D M ("!VGH 'AL+W=O&PO=V]R M:W-H965T-6E@IKKT>9P, #L( M 9 " @5R# !X;"]W;W)K&UL M4$L! A0#% @ 1XU:6*"RTG/'"P '20 !D ("!^H8 M 'AL+W=O_WR M)-,# !S"@ &0 @('XD@ >&PO=V]R:W-H965T-6EAHN.P( < -D2 9 M " @0*7 !X;"]W;W)K&UL4$L! A0#% @ M1XU:6(:"12TM P &@< !D ("!.9X 'AL+W=O&PO=V]R:W-H965T-6EA7_F@D -HC 9 " @5NJ !X;"]W M;W)K&UL4$L! A0#% @ 1XU:6#/R?-UN! MI0H !D ("!++0 'AL+W=O&PO=V]R:W-H965T-6EC$ M>-E#0 T .HG 9 " @6K !X;"]W;W)K&UL4$L! A0#% @ 1XU:6%H8:@H=! .0X !D M ("!X&PO=V]R:W-H M965T-6EC9@'1[(P0 '80 9 M " @1C; !X;"]W;W)K&UL4$L! M A0#% @ 1XU:6*4/#/QS$@ ^3T !D ("!&PO=V]R:W-H965T-6ECB\*]ICP, 'H+ 9 " M@97U !X;"]W;W)K&UL4$L! A0#% @ 1XU: M6&S4"RL!!@ _18 !D ("!6_D 'AL+W=O&PO=V]R:W-H965T-6E@K@V)98@, )(( 9 " @6T% 0!X;"]W;W)K M&UL4$L! A0#% @ 1XU:6-$,!M:I! $ X M !D ("!!@D! 'AL+W=O&PO=V]R:W-H965T-6E@L!CR_ MFP, (X) 9 " @0 1 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6""-1'A& P TPD !D M ("!TA0! 'AL+W=O&PO=V]R:W-H965T M-6E@"?J&WA0, #\, 9 M " @0\= 0!X;"]W;W)K&UL4$L! A0# M% @ 1XU:6.S8=5<,!0 'Q8 !D ("!RR ! 'AL+W=O M&PO=V]R:W-H965T-6E@Y9F.KBP< '@: 9 " @3DI M 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6"V$ M[/\_! SPX !D ("!^S ! 'AL+W=O&PO=V]R:W-H965T-6EB1W@!Y= ( 'L& 9 " @=(Y 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6+\#%PI- P 0@L !D M ("!?3P! 'AL+W=O&PO M=V]R:W-H965T-6EC"5&,;10( M 4% 9 " @75# 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6%5L^D>E! RA< !D ("! M\44! 'AL+W=O&PO=V]R:W-H965T-6E@?@!+N% < '=& 9 M " @9Q. 0!X;"]W;W)K&UL4$L! A0#% M @ 1XU:6/:B"=&4! ^!@ !D ("!YU4! 'AL+W=O&PO=V]R:W-H965T-6E@/KMJ Q 0 ,> 9 " @:]L 0!X M;"]W;W)K&UL4$L! A0#% @ 1XU:6%[+([J^ M! 2B( !D ("!JG$! 'AL+W=O&PO=V]R:W-H965T- M6E@Z55BJ,@4 /TF 9 " @:1Z 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6 IL76C& @ _@H !D M ("!#8 ! 'AL+W=O&PO=V]R M:W-H965T-6EB!<*:E'P, %D* M 9 " @5:& 0!X;"]W;W)K&UL M4$L! A0#% @ 1XU:6'ODT2RR# 5\( !D ("!K(D! M 'AL+W=O&PO=V]R:W-H965T-6EA@MN+NF00 X; 9 M " @=N= 0!X;"]W;W)K&UL4$L! A0#% @ M1XU:6$C$TV0&! 510 !D ("!JZ(! 'AL+W=O&PO=V]R:W-H965T-6ECZO>E3-0, #(* 9 " @>RI 0!X;"]W M;W)K&UL4$L! A0#% @ 1XU:6.=TH2-"! MPQ@ !D ("!6*T! 'AL+W=O&PO=V]R:W-H965T-6EA M]K>HR0P )FL 9 " @<"T 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6%ST'&2, @ HP< !D M ("!P,$! 'AL+W=O&PO=V]R:W-H M965T-6EB0UY$7G , -$- 9 M " @4[( 0!X;"]W;W)K&UL4$L! M A0#% @ 1XU:6- .2I=H!0 /!\ !D ("!(AD# M !5"P &0 @(' T0$ >&PO=V]R:W-H965T-6ECB<3L%]0( -L' 9 " M@1#5 0!X;"]W;W)K&UL4$L! A0#% @ 1XU: M6$<&PO=V]R:W-H965T-6EA1'[!FW@( .@* 9 " @0'B 0!X;"]W;W)K M&UL4$L! A0#% @ 1XU:6//R \&B!0 "B( M !D ("!%N4! 'AL+W=O&PO=V]R:W-H965T-6E@M96N M4@, !L- 9 " @3'N 0!X;"]W;W)K&UL4$L! A0#% @ 1XU:6//8>&3!!0 P20 !D M ("!NO$! 'AL+W=O&PO=V]R:W-H965T M-6ECS0&UL4$L! A0# M% @ 1XU:6/Q.M"(S" J%, !D ("!\PD" 'AL+W=O M&PO=V]R:W-H965T-6EA1DR7UEP< %]% 9 " @; 9 M @!X;"]W;W)K&UL4$L! A0#% @ 1XU:6"^6 M#8$^!@ .24 !D ("!?B$" 'AL+W=O&PO=V]R:W-H965T-6EAD.J)K0P( (H& 9 " @6 K @!X;"]W;W)K&UL4$L! A0#% @ 1XU:6+K]J?]0 P L!4 T M ( !VBT" 'AL+W-T>6QE&PO M=V]R:V)O;VLN>&UL4$L! A0#% @ 1XU:6%].Z@JF @ F#4 !H M ( !'#D" 'AL+U]R96QS+W=O XML 108 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 109 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 111 FilingSummary.xml IDEA: XBRL DOCUMENT 3.24.0.1 html 288 491 1 false 72 0 false 9 false false R1.htm 00090 - Document - Document and Entity Information Sheet http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation Document and Entity Information Cover 1 false false R2.htm 00100 - Statement - CONSOLIDATED BALANCE SHEETS Sheet http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets CONSOLIDATED BALANCE SHEETS Statements 2 false false R3.htm 00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical CONSOLIDATED BALANCE SHEETS (Parenthetical) Statements 3 false false R4.htm 00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME Sheet http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome CONSOLIDATED STATEMENTS OF INCOME Statements 4 false false R5.htm 00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Sheet http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME Statements 5 false false R6.htm 00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Sheet http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY Statements 6 false false R7.htm 00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Sheet http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical) Statements 7 false false R8.htm 00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS Sheet http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows CONSOLIDATED STATEMENTS OF CASH FLOWS Statements 8 false false R9.htm 10101 - Disclosure - Nature of Business Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusiness Nature of Business Notes 9 false false R10.htm 10201 - Disclosure - Summary of Significant Accounting Policies Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPolicies Summary of Significant Accounting Policies Notes 10 false false R11.htm 10301 - Disclosure - Fair Value Measurements Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurements Fair Value Measurements Notes 11 false false R12.htm 10401 - Disclosure - Business Combinations Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinations Business Combinations Notes 12 false false R13.htm 10501 - Disclosure - Revenue Sheet http://www.primoriscorp.com/role/DisclosureRevenue Revenue Notes 13 false false R14.htm 10601 - Disclosure - Property and Equipment Sheet http://www.primoriscorp.com/role/DisclosurePropertyAndEquipment Property and Equipment Notes 14 false false R15.htm 10701 - Disclosure - Goodwill and Intangible Assets Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets Goodwill and Intangible Assets Notes 15 false false R16.htm 10801 - Disclosure - Accounts Payable and Accrued Liabilities Sheet http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities Accounts Payable and Accrued Liabilities Notes 16 false false R17.htm 10901 - Disclosure - Credit Arrangements Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangements Credit Arrangements Notes 17 false false R18.htm 11001 - Disclosure - Derivative Instruments Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstruments Derivative Instruments Notes 18 false false R19.htm 11101 - Disclosure - Leases Sheet http://www.primoriscorp.com/role/DisclosureLeases Leases Notes 19 false false R20.htm 11201 - Disclosure - Commitments and Contingencies Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies Commitments and Contingencies Notes 20 false false R21.htm 11301 - Disclosure - Reportable Segments Sheet http://www.primoriscorp.com/role/DisclosureReportableSegments Reportable Segments Notes 21 false false R22.htm 11401 - Disclosure - Multiemployer Plans Sheet http://www.primoriscorp.com/role/DisclosureMultiemployerPlans Multiemployer Plans Notes 22 false false R23.htm 11501 - Disclosure - Employee Benefit Plans Sheet http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlans Employee Benefit Plans Notes 23 false false R24.htm 11601 - Disclosure - Stock-Based Compensation Sheet http://www.primoriscorp.com/role/DisclosureStockBasedCompensation Stock-Based Compensation Notes 24 false false R25.htm 11701 - Disclosure - Income Taxes Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxes Income Taxes Notes 25 false false R26.htm 11801 - Disclosure - Dividends and Earnings Per Share Sheet http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare Dividends and Earnings Per Share Notes 26 false false R27.htm 11901 - Disclosure - Stockholders' Equity Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquity Stockholders' Equity Notes 27 false false R28.htm 12001 - Disclosure - Selected Quarterly Financial Information (Unaudited) Sheet http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnaudited Selected Quarterly Financial Information (Unaudited) Notes 28 false false R29.htm 20202 - Disclosure - Summary of Significant Accounting Policies (Policies) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies Summary of Significant Accounting Policies (Policies) Policies http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPolicies 29 false false R30.htm 30203 - Disclosure - Summary of Significant Accounting Policies (Tables) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables Summary of Significant Accounting Policies (Tables) Tables http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPolicies 30 false false R31.htm 30303 - Disclosure - Fair Value Measurements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables Fair Value Measurements (Tables) Tables http://www.primoriscorp.com/role/DisclosureFairValueMeasurements 31 false false R32.htm 30403 - Disclosure - Business Combinations (Tables) Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables Business Combinations (Tables) Tables http://www.primoriscorp.com/role/DisclosureBusinessCombinations 32 false false R33.htm 30503 - Disclosure - Revenue (Tables) Sheet http://www.primoriscorp.com/role/DisclosureRevenueTables Revenue (Tables) Tables http://www.primoriscorp.com/role/DisclosureRevenue 33 false false R34.htm 30603 - Disclosure - Property and Equipment (Tables) Sheet http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentTables Property and Equipment (Tables) Tables http://www.primoriscorp.com/role/DisclosurePropertyAndEquipment 34 false false R35.htm 30703 - 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 35 false false R36.htm 30803 - 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 36 false false R37.htm 30903 - Disclosure - Credit Arrangements (Tables) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables Credit Arrangements (Tables) Tables http://www.primoriscorp.com/role/DisclosureCreditArrangements 37 false false R38.htm 31003 - Disclosure - Derivative Instruments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables Derivative Instruments (Tables) Tables http://www.primoriscorp.com/role/DisclosureDerivativeInstruments 38 false false R39.htm 31103 - Disclosure - Leases (Tables) Sheet http://www.primoriscorp.com/role/DisclosureLeasesTables Leases (Tables) Tables http://www.primoriscorp.com/role/DisclosureLeases 39 false false R40.htm 31303 - Disclosure - Reportable Segments (Tables) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables Reportable Segments (Tables) Tables http://www.primoriscorp.com/role/DisclosureReportableSegments 40 false false R41.htm 31403 - Disclosure - Multiemployer Plans (Tables) Sheet http://www.primoriscorp.com/role/DisclosureMultiemployerPlansTables Multiemployer Plans (Tables) Tables http://www.primoriscorp.com/role/DisclosureMultiemployerPlans 41 false false R42.htm 31603 - Disclosure - Stock-Based Compensation (Tables) Sheet http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables Stock-Based Compensation (Tables) Tables http://www.primoriscorp.com/role/DisclosureStockBasedCompensation 42 false false R43.htm 31703 - Disclosure - Income Taxes (Tables) Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables Income Taxes (Tables) Tables http://www.primoriscorp.com/role/DisclosureIncomeTaxes 43 false false R44.htm 31803 - 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 44 false false R45.htm 32003 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Tables) Sheet http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedTables Selected Quarterly Financial Information (Unaudited) (Tables) Tables http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnaudited 45 false false R46.htm 40101 - Disclosure - Nature of Business (Details) Sheet http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails Nature of Business (Details) Details http://www.primoriscorp.com/role/DisclosureNatureOfBusiness 46 false false R47.htm 40201 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails Summary of Significant Accounting Policies - Restricted Cash (Details) Details 47 false false R48.htm 40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details) Details 48 false false R49.htm 40203 - Disclosure - Summary of Significant Accounting Policies - Operating cycle (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOperatingCycleDetails Summary of Significant Accounting Policies - Operating cycle (Details) Details 49 false false R50.htm 40204 - Disclosure - Summary of Significant Accounting Policies - Foreign Operations (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails Summary of Significant Accounting Policies - Foreign Operations (Details) Details 50 false false R51.htm 40205 - Disclosure - Summary of Significant Accounting Policies - Customer Concentration (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails Summary of Significant Accounting Policies - Customer Concentration (Details) Details 51 false false R52.htm 40206 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details) Sheet http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails Summary of Significant Accounting Policies - Property and Equipment (Details) Details 52 false false R53.htm 40301 - Disclosure - Fair Value Measurements (Details) Sheet http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails Fair Value Measurements (Details) Details http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables 53 false false R54.htm 40401 - Disclosure - Business Combinations - PLH and FIH (Details) Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails Business Combinations - PLH and FIH (Details) Details 54 false false R55.htm 40402 - Disclosure - Business Combinations - B Comm Holdco, LLC (Details) Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails Business Combinations - B Comm Holdco, LLC (Details) Details 55 false false R56.htm 40403 - Disclosure - Business Combinations - Alberta Screw Piles, Ltd (Details) Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails Business Combinations - Alberta Screw Piles, Ltd (Details) Details 56 false false R57.htm 40404 - Disclosure - Business Combinations - Pro Forma Information (Details) Sheet http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails Business Combinations - Pro Forma Information (Details) Details 57 false false R58.htm 40501 - Disclosure - Revenue - Performance obligations (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails Revenue - Performance obligations (Details) Details 58 false false R59.htm 40502 - Disclosure - Revenue - Performance obligations - Details (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails Revenue - Performance obligations - Details (Details) Details 59 false false R60.htm 40503 - Disclosure - Revenue - Contract assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails Revenue - Contract assets (Details) Details 60 false false R61.htm 40504 - Disclosure - Revenue - Contract liabilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails Revenue - Contract liabilities (Details) Details 61 false false R62.htm 40505 - 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 62 false false R63.htm 40601 - Disclosure - Property and Equipment (Details) Sheet http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails Property and Equipment (Details) Details http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentTables 63 false false R64.htm 40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails Goodwill and Intangible Assets - Goodwill (Details) Details 64 false false R65.htm 40702 - Disclosure - Goodwill and Intangible Assets - Intangible Assets (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails Goodwill and Intangible Assets - Intangible Assets (Details) Details 65 false false R66.htm 40703 - Disclosure - Goodwill and Intangible Assets - Future Amortization (Details) Sheet http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails Goodwill and Intangible Assets - Future Amortization (Details) Details 66 false false R67.htm 40801 - 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 67 false false R68.htm 40901 - Disclosure - Credit Arrangements (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails Credit Arrangements (Details) Details http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables 68 false false R69.htm 40902 - Disclosure - Credit Arrangements - Scheduled maturities of long-term debt (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails Credit Arrangements - Scheduled maturities of long-term debt (Details) Details 69 false false R70.htm 40903 - Disclosure - Credit Arrangements - Narratives (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails Credit Arrangements - Narratives (Details) Details 70 false false R71.htm 40904 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details) Sheet http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails Credit Arrangements- Canadian Credit Facilities (Details) Details 71 false false R72.htm 41001 - Disclosure - Derivative Instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails Derivative Instruments (Details) Details http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables 72 false false R73.htm 41002 - Disclosure - Derivative Instruments - Derivative contract and instruments (Details) Sheet http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails Derivative Instruments - Derivative contract and instruments (Details) Details 73 false false R74.htm 41101 - 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 74 false false R75.htm 41102 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details) Sheet http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details) Details 75 false false R76.htm 41103 - Disclosure - Leases - Other Information Related to Operating Leases (Details) Sheet http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails Leases - Other Information Related to Operating Leases (Details) Details 76 false false R77.htm 41201 - Disclosure - Commitments and Contingencies - Legal (Details) Sheet http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails Commitments and Contingencies - Legal (Details) Details 77 false false R78.htm 41301 - Disclosure - Reportable Segments (Details) Sheet http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails Reportable Segments (Details) Details http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables 78 false false R79.htm 41302 - 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 79 false false R80.htm 41401 - Disclosure - Multiemployer Plans (Details) Sheet http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails Multiemployer Plans (Details) Details http://www.primoriscorp.com/role/DisclosureMultiemployerPlansTables 80 false false R81.htm 41501 - Disclosure - Employee Benefit Plans (Details) Sheet http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails Employee Benefit Plans (Details) Details http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlans 81 false false R82.htm 41601 - Disclosure - Stock-Based Compensation (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails Stock-Based Compensation (Details) Details http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables 82 false false R83.htm 41602 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails Stock-Based Compensation - Restricted Stock Units (Details) Details 83 false false R84.htm 41603 - Disclosure - Stock-Based Compensation - Performance Stock Units (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails Stock-Based Compensation - Performance Stock Units (Details) Details 84 false false R85.htm 41701 - Disclosure - Income Taxes (Details) Sheet http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails Income Taxes (Details) Details http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables 85 false false R86.htm 41801 - 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 86 false false R87.htm 41901 - Disclosure - Stockholders' Equity (Details) Sheet http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails Stockholders' Equity (Details) Details http://www.primoriscorp.com/role/DisclosureStockholdersEquity 87 false false R88.htm 41902 - 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 88 false false R89.htm 42001 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Details) Sheet http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails Selected Quarterly Financial Information (Unaudited) (Details) Details http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedTables 89 false false R90.htm 995410 - Disclosure - Pay vs Performance Disclosure Sheet http://xbrl.sec.gov/ecd/role/PvpDisclosure Pay vs Performance Disclosure Uncategorized 90 false false R91.htm 995445 - Disclosure - Insider Trading Arrangements Sheet http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements Insider Trading Arrangements Cover 91 false false All Reports Book All Reports prim-20231231.xsd prim-20231231_cal.xml prim-20231231_def.xml prim-20231231_lab.xml prim-20231231_pre.xml prim-20231231x10k.htm prim-20231231x10k002.jpg http://fasb.org/us-gaap/2023 http://xbrl.sec.gov/dei/2023 http://xbrl.sec.gov/ecd/2023 true true JSON 114 MetaLinks.json IDEA: XBRL DOCUMENT { "version": "2.2", "instance": { "prim-20231231x10k.htm": { "nsprefix": "prim", "nsuri": "http://www.primoriscorp.com/20231231", "dts": { "schema": { "local": [ "prim-20231231.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/net-2009-12-16.xsd", "http://www.xbrl.org/lrr/role/reference-2009-12-16.xsd", "https://www.xbrl.org/2020/extensible-enumerations-2.0.xsd", "https://www.xbrl.org/dtr/type/2020-01-21/types.xsd", "https://www.xbrl.org/dtr/type/2022-03-31/types.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-roles-2023.xsd", "https://xbrl.fasb.org/srt/2023/elts/srt-types-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-gaap-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-roles-2023.xsd", "https://xbrl.fasb.org/us-gaap/2023/elts/us-types-2023.xsd", "https://xbrl.sec.gov/country/2023/country-2023.xsd", "https://xbrl.sec.gov/dei/2023/dei-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-2023.xsd", "https://xbrl.sec.gov/ecd/2023/ecd-sub-2023.xsd" ] }, "calculationLink": { "local": [ "prim-20231231_cal.xml" ] }, "definitionLink": { "local": [ "prim-20231231_def.xml" ] }, "labelLink": { "local": [ "prim-20231231_lab.xml" ] }, "presentationLink": { "local": [ "prim-20231231_pre.xml" ] }, "inline": { "local": [ "prim-20231231x10k.htm" ] } }, "keyStandard": 400, "keyCustom": 91, "axisStandard": 26, "axisCustom": 0, "memberStandard": 38, "memberCustom": 34, "hidden": { "total": 30, "http://www.primoriscorp.com/20231231": 6, "http://fasb.org/us-gaap/2023": 19, "http://xbrl.sec.gov/dei/2023": 5 }, "contextCount": 288, "entityCount": 1, "segmentCount": 72, "elementCount": 822, "unitCount": 9, "baseTaxonomies": { "http://fasb.org/us-gaap/2023": 1107, "http://xbrl.sec.gov/dei/2023": 37, "http://xbrl.sec.gov/ecd/2023": 4 }, "report": { "R1": { "role": "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation", "longName": "00090 - Document - Document and Entity Information", "shortName": "Document and Entity Information", "isDefault": "true", "groupType": "document", "subGroupType": "", "menuCat": "Cover", "order": "1", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "dei:DocumentType", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R2": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets", "longName": "00100 - Statement - CONSOLIDATED BALANCE SHEETS", "shortName": "CONSOLIDATED BALANCE SHEETS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "2", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:ReceivablesNetCurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R3": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical", "longName": "00105 - Statement - CONSOLIDATED BALANCE SHEETS (Parenthetical)", "shortName": "CONSOLIDATED BALANCE SHEETS (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "3", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_ctTBBPDhYkS_KYQI5uRhSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R4": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome", "longName": "00200 - Statement - CONSOLIDATED STATEMENTS OF INCOME", "shortName": "CONSOLIDATED STATEMENTS OF INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "4", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:CostOfGoodsAndServicesSold", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R5": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "longName": "00300 - Statement - CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "shortName": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "5", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ComprehensiveIncomeNetOfTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R6": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity", "longName": "00400 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "6", "firstAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bO8ul3So30OjOXrbcJfAzQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2020_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember_bO8ul3So30OjOXrbcJfAzQ", "name": "us-gaap:StockholdersEquity", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R7": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical", "longName": "00405 - Statement - CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "shortName": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY (Parenthetical)", "isDefault": "false", "groupType": "statement", "subGroupType": "parenthetical", "menuCat": "Statements", "order": "7", "firstAnchor": { "contextRef": "Duration_11_2_2023_To_11_2_2023_rqlqy-1wBEqrJeKD62nf8Q", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_ctTBBPDhYkS_KYQI5uRhSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R8": { "role": "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows", "longName": "00500 - Statement - CONSOLIDATED STATEMENTS OF CASH FLOWS", "shortName": "CONSOLIDATED STATEMENTS OF CASH FLOWS", "isDefault": "false", "groupType": "statement", "subGroupType": "", "menuCat": "Statements", "order": "8", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ProfitLoss", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DepreciationDepletionAndAmortization", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R9": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusiness", "longName": "10101 - Disclosure - Nature of Business", "shortName": "Nature of Business", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "9", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:NatureOfOperations", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R10": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPolicies", "longName": "10201 - Disclosure - Summary of Significant Accounting Policies", "shortName": "Summary of Significant Accounting Policies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "10", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:SignificantAccountingPoliciesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R11": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurements", "longName": "10301 - Disclosure - Fair Value Measurements", "shortName": "Fair Value Measurements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "11", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:FairValueDisclosuresTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R12": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinations", "longName": "10401 - Disclosure - Business Combinations", "shortName": "Business Combinations", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "12", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:BusinessCombinationDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R13": { "role": "http://www.primoriscorp.com/role/DisclosureRevenue", "longName": "10501 - Disclosure - Revenue", "shortName": "Revenue", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "13", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:RevenueFromContractWithCustomerTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R14": { "role": "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipment", "longName": "10601 - Disclosure - Property and Equipment", "shortName": "Property and Equipment", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "14", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R15": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssets", "longName": "10701 - Disclosure - Goodwill and Intangible Assets", "shortName": "Goodwill and Intangible Assets", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "15", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R16": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilities", "longName": "10801 - Disclosure - Accounts Payable and Accrued Liabilities", "shortName": "Accounts Payable and Accrued Liabilities", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "16", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R17": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangements", "longName": "10901 - Disclosure - Credit Arrangements", "shortName": "Credit Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "17", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DebtDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R18": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstruments", "longName": "11001 - Disclosure - Derivative Instruments", "shortName": "Derivative Instruments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "18", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R19": { "role": "http://www.primoriscorp.com/role/DisclosureLeases", "longName": "11101 - Disclosure - Leases", "shortName": "Leases", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "19", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LesseeOperatingLeasesTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R20": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingencies", "longName": "11201 - Disclosure - Commitments and Contingencies", "shortName": "Commitments and Contingencies", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "20", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R21": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegments", "longName": "11301 - Disclosure - Reportable Segments", "shortName": "Reportable Segments", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "21", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:SegmentReportingDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R22": { "role": "http://www.primoriscorp.com/role/DisclosureMultiemployerPlans", "longName": "11401 - Disclosure - Multiemployer Plans", "shortName": "Multiemployer Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "22", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PostemploymentBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R23": { "role": "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlans", "longName": "11501 - Disclosure - Employee Benefit Plans", "shortName": "Employee Benefit Plans", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "23", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R24": { "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensation", "longName": "11601 - Disclosure - Stock-Based Compensation", "shortName": "Stock-Based Compensation", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "24", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:CompensationRelatedCostsGeneralTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R25": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxes", "longName": "11701 - Disclosure - Income Taxes", "shortName": "Income Taxes", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "25", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:IncomeTaxDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R26": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShare", "longName": "11801 - Disclosure - Dividends and Earnings Per Share", "shortName": "Dividends and Earnings Per Share", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "26", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R27": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquity", "longName": "11901 - Disclosure - Stockholders' Equity", "shortName": "Stockholders' Equity", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "27", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R28": { "role": "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnaudited", "longName": "12001 - Disclosure - Selected Quarterly Financial Information (Unaudited)", "shortName": "Selected Quarterly Financial Information (Unaudited)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Notes", "order": "28", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:QuarterlyFinancialInformationTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R29": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies", "longName": "20202 - Disclosure - Summary of Significant Accounting Policies (Policies)", "shortName": "Summary of Significant Accounting Policies (Policies)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "policies", "menuCat": "Policies", "order": "29", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:BasisOfAccountingPolicyPolicyTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R30": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables", "longName": "30203 - Disclosure - Summary of Significant Accounting Policies (Tables)", "shortName": "Summary of Significant Accounting Policies (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "30", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R31": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsTables", "longName": "30303 - Disclosure - Fair Value Measurements (Tables)", "shortName": "Fair Value Measurements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "31", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:FairValueDisclosuresTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R32": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables", "longName": "30403 - Disclosure - Business Combinations (Tables)", "shortName": "Business Combinations (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "32", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember_07-v-g7dKkqZkaYd2HKFuA", "name": "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_BusinessAcquisitionAxis_prim_PlhGroupIncMember_07-v-g7dKkqZkaYd2HKFuA", "name": "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:BusinessCombinationDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R33": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueTables", "longName": "30503 - Disclosure - Revenue (Tables)", "shortName": "Revenue (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "33", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:ContractWithCustomerAssetTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R34": { "role": "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentTables", "longName": "30603 - Disclosure - Property and Equipment (Tables)", "shortName": "Property and Equipment (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "34", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:PropertyPlantAndEquipmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R35": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables", "longName": "30703 - Disclosure - Goodwill and Intangible Assets (Tables)", "shortName": "Goodwill and Intangible Assets (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "35", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfGoodwillTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R36": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesTables", "longName": "30803 - Disclosure - Accounts Payable and Accrued Liabilities (Tables)", "shortName": "Accounts Payable and Accrued Liabilities (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "36", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R37": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables", "longName": "30903 - Disclosure - Credit Arrangements (Tables)", "shortName": "Credit Arrangements (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "37", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R38": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsTables", "longName": "31003 - Disclosure - Derivative Instruments (Tables)", "shortName": "Derivative Instruments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "38", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R39": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesTables", "longName": "31103 - Disclosure - Leases (Tables)", "shortName": "Leases (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "39", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LeaseCostTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R40": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsTables", "longName": "31303 - Disclosure - Reportable Segments (Tables)", "shortName": "Reportable Segments (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "40", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R41": { "role": "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansTables", "longName": "31403 - Disclosure - Multiemployer Plans (Tables)", "shortName": "Multiemployer Plans (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "41", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfMultiemployerPlansTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfMultiemployerPlansTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R42": { "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables", "longName": "31603 - Disclosure - Stock-Based Compensation (Tables)", "shortName": "Stock-Based Compensation (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "42", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R43": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables", "longName": "31703 - Disclosure - Income Taxes (Tables)", "shortName": "Income Taxes (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "43", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R44": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareTables", "longName": "31803 - Disclosure - Dividends and Earnings Per Share (Tables)", "shortName": "Dividends and Earnings Per Share (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "44", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:DividendsDeclaredTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R45": { "role": "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedTables", "longName": "32003 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Tables)", "shortName": "Selected Quarterly Financial Information (Unaudited) (Tables)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "tables", "menuCat": "Tables", "order": "45", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R46": { "role": "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails", "longName": "40101 - Disclosure - Nature of Business (Details)", "shortName": "Nature of Business (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "46", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_CPAoP3aXiUuIbouw-fqlxQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:AverageMaximumAmountOfProjectSizeAmount", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R47": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails", "longName": "40201 - Disclosure - Summary of Significant Accounting Policies - Restricted Cash (Details)", "shortName": "Summary of Significant Accounting Policies - Restricted Cash (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "47", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:RestrictedCash", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R48": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails", "longName": "40202 - Disclosure - Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details)", "shortName": "Summary of Significant Accounting Policies - Accounts Receivable Securitization Facility (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "48", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:AccountsReceivableSecuritizationTerm", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "prim:AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "us-gaap:SignificantAccountingPoliciesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R49": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOperatingCycleDetails", "longName": "40203 - Disclosure - Summary of Significant Accounting Policies - Operating cycle (Details)", "shortName": "Summary of Significant Accounting Policies - Operating cycle (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "49", "firstAnchor": null, "uniqueAnchor": null }, "R50": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails", "longName": "40204 - Disclosure - Summary of Significant Accounting Policies - Foreign Operations (Details)", "shortName": "Summary of Significant Accounting Policies - Foreign Operations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "50", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CashAndCashEquivalentsAtCarryingValue", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:PercentageOfLaborForceSubjectToCollectiveBargaining", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "prim:CollectiveBargainingAgreementsPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R51": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails", "longName": "40205 - Disclosure - Summary of Significant Accounting Policies - Customer Concentration (Details)", "shortName": "Summary of Significant Accounting Policies - Customer Concentration (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "51", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cjTqD7q43kK2DmBwZ7dnbw", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_mGsTRJDtDUO9k6KM59s0zA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_MajorCustomersAxis_prim_TopTenCustomersMember_us-gaap_ConcentrationRiskByBenchmarkAxis_us-gaap_SalesRevenueNetMember_us-gaap_ConcentrationRiskByTypeAxis_us-gaap_CustomerConcentrationRiskMember_cjTqD7q43kK2DmBwZ7dnbw", "name": "prim:ConcentrationRiskNumberOfTopCustomers", "unitRef": "Unit_Standard_customer_mGsTRJDtDUO9k6KM59s0zA", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:ConcentrationRiskCreditRisk", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R52": { "role": "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "longName": "40206 - Disclosure - Summary of Significant Accounting Policies - Property and Equipment (Details)", "shortName": "Summary of Significant Accounting Policies - Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "52", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:Depreciation", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_us-gaap_ChangeInAccountingEstimateByTypeAxis_us-gaap_ChangeInAccountingMethodAccountedForAsChangeInEstimateMember_yF1nLjBcPkW1OBpvtXSevQ", "name": "us-gaap:Depreciation", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:DepreciationDepletionAndAmortizationPolicyTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R53": { "role": "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails", "longName": "40301 - Disclosure - Fair Value Measurements (Details)", "shortName": "Fair Value Measurements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "53", "firstAnchor": { "contextRef": "As_Of_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_ewrx4pMNVUCAeL7sRUQiDw", "name": "prim:ContingentConsiderationLiabilitiesFairValue", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_ewrx4pMNVUCAeL7sRUQiDw", "name": "us-gaap:ContingentConsiderationClassifiedAsEquityFairValueDisclosure", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R54": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "longName": "40401 - Disclosure - Business Combinations - PLH and FIH (Details)", "shortName": "Business Combinations - PLH and FIH (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "54", "firstAnchor": { "contextRef": "Duration_1_15_2021_To_1_15_2021_alT6MMjrUkCOBdHiSsTx8Q", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_15_2021_To_1_15_2021_alT6MMjrUkCOBdHiSsTx8Q", "name": "prim:CashAndRestrictedCashAcquiredFromAcquisition", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R55": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "longName": "40402 - Disclosure - Business Combinations - B Comm Holdco, LLC (Details)", "shortName": "Business Combinations - B Comm Holdco, LLC (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "55", "firstAnchor": { "contextRef": "Duration_1_15_2021_To_1_15_2021_alT6MMjrUkCOBdHiSsTx8Q", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_6_8_2022_To_6_8_2022_us-gaap_BusinessAcquisitionAxis_prim_BCommConstructorLlcMember_WAHHljb10Euyh3GzwnOLxg", "name": "us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R56": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "longName": "40403 - Disclosure - Business Combinations - Alberta Screw Piles, Ltd (Details)", "shortName": "Business Combinations - Alberta Screw Piles, Ltd (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "56", "firstAnchor": { "contextRef": "Duration_1_15_2021_To_1_15_2021_alT6MMjrUkCOBdHiSsTx8Q", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_3_1_2022_To_3_1_2022_us-gaap_BusinessAcquisitionAxis_prim_AlbertaScrewPilesLtdMember_Q_AGTPk5CUmColpFc8F71A", "name": "us-gaap:PaymentsToAcquireBusinessesGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R57": { "role": "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails", "longName": "40404 - Disclosure - Business Combinations - Pro Forma Information (Details)", "shortName": "Business Combinations - Pro Forma Information (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "57", "firstAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_fXDi5iYKxE2azPQDARNh2A", "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_fXDi5iYKxE2azPQDARNh2A", "name": "prim:EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "span", "td", "tr", "table", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R58": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "longName": "40501 - Disclosure - Revenue - Performance obligations (Details)", "shortName": "Revenue - Performance obligations (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "58", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:ContractWithCustomerPerformanceObligationSatisfiedInPreviousPeriod", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R59": { "role": "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "longName": "40502 - Disclosure - Revenue - Performance obligations - Details (Details)", "shortName": "Revenue - Performance obligations - Details (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "59", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20240101_hja7yqJv0U6y7bUrEO5zwA", "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_prim_cnst_date_20240101_hja7yqJv0U6y7bUrEO5zwA", "name": "us-gaap:RevenueRemainingPerformanceObligationPercentage", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:RevenueFromContractWithCustomerTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R60": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "longName": "40503 - Disclosure - Revenue - Contract assets (Details)", "shortName": "Revenue - Contract assets (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "60", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:UnbilledReceivablesCurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerAssetTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R61": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "longName": "40504 - Disclosure - Revenue - Contract liabilities (Details)", "shortName": "Revenue - Contract liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "61", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:ContractWithCustomerLiabilityDeferredRevenueCurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:ContractWithCustomerLiabilityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R62": { "role": "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "longName": "40505 - 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": "62", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_ContractWithCustomerBasisOfPricingAxis_us-gaap_FixedPriceContractMember_2z0Dy_SYFEaqyCLUpUJs-g", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R63": { "role": "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "longName": "40601 - Disclosure - Property and Equipment (Details)", "shortName": "Property and Equipment (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "63", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:PropertyPlantAndEquipmentGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:PropertyPlantAndEquipmentTextBlock", "us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R64": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "longName": "40701 - Disclosure - Goodwill and Intangible Assets - Goodwill (Details)", "shortName": "Goodwill and Intangible Assets - Goodwill (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "64", "firstAnchor": { "contextRef": "As_Of_12_31_2022_gmLdZykw-E-VOhN7J1L2mQ", "name": "us-gaap:Goodwill", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_fXDi5iYKxE2azPQDARNh2A", "name": "us-gaap:GoodwillAcquiredDuringPeriod", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "ix:continuation", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R65": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "longName": "40702 - 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": "65", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:FiniteLivedIntangibleAssetsGross", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock", "us-gaap:GoodwillAndIntangibleAssetsDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R66": { "role": "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "longName": "40703 - 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": "66", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R67": { "role": "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "longName": "40801 - Disclosure - Accounts Payable and Accrued Liabilities (Details)", "shortName": "Accounts Payable and Accrued Liabilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "67", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:ContractWithCustomerAccountsPayableDueToSubcontractors", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R68": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "longName": "40901 - Disclosure - Credit Arrangements (Details)", "shortName": "Credit Arrangements (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "68", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_us-gaap_LoansPayableMember_RhHucfcL1EeLcXQzzO5ikA", "name": "us-gaap:DebtInstrumentCarryingAmount", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDebtInstrumentsTextBlock", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R69": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails", "longName": "40902 - Disclosure - Credit Arrangements - Scheduled maturities of long-term debt (Details)", "shortName": "Credit Arrangements - Scheduled maturities of long-term debt (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "69", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R70": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "longName": "40903 - Disclosure - Credit Arrangements - Narratives (Details)", "shortName": "Credit Arrangements - Narratives (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "70", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:DebtWeightedAverageInterestRate", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "us-gaap:DebtDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R71": { "role": "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "longName": "40904 - Disclosure - Credit Arrangements- Canadian Credit Facilities (Details)", "shortName": "Credit Arrangements- Canadian Credit Facilities (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "71", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Qw_9cNxQCU6KIyTkUJxYvg", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_s13FNlKe4kCRSXyCr49fNA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_LongtermDebtTypeAxis_prim_CreditFacilityWithCanadianBankMember_Qw_9cNxQCU6KIyTkUJxYvg", "name": "us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity", "unitRef": "Unit_Standard_CAD_s13FNlKe4kCRSXyCr49fNA", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R72": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails", "longName": "41001 - Disclosure - Derivative Instruments (Details)", "shortName": "Derivative Instruments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "72", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_xGdUMaip9ES4TmDHSyX25A", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:NumberOfInstrumentsUsedForTrading", "unitRef": "Unit_Standard_instrument_xGdUMaip9ES4TmDHSyX25A", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R73": { "role": "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails", "longName": "41002 - 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": "73", "firstAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_w-x_-k-Qi0mDj5gKBbSEpA", "name": "us-gaap:DerivativeAssetsNoncurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_DerivativeInstrumentRiskAxis_us-gaap_InterestRateSwapMember_w-x_-k-Qi0mDj5gKBbSEpA", "name": "us-gaap:DerivativeAssetsNoncurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfDerivativeAssetsAtFairValueTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R74": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "longName": "41101 - 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": "74", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:LesseeOperatingLeaseExistenceOfOptionToExtend", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:LesseeOperatingLeasesTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R75": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails", "longName": "41102 - Disclosure - Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)", "shortName": "Leases - Future Minimum Lease Payments Under Non-cancelable Operating Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "75", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R76": { "role": "http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails", "longName": "41103 - Disclosure - Leases - Other Information Related to Operating Leases (Details)", "shortName": "Leases - Other Information Related to Operating Leases (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "76", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:LesseeOperatingLeaseOtherInformationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:OperatingLeasePayments", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "prim:LesseeOperatingLeaseOtherInformationTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R77": { "role": "http://www.primoriscorp.com/role/DisclosureCommitmentsAndContingenciesLegalDetails", "longName": "41201 - Disclosure - Commitments and Contingencies - Legal (Details)", "shortName": "Commitments and Contingencies - Legal (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "77", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "prim:BondsIssuedAndOutstanding", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-8", "ancestors": [ "p", "us-gaap:CommitmentsAndContingenciesDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R78": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "longName": "41301 - Disclosure - Reportable Segments (Details)", "shortName": "Reportable Segments (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "78", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:NumberOfReportableSegments", "unitRef": "Unit_Standard_segment_CPAoP3aXiUuIbouw-fqlxQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "us-gaap:NatureOfOperations", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:GrossProfitAsPercentageOfSegmentRevenue", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R79": { "role": "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails", "longName": "41302 - 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": "79", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "5", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfSegmentReportingInformationBySegmentTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_srt_StatementGeographicalAxis_prim_NonUnitedStatesMember_INEyUW2pV0ueaNDs6yNG4g", "name": "prim:RevenuePercentage", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "3", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R80": { "role": "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails", "longName": "41401 - Disclosure - Multiemployer Plans (Details)", "shortName": "Multiemployer Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "80", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:MultiemployerPlansAnnualContributionsNumberOfPensionPlans", "unitRef": "Unit_Standard_item_Qtye3lYULEu_cYPIm930-g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "prim:MultiemployerPlansAnnualContributionsNumberOfPensionPlans", "unitRef": "Unit_Standard_item_Qtye3lYULEu_cYPIm930-g", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R81": { "role": "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails", "longName": "41501 - Disclosure - Employee Benefit Plans (Details)", "shortName": "Employee Benefit Plans (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "81", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:DeferredCompensationLiabilityClassifiedNoncurrent", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R82": { "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "longName": "41601 - Disclosure - Stock-Based Compensation (Details)", "shortName": "Stock-Based Compensation (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "82", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_PlanNameAxis_prim_PrimorisLongTermRetentionPlanMember_ubusVMAsvUKbb7yI2ojkYA", "name": "prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "prim:DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_12_31_2023_us-gaap_PlanNameAxis_prim_EquityPlan2023Member_yRi0tqMH2kuyBfzcAjXf4A", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "unitRef": "Unit_Standard_shares_vnu4NtdkhUWRPCGTJwessg", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "us-gaap:CompensationRelatedCostsGeneralTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R83": { "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "longName": "41602 - Disclosure - Stock-Based Compensation - Restricted Stock Units (Details)", "shortName": "Stock-Based Compensation - Restricted Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "83", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:AllocatedShareBasedCompensationExpense", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockUnitsRSUMember_us-gaap_VestingAxis_us-gaap_ShareBasedCompensationAwardTrancheOneMember_8XEODXUnI0KLFckTBeOWDw", "name": "us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "unitRef": "Unit_Standard_pure_HdrGbTFwW0u5xIf0A08yEQ", "xsiNil": "false", "lang": null, "decimals": "2", "ancestors": [ "p", "us-gaap:CompensationRelatedCostsGeneralTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R84": { "role": "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "longName": "41603 - Disclosure - Stock-Based Compensation - Performance Stock Units (Details)", "shortName": "Stock-Based Compensation - Performance Stock Units (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "84", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_PhantomShareUnitsPSUsMember_8GLeUK1RVUCoKNnAeZxCpg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_us-gaap_AwardTypeAxis_us-gaap_PhantomShareUnitsPSUsMember_8GLeUK1RVUCoKNnAeZxCpg", "name": "us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R85": { "role": "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "longName": "41701 - Disclosure - Income Taxes (Details)", "shortName": "Income Taxes (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "85", "firstAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "us-gaap:IncomeTaxDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } }, "R86": { "role": "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "longName": "41801 - Disclosure - Dividends and Earnings Per Share (Details)", "shortName": "Dividends and Earnings Per Share (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "86", "firstAnchor": { "contextRef": "Duration_11_2_2023_To_11_2_2023_rqlqy-1wBEqrJeKD62nf8Q", "name": "us-gaap:CommonStockDividendsPerShareDeclared", "unitRef": "Unit_Divide_USD_shares_ctTBBPDhYkS_KYQI5uRhSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "p", "td", "tr", "table", "us-gaap:DividendsDeclaredTableTextBlock", "prim:DividendsAndEarningsPerShareDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2023_To_12_31_2023_IHxyqlup30-oyLx1sW3zzw", "name": "us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "unitRef": "Unit_Standard_shares_vnu4NtdkhUWRPCGTJwessg", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R87": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "longName": "41901 - Disclosure - Stockholders' Equity (Details)", "shortName": "Stockholders' Equity (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "87", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CommonStockSharesAuthorized", "unitRef": "Unit_Standard_shares_vnu4NtdkhUWRPCGTJwessg", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:CommonStockSharesAuthorized", "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "Duration_1_1_2022_To_12_31_2022_fXDi5iYKxE2azPQDARNh2A", "name": "prim:StockIssuedShareBasedCompensationRestrictionPeriodForTrade", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "us-gaap:StockholdersEquityNoteDisclosureTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R88": { "role": "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "longName": "41902 - 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": "88", "firstAnchor": { "contextRef": "As_Of_12_31_2023_dNniaUcnakmL5a7piqUtBw", "name": "us-gaap:CommonStockParOrStatedValuePerShare", "unitRef": "Unit_Divide_USD_shares_ctTBBPDhYkS_KYQI5uRhSQ", "xsiNil": "false", "lang": null, "decimals": "INF", "ancestors": [ "us-gaap:CommonStockParOrStatedValuePerShare", "p", "td", "tr", "table", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": { "contextRef": "As_Of_2_28_2022_awYBFGs6rU6JdzKKth5CPA", "name": "us-gaap:StockRepurchaseProgramAuthorizedAmount1", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-5", "ancestors": [ "p", "ix:continuation", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "unique": true } }, "R89": { "role": "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "longName": "42001 - Disclosure - Selected Quarterly Financial Information (Unaudited) (Details)", "shortName": "Selected Quarterly Financial Information (Unaudited) (Details)", "isDefault": "false", "groupType": "disclosure", "subGroupType": "details", "menuCat": "Details", "order": "89", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R90": { "role": "http://xbrl.sec.gov/ecd/role/PvpDisclosure", "longName": "995410 - Disclosure - Pay vs Performance Disclosure", "shortName": "Pay vs Performance Disclosure", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Uncategorized", "order": "90", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "us-gaap:NetIncomeLoss", "unitRef": "Unit_Standard_USD_VSfgzmRwl0-8evx2bk-bEQ", "xsiNil": "false", "lang": null, "decimals": "-3", "ancestors": [ "p", "td", "tr", "table", "us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock", "us-gaap:QuarterlyFinancialInformationTextBlock", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true }, "uniqueAnchor": null }, "R91": { "role": "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "longName": "995445 - Disclosure - Insider Trading Arrangements", "shortName": "Insider Trading Arrangements", "isDefault": "false", "groupType": "disclosure", "subGroupType": "", "menuCat": "Cover", "order": "91", "firstAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true }, "uniqueAnchor": { "contextRef": "Duration_10_1_2023_To_12_31_2023_c_-XAs4XlE2OFjTRHZFNKg", "name": "ecd:Rule10b51ArrAdoptedFlag", "unitRef": null, "xsiNil": "false", "lang": "en-US", "decimals": null, "ancestors": [ "p", "div", "div", "body", "html" ], "reportCount": 1, "baseRef": "prim-20231231x10k.htm", "first": true, "unique": true } } }, "tag": { "us-gaap_AccountingPoliciesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountingPoliciesAbstract", "lang": { "en-us": { "role": { "label": "Summary of Significant Accounting Policies" } } }, "auth_ref": [] }, "us-gaap_AccountsNotesAndLoansReceivableLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsNotesAndLoansReceivableLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "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": [] }, "us-gaap_AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r27" ] }, "us-gaap_AccountsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r26", "r839" ] }, "us-gaap_AccountsReceivableFromSecuritization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableFromSecuritization", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "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_AccountsReceivableNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Net [Abstract]", "terseLabel": "Accounts receivable" } } }, "auth_ref": [] }, "us-gaap_AccountsReceivableNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableNetCurrent", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "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": [ "r305", "r306" ] }, "us-gaap_AccountsReceivableSale": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccountsReceivableSale", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Accounts Receivable, Sale", "terseLabel": "Sale of accounts receivable", "documentation": "Amount of decrease from sale of accounts receivable." } } }, "auth_ref": [ "r311" ] }, "prim_AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "AccountsReceivableSecuritizationFacilityPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "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_AccountsReceivableSecuritizationTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "AccountsReceivableSecuritizationTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "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/2023", "localname": "AccruedInsuranceCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "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": [ "r31" ] }, "us-gaap_AccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r31" ] }, "us-gaap_AccruedLiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment", "negatedLabel": "Less: accumulated depreciation and amortization", "documentation": "Amount of accumulated depreciation, depletion and amortization for physical assets used in the normal conduct of business to produce goods and services." } } }, "auth_ref": [ "r72", "r207", "r662" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeLossNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r40", "r41", "r134", "r214", "r658", "r686", "r687" ] }, "us-gaap_AccumulatedOtherComprehensiveIncomeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AccumulatedOtherComprehensiveIncomeMember", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "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": [ "r6", "r19", "r41", "r594", "r597", "r639", "r682", "r683", "r952", "r953", "r954", "r962", "r963", "r964" ] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Acquired 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": [] }, "us-gaap_AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AcquiredFiniteLivedIntangibleAssetsWeightedAverageUsefulLife", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Acquired Finite-lived Intangible Assets, Weighted Average Useful Life", "verboseLabel": "Amortization Period", "documentation": "Weighted average amortization period of finite-lived intangible assets acquired either individually or as part of a group of assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r151" ] }, "ecd_Additional402vDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Additional402vDisclosureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Additional 402(v) Disclosure [Text Block]", "terseLabel": "Additional 402(v) Disclosure" } } }, "auth_ref": [ "r894" ] }, "us-gaap_AdditionalPaidInCapitalCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r128" ] }, "us-gaap_AdditionalPaidInCapitalMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdditionalPaidInCapitalMember", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "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": [ "r534", "r535", "r536", "r696", "r962", "r963", "r964", "r1094", "r1118" ] }, "ecd_AdjToCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation Amount", "terseLabel": "Adjustment to Compensation, Amount" } } }, "auth_ref": [ "r900" ] }, "ecd_AdjToCompAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToCompAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Compensation [Axis]", "terseLabel": "Adjustment to Compensation:" } } }, "auth_ref": [ "r900" ] }, "ecd_AdjToNonPeoNeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToNonPeoNeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment to Non-PEO NEO Compensation Footnote [Text Block]", "terseLabel": "Adjustment to Non-PEO NEO Compensation Footnote" } } }, "auth_ref": [ "r900" ] }, "ecd_AdjToPeoCompFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AdjToPeoCompFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Adjustment To PEO Compensation, Footnote [Text Block]", "terseLabel": "Adjustment To PEO Compensation, Footnote" } } }, "auth_ref": [ "r900" ] }, "us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r82", "r83", "r500" ] }, "us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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 operating activities (net of effect of acquisitions):" } } }, "auth_ref": [] }, "ecd_AggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Amount", "terseLabel": "Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r864", "r876", "r886", "r912" ] }, "ecd_AggtErrCompNotYetDeterminedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AggtErrCompNotYetDeterminedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Aggregate Erroneous Compensation Not Yet Determined [Text Block]", "terseLabel": "Aggregate Erroneous Compensation Not Yet Determined" } } }, "auth_ref": [ "r867", "r879", "r889", "r915" ] }, "prim_AlbertaScrewPilesLtdMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "AlbertaScrewPilesLtdMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to Alberta screw piles, ltd.", "label": "ASP" } } }, "auth_ref": [] }, "ecd_AllAdjToCompMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllAdjToCompMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Adjustments to Compensation [Member]", "terseLabel": "All Adjustments to Compensation" } } }, "auth_ref": [ "r900" ] }, "ecd_AllExecutiveCategoriesMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllExecutiveCategoriesMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Executive Categories [Member]", "terseLabel": "All Executive Categories" } } }, "auth_ref": [ "r907" ] }, "ecd_AllIndividualsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllIndividualsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "All Individuals [Member]", "terseLabel": "All Individuals" } } }, "auth_ref": [ "r871", "r880", "r890", "r907", "r916", "r920", "r928" ] }, "ecd_AllTradingArrangementsMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AllTradingArrangementsMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "All Trading Arrangements [Member]", "terseLabel": "All Trading Arrangements" } } }, "auth_ref": [ "r926" ] }, "us-gaap_AllocatedShareBasedCompensationExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AllocatedShareBasedCompensationExpense", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Allocated Share-based Compensation Expense", "terseLabel": "Compensation expense recognized", "documentation": "Amount of expense for award under share-based payment arrangement. Excludes amount capitalized." } } }, "auth_ref": [ "r532", "r541" ] }, "dei_AmendmentFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [ "r10", "r66", "r70" ] }, "us-gaap_Assets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Assets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets", "totalLabel": "Total assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are recognized. Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r171", "r211", "r239", "r275", "r290", "r296", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r584", "r588", "r612", "r654", "r729", "r839", "r854", "r987", "r988", "r1101" ] }, "us-gaap_AssetsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets [Abstract]", "terseLabel": "ASSETS" } } }, "auth_ref": [] }, "us-gaap_AssetsAndLiabilitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "AssetsCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current", "totalLabel": "Total current assets", "documentation": "Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events." } } }, "auth_ref": [ "r203", "r216", "r239", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r584", "r588", "r612", "r839", "r987", "r988", "r1101" ] }, "us-gaap_AssetsCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Assets, Current [Abstract]", "terseLabel": "Current assets:" } } }, "auth_ref": [] }, "us-gaap_AssetsFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AssetsFairValueDisclosureAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Assets, Fair Value Disclosure [Abstract]", "terseLabel": "Assets" } } }, "auth_ref": [] }, "dei_AuditorFirmId": { "xbrltype": "nonemptySequenceNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorFirmId", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Firm ID", "documentation": "PCAOB issued Audit Firm Identifier" } } }, "auth_ref": [ "r858", "r859", "r872" ] }, "dei_AuditorLocation": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorLocation", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Location" } } }, "auth_ref": [ "r858", "r859", "r872" ] }, "dei_AuditorName": { "xbrltype": "internationalNameItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "AuditorName", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Auditor Name" } } }, "auth_ref": [ "r858", "r859", "r872" ] }, "prim_AverageMaximumAmountOfProjectSizeAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "AverageMaximumAmountOfProjectSizeAmount", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureNatureOfBusinessDetails" ], "lang": { "en-us": { "role": { "documentation": "The maximum amount of the average project size.", "label": "Average Maximum Amount Of Project Size Amount", "terseLabel": "Average project size" } } }, "auth_ref": [] }, "ecd_AwardExrcPrice": { "xbrltype": "perShareItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardExrcPrice", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Exercise Price", "terseLabel": "Exercise Price" } } }, "auth_ref": [ "r923" ] }, "ecd_AwardGrantDateFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardGrantDateFairValue", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Grant Date Fair Value", "terseLabel": "Fair Value as of Grant Date" } } }, "auth_ref": [ "r924" ] }, "ecd_AwardTmgDiscLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgDiscLineItems", "lang": { "en-us": { "role": { "label": "Award Timing Disclosures [Line Items]", "terseLabel": "Award Timing Disclosures" } } }, "auth_ref": [ "r919" ] }, "ecd_AwardTmgHowMnpiCnsdrdTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgHowMnpiCnsdrdTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing, How MNPI Considered [Text Block]", "terseLabel": "Award Timing, How MNPI Considered" } } }, "auth_ref": [ "r919" ] }, "ecd_AwardTmgMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Method [Text Block]", "terseLabel": "Award Timing Method" } } }, "auth_ref": [ "r919" ] }, "ecd_AwardTmgMnpiCnsdrdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiCnsdrdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Considered [Flag]", "terseLabel": "Award Timing MNPI Considered" } } }, "auth_ref": [ "r919" ] }, "ecd_AwardTmgMnpiDiscTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgMnpiDiscTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing MNPI Disclosure [Text Block]", "terseLabel": "Award Timing MNPI Disclosure" } } }, "auth_ref": [ "r919" ] }, "ecd_AwardTmgPredtrmndFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardTmgPredtrmndFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Timing Predetermined [Flag]", "terseLabel": "Award Timing Predetermined" } } }, "auth_ref": [ "r919" ] }, "us-gaap_AwardTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "AwardTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "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": [ "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r527", "r528", "r529", "r530", "r531" ] }, "ecd_AwardUndrlygSecuritiesAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardUndrlygSecuritiesAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Award Underlying Securities Amount", "terseLabel": "Underlying Securities" } } }, "auth_ref": [ "r922" ] }, "ecd_AwardsCloseToMnpiDiscIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r921" ] }, "ecd_AwardsCloseToMnpiDiscTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table]", "terseLabel": "Awards Close in Time to MNPI Disclosures" } } }, "auth_ref": [ "r920" ] }, "ecd_AwardsCloseToMnpiDiscTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "AwardsCloseToMnpiDiscTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Awards Close in Time to MNPI Disclosures [Table Text Block]", "terseLabel": "Awards Close in Time to MNPI Disclosures, Table" } } }, "auth_ref": [ "r920" ] }, "prim_BCommConstructorLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BCommConstructorLlcMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to B COMM Constructor, LLC.", "label": "B Comm Holdco, LLC" } } }, "auth_ref": [] }, "us-gaap_BasisOfAccountingPolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BasisOfAccountingPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Basis of Accounting, Policy [Policy Text Block]", "terseLabel": "Basis of presentation", "documentation": "Disclosure of accounting policy for basis of accounting, or basis of presentation, used to prepare the financial statements (for example, US Generally Accepted Accounting Principles, Other Comprehensive Basis of Accounting, IFRS)." } } }, "auth_ref": [] }, "prim_BondsIssuedAndOutstanding": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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_BusinessAcquisitionAcquireeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAcquireeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Acquiree [Domain]", "documentation": "Identification of the acquiree in a material business combination (or series of individually immaterial business combinations), which may include the name or other type of identification of the acquiree." } } }, "auth_ref": [ "r578", "r826", "r829" ] }, "us-gaap_BusinessAcquisitionAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Axis]", "documentation": "Information by business combination or series of individually immaterial business combinations." } } }, "auth_ref": [ "r90", "r92", "r578", "r826", "r829" ] }, "prim_BusinessAcquisitionGoodwillExpectedTaxDeductiblePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionGoodwillExpectedTaxDeductiblePercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of goodwill arising from a business combination that is expected to be deductible for tax purposes.", "label": "Business Acquisition, Goodwill, Expected Tax Deductible Percentage", "terseLabel": "Goodwill expected to be deductible rate" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition [Line Items]", "verboseLabel": "Acquisitions", "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": [ "r578" ] }, "prim_BusinessAcquisitionProFormaEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionProFormaEarningsPerShareAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Earnings Per Share [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Earnings Per Share, Basic", "terseLabel": "Basic (in dollars per share)", "documentation": "The pro forma basic net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r942", "r943" ] }, "us-gaap_BusinessAcquisitionProFormaEarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaEarningsPerShareDiluted", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Earnings Per Share, Diluted", "terseLabel": "Diluted (in dollars per share)", "documentation": "The pro forma diluted net income per share for a period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r942", "r943" ] }, "us-gaap_BusinessAcquisitionProFormaInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Abstract]", "terseLabel": "Pro forma results" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionProFormaInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionProFormaInformationTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Information [Table Text Block]", "terseLabel": "Schedule of pro forma results", "documentation": "Tabular disclosure of pro forma results of operations for a material business acquisition or series of individually immaterial business acquisitions that are material in the aggregate." } } }, "auth_ref": [ "r942", "r943" ] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfDilutedSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma number of diluted weighted average shares outstanding for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Weighted Average Number of Diluted Shares Outstanding", "terseLabel": "Diluted (in shares)" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "-", "label": "Business Acquisition, Pro Forma Weighted Average Number of Shares Outstanding [Abstract]", "terseLabel": "Weighted average common shares outstanding:" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic": { "xbrltype": "sharesItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionProFormaWeightedAverageNumberOfSharesOutstandingBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma number of basic weighted average shares outstanding for a period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisition, Pro Forma Weighted Average Number of Shares Outstanding Basic", "terseLabel": "Basic (in shares)" } } }, "auth_ref": [] }, "prim_BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessAcquisitionsProFormaIncomeLossFromContinuingOperationsBeforeIncomeTaxes", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "The pro forma income from continuing operations before income taxes for the period as if the business combination or combinations had been completed at the beginning of a period.", "label": "Business Acquisitions, Pro Forma Income (Loss) from Continuing Operations before Income Taxes", "terseLabel": "Income before provision for income taxes" } } }, "auth_ref": [] }, "us-gaap_BusinessAcquisitionsProFormaNetIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaNetIncomeLoss", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Net Income (Loss)", "terseLabel": "Net Income", "documentation": "The pro forma net Income or Loss for the period as if the business combination or combinations had been completed at the beginning of a period." } } }, "auth_ref": [ "r576", "r577" ] }, "us-gaap_BusinessAcquisitionsProFormaRevenue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessAcquisitionsProFormaRevenue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Business Acquisition, Pro Forma Revenue", "terseLabel": "Revenue", "documentation": "The pro forma revenue for a period as if the business combination or combinations had been completed at the beginning of the period." } } }, "auth_ref": [ "r576", "r577" ] }, "us-gaap_BusinessCombinationAcquisitionRelatedCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationAcquisitionRelatedCosts", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r89" ] }, "us-gaap_BusinessCombinationConsiderationTransferred1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationConsiderationTransferred1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Consideration Transferred", "terseLabel": "Total purchase consideration", "documentation": "Amount of consideration transferred, consisting of acquisition-date fair value of assets transferred by the acquirer, liabilities incurred by the acquirer, and equity interest issued by the acquirer." } } }, "auth_ref": [ "r2", "r3", "r17" ] }, "us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration Arrangements, Change in Amount of Contingent Consideration, Liability", "verboseLabel": "Change in fair value of contingent consideration liability during year", "documentation": "Amount of increase (decrease) in the value of a contingent consideration liability, including, but not limited to, differences arising upon settlement." } } }, "auth_ref": [ "r582", "r956" ] }, "us-gaap_BusinessCombinationContingentConsiderationAssetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationAssetAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Asset [Abstract]", "terseLabel": "Contingent consideration" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationContingentConsiderationLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationContingentConsiderationLiability", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Contingent Consideration, Liability", "terseLabel": "Earnout", "documentation": "Amount of liability recognized arising from contingent consideration in a business combination." } } }, "auth_ref": [ "r4", "r98", "r581" ] }, "us-gaap_BusinessCombinationDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinations" ], "lang": { "en-us": { "role": { "label": "Business Combination Disclosure [Text Block]", "terseLabel": "Acquisitions", "documentation": "The entire disclosure for a business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities. The disclosure may include leverage buyout transactions (as applicable)." } } }, "auth_ref": [ "r166", "r579" ] }, "us-gaap_BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProFormaInformationEarningsOrLossOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Pro Forma Information, Earnings or Loss of Acquiree since Acquisition Date, Actual", "terseLabel": "Gross profit since acquisition", "documentation": "This element represents the amount of earnings or loss of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [ "r91" ] }, "us-gaap_BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProFormaInformationRevenueOfAcquireeSinceAcquisitionDateActual", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Pro Forma Information, Revenue of Acquiree since Acquisition Date, Actual", "terseLabel": "Revenue since acquisition", "documentation": "This element represents the amount of revenue of the acquiree since the acquisition date included in the consolidated income statement for the reporting period." } } }, "auth_ref": [ "r91" ] }, "prim_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentContractLiabilities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to contract liabilities assumed in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Contract Liabilities", "terseLabel": "Increase in contract liabilities" } } }, "auth_ref": [] }, "prim_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxes": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentDeferredTaxes", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred taxes acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Deferred Taxes", "terseLabel": "Change in deferred taxes" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentIntangibles", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Intangibles", "terseLabel": "Increase (decrease) to intangible assets", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to intangibles acquired in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r95" ] }, "us-gaap_BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationProvisionalInformationInitialAccountingIncompleteAdjustmentPropertyPlantAndEquipment", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Provisional Information, Initial Accounting Incomplete, Adjustment, Property, Plant, and Equipment", "terseLabel": "Increase (decrease) in fixed assets", "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to property, plant, and equipment acquired in connection with a business combination for which the initial accounting was incomplete." } } }, "auth_ref": [ "r95" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCashAndEquivalents", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Cash and Equivalents", "terseLabel": "Cash, cash equivalents and restricted cash", "documentation": "Amount of currency on hand as well as demand deposits with banks or financial institutions, acquired at the acquisition date. Includes other kinds of accounts that have the general characteristics of demand deposits. Also includes short-term, highly liquid investments that are both readily convertible to known amounts of cash and so near their maturity that they present insignificant risk of changes in value because of changes in interest rates." } } }, "auth_ref": [ "r94" ] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsContractAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsContractAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of contract assets expected to be realized before one year or the normal operating cycle, if longer, acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Contract Assets", "terseLabel": "Contract assets" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsPrepaidExpenseAndOtherAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Prepaid Expense and Other Assets", "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, acquired at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentAssetsReceivables", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Assets, Receivables", "terseLabel": "Accounts receivable", "documentation": "Amount due from customers or clients for goods or services, including trade receivables, that have been delivered or sold in the normal course of business, and amounts due from others, including related parties expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesAccountsPayable", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 10.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Accounts Payable", "negatedLabel": "Accounts payable and accrued liabilities", "documentation": "Amount of liabilities incurred for goods and services received that are used in an entity's business and related party payables, assumed at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesContractLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedCurrentLiabilitiesContractLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 11.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of contract liabilities due within one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Current Liabilities, Contract Liabilities", "negatedLabel": "Contract liabilities" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedDeferredTaxAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination Recognized Identifiable Assets Acquired and Liabilities Assumed, Deferred Tax Assets", "verboseLabel": "Deferred tax assets", "documentation": "Amount of deferred tax asset attributable to deductible temporary differences and carryforwards acquired at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibleAssetsOtherThanGoodwill", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Intangible Assets, Other than Goodwill", "terseLabel": "Intangibles assets", "documentation": "Amount of intangible assets, excluding goodwill, acquired at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedIntangibles", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Finite-Lived Intangibles", "terseLabel": "Intangible assets", "documentation": "The amount of identifiable intangible assets recognized as of the acquisition date." } } }, "auth_ref": [ "r93", "r94" ] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedLongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of long-term debt, including current portion, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Long-term Debt", "negatedLabel": "Long-term debt (including current portion)" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net", "totalLabel": "Total identifiable net assets", "documentation": "Amount recognized as of the acquisition date for the identifiable assets acquired in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r93", "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNetAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Net [Abstract]", "terseLabel": "Identifiable assets acquired and liabilities assumed" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOperatingLeaseLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of operating lease liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Operating Lease Liabilities", "negatedLabel": "Noncurrent operating lease liabilities, net of current" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNoncurrentLiabilitiesOther", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": -1.0, "order": 14.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Noncurrent Liabilities, Other", "negatedLabel": "Other long-term liabilities", "documentation": "Amount of other liabilities due after one year or the normal operating cycle, if longer, assumed at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOperatingLeaseAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of operating lease assets recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Operating Lease Assets", "terseLabel": "Operating lease assets" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedOtherNoncurrentAssets", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Other Noncurrent Assets", "terseLabel": "Other long-term assets", "documentation": "Amount of other assets expected to be realized or consumed after one year or the normal operating cycle, if longer, acquired at the acquisition date." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment", "positiveTerseLabel": "Property, plant and equipment", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, fixed assets", "documentation": "The amount of property, plant, and equipment recognized as of the acquisition date." } } }, "auth_ref": [ "r93", "r94" ] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment [Abstract]", "terseLabel": "Preliminary estimated fair values" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAndWorkingCapitalTotal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedPropertyPlantAndEquipmentAndWorkingCapitalTotal", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of property, plant, and equipment and working capital recognized as of the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Property, Plant, and Equipment, And, Working Capital, Total", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, fixed assets and working capital" } } }, "auth_ref": [] }, "prim_BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedWorkingCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredAndLiabilitiesAssumedWorkingCapital", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of working capital acquired at the acquisition date.", "label": "Business Combination, Recognized Identifiable Assets Acquired and Liabilities Assumed, Working Capital", "terseLabel": "Estimated fair values of the assets acquired and liabilities assumed, working capital" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Total", "totalLabel": "Total", "documentation": "Amount recognized for assets, including goodwill, in excess of (less than) the aggregate liabilities assumed." } } }, "auth_ref": [ "r94" ] }, "us-gaap_BusinessCombinationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsAbstract", "lang": { "en-us": { "role": { "label": "Acquisitions" } } }, "auth_ref": [] }, "us-gaap_BusinessCombinationsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "BusinessCombinationsPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Business Combinations Policy [Policy Text Block]", "terseLabel": "Business combinations", "documentation": "Disclosure of accounting policy for completed business combinations (purchase method, acquisition method or combination of entities under common control). This accounting policy may include a general discussion of the purchase method or acquisition method of accounting (including for example, the treatment accorded contingent consideration, the identification of assets and liabilities, the purchase price allocation process, how the fair values of acquired assets and liabilities are determined) and the entity's specific application thereof. An entity that acquires another entity in a leveraged buyout transaction generally discloses the accounting policy followed by the acquiring entity in determining the basis used to value its interest in the acquired entity, and the rationale for that accounting policy." } } }, "auth_ref": [ "r88" ] }, "country_CA": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "CA", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Canada" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents [Abstract]", "terseLabel": "Cash concentration" } } }, "auth_ref": [] }, "us-gaap_CashAndCashEquivalentsAtCarryingValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsAtCarryingValue", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, at Carrying Value", "terseLabel": "Cash and cash equivalents", "verboseLabel": "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": [ "r48", "r205", "r800" ] }, "us-gaap_CashAndCashEquivalentsFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "us-gaap_CashAndCashEquivalentsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Cash and Cash Equivalents, Policy [Policy Text Block]", "terseLabel": "Cash and cash equivalents", "documentation": "Disclosure of accounting policy for cash and cash equivalents, including the policy for determining which items are treated as cash equivalents. Other information that may be disclosed includes (1) the nature of any restrictions on the entity's use of its cash and cash equivalents, (2) whether the entity's cash and cash equivalents are insured or expose the entity to credit risk, (3) the classification of any negative balance accounts (overdrafts), and (4) the carrying basis of cash equivalents (for example, at cost) and whether the carrying amount of cash equivalents approximates fair value." } } }, "auth_ref": [ "r49" ] }, "us-gaap_CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashAndCashEquivalentsRestrictedCashAndCashEquivalentsPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "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": [ "r49", "r170" ] }, "prim_CashAndRestrictedCashAcquiredFromAcquisition": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CashAndRestrictedCashAcquiredFromAcquisition", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The cash and restricted cash inflow associated with the acquisition of business during the period (for example, cash that was held by the acquired business).", "label": "Cash and Restricted Cash Acquired from Acquisition", "negatedLabel": "Less cash and restricted cash acquired" } } }, "auth_ref": [] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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 year", "periodStartLabel": "Cash, cash equivalents and restricted cash at beginning of the year", "totalLabel": "Total cash, cash equivalents and restricted cash shown in the 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": [ "r48", "r144", "r235" ] }, "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r5", "r144" ] }, "prim_CashConcentrationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CashConcentrationPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for cash concentration.", "label": "Cash Concentration [Policy Text Block]", "terseLabel": "Cash concentration" } } }, "auth_ref": [] }, "us-gaap_CashFlowOperatingActivitiesLesseeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CashFlowOperatingActivitiesLesseeAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Cash Flow, Operating Activities, Lessee [Abstract]", "terseLabel": "Cash paid for amounts included in the measurement of lease liabilities" } } }, "auth_ref": [] }, "prim_CentralPensionFundMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CentralPensionFundMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the multiemployer benefit plan of Central Pension Fund of the International Union of Operating Engineers and Participating Employers.", "label": "Central Pension Fund of the International Union of Operating Engineers and Participating Employers" } } }, "auth_ref": [] }, "us-gaap_ChangeInAccountingEstimateByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingEstimateByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Estimate by Type [Axis]", "documentation": "Information by type of change in accounting estimate." } } }, "auth_ref": [ "r51", "r252" ] }, "us-gaap_ChangeInAccountingEstimateTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingEstimateTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Estimate, Type [Domain]", "documentation": "Identification of the accounting estimate that was changed that had the effect of adjusting the carrying amount of an existing asset or liability, or that will alter the subsequent accounting for existing or future assets or liabilities." } } }, "auth_ref": [ "r51", "r252" ] }, "us-gaap_ChangeInAccountingMethodAccountedForAsChangeInEstimateMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ChangeInAccountingMethodAccountedForAsChangeInEstimateMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Change in Accounting Method Accounted for as Change in Estimate [Member]", "terseLabel": "Change in Accounting Method Accounted for as Change in Estimate", "documentation": "A change from one acceptable accounting method to another based upon a revision in estimated future benefits or obligations." } } }, "auth_ref": [] }, "ecd_ChangedPeerGroupFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ChangedPeerGroupFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Changed Peer Group, Footnote [Text Block]", "terseLabel": "Changed Peer Group, Footnote" } } }, "auth_ref": [ "r898" ] }, "dei_CityAreaCode": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "localname": "CoSelectedMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Amount", "terseLabel": "Company Selected Measure Amount" } } }, "auth_ref": [ "r899" ] }, "ecd_CoSelectedMeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CoSelectedMeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Company Selected Measure Name", "terseLabel": "Company Selected Measure Name" } } }, "auth_ref": [ "r899" ] }, "prim_CollectiveBargainingAgreementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CollectiveBargainingAgreementsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Collective Bargaining Agreements [Abstract]", "terseLabel": "Collective bargaining agreements" } } }, "auth_ref": [] }, "prim_CollectiveBargainingAgreementsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CollectiveBargainingAgreementsPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for collective bargaining agreements. A collective bargaining arrangement is a written and legally enforceable employment contract agreement between the management of an organization and its employees represented by a union.", "label": "Collective Bargaining Agreements [Policy Text Block]", "terseLabel": "Collective bargaining agreements" } } }, "auth_ref": [] }, "prim_CommercialEquipmentFinancingDueJune2018ToAugust2022Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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 notes" } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingencies": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingencies", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Commitments and Contingencies", "terseLabel": "Commitments and contingencies (See Note 12)", "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": [ "r36", "r119", "r656", "r716" ] }, "us-gaap_CommitmentsAndContingenciesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommitmentsAndContingenciesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Commitments and Contingencies." } } }, "auth_ref": [] }, "us-gaap_CommitmentsAndContingenciesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r156", "r334", "r335", "r786", "r986" ] }, "us-gaap_CommonStockDividendsPerShareDeclared": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockDividendsPerShareDeclared", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquityParenthetical" ], "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": [ "r161" ] }, "us-gaap_CommonStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockMember", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Common Stock", "documentation": "Stock that is subordinate to all other stock of the issuer." } } }, "auth_ref": [ "r841", "r842", "r843", "r845", "r846", "r847", "r850", "r962", "r963", "r1094", "r1116", "r1118" ] }, "us-gaap_CommonStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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 Disclosures [Abstract]", "terseLabel": "Common Stock", "verboseLabel": "Secondary Offering" } } }, "auth_ref": [] }, "us-gaap_CommonStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockParOrStatedValuePerShare", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r127" ] }, "us-gaap_CommonStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesAuthorized", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r127", "r717" ] }, "us-gaap_CommonStockSharesIssued": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesIssued", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r127" ] }, "us-gaap_CommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "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": [ "r20", "r127", "r717", "r735", "r1118", "r1119" ] }, "us-gaap_CommonStockValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CommonStockValue", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Common Stock, Value, Issued", "terseLabel": "Common stock-$0.0001 par value; 90,000,000 shares authorized; 53,366,327 and 53,124,899 issued and outstanding at December 31, 2023 and December 31, 2022, 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": [ "r127", "r657", "r839" ] }, "ecd_CompActuallyPaidVsCoSelectedMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsCoSelectedMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Company Selected Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Company Selected Measure" } } }, "auth_ref": [ "r904" ] }, "ecd_CompActuallyPaidVsNetIncomeTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsNetIncomeTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Net Income [Text Block]", "terseLabel": "Compensation Actually Paid vs. Net Income" } } }, "auth_ref": [ "r903" ] }, "ecd_CompActuallyPaidVsOtherMeasureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsOtherMeasureTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Other Measure [Text Block]", "terseLabel": "Compensation Actually Paid vs. Other Measure" } } }, "auth_ref": [ "r905" ] }, "ecd_CompActuallyPaidVsTotalShareholderRtnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "CompActuallyPaidVsTotalShareholderRtnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Compensation Actually Paid vs. Total Shareholder Return [Text Block]", "terseLabel": "Compensation Actually Paid vs. Total Shareholder Return" } } }, "auth_ref": [ "r902" ] }, "us-gaap_CompensationAndRetirementDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationAndRetirementDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Employee Benefit Plans" } } }, "auth_ref": [] }, "us-gaap_CompensationRelatedCostsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationRelatedCostsAbstract", "lang": { "en-us": { "role": { "label": "Stock-Based Compensation" } } }, "auth_ref": [] }, "us-gaap_CompensationRelatedCostsGeneralTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CompensationRelatedCostsGeneralTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensation" ], "lang": { "en-us": { "role": { "label": "Compensation Related Costs, General [Text Block]", "terseLabel": "Stock-Based Compensation", "documentation": "The entire disclosure for compensation costs, including compensated absences accruals, compensated absences liability, deferred compensation arrangements and income statement compensation items. Deferred compensation arrangements may include a description of an arrangement with an individual employee, which is generally an employment contract between the entity and a selected officer or key employee containing a promise by the employer to pay certain amounts at designated future dates, usually including a period after retirement, upon compliance with stipulated requirements. This type of arrangement is distinguished from broader based employee benefit plans as it is usually tailored to the employee. Disclosure also typically includes the amount of related compensation expense recognized during the reporting period, the number of shares (units) issued during the period under such arrangements, and the carrying amount as of the balance sheet date of the related liability." } } }, "auth_ref": [ "r409", "r410" ] }, "us-gaap_ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxAssetsAndLiabilitiesAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Tax effect of temporary differences that give rise to deferred income taxes" } } }, "auth_ref": [] }, "us-gaap_ComponentsOfDeferredTaxLiabilitiesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComponentsOfDeferredTaxLiabilitiesAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred tax liabilities" } } }, "auth_ref": [] }, "us-gaap_ComprehensiveIncomeNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "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": [ "r42", "r221", "r223", "r228", "r650", "r667" ] }, "us-gaap_ComprehensiveIncomeNetOfTaxAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomeNetOfTaxAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome" ], "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_ComprehensiveIncomePolicyPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ComprehensiveIncomePolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Comprehensive Income, Policy [Policy Text Block]", "terseLabel": "Comprehensive income", "documentation": "Disclosure of accounting policy for comprehensive income." } } }, "auth_ref": [] }, "us-gaap_ConcentrationRiskBenchmarkDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskBenchmarkDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Domain]", "documentation": "The denominator in a calculation of a disclosed concentration risk percentage." } } }, "auth_ref": [ "r53", "r55", "r113", "r114", "r304", "r785" ] }, "us-gaap_ConcentrationRiskByBenchmarkAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByBenchmarkAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk Benchmark [Axis]", "documentation": "Information by benchmark of concentration risk." } } }, "auth_ref": [ "r53", "r55", "r113", "r114", "r304", "r688", "r785" ] }, "us-gaap_ConcentrationRiskByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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": [ "r53", "r55", "r113", "r114", "r304", "r785", "r941" ] }, "us-gaap_ConcentrationRiskCreditRisk": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskCreditRisk", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "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": [ "r121", "r185" ] }, "us-gaap_ConcentrationRiskLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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": [ "r785" ] }, "prim_ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ConcentrationRiskMinimumPercentageOfRevenuesGeneratedBySpecifiedNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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_ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ConcentrationRiskNumberOfCalendarYearsInWhichTopCustomersGenerateSpecifiedPercentageOfRevenue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of calendar years in which top customers typically generate minimum specified percentage of revenue.", "label": "Concentration Risk, Number of Calendar Years in which Top Customers Generate Specified Percentage of Revenue", "terseLabel": "Number of calendar years in which top customers typically generate minimum specified percentage of revenue" } } }, "auth_ref": [] }, "prim_ConcentrationRiskNumberOfTopCustomers": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ConcentrationRiskNumberOfTopCustomers", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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/2023", "localname": "ConcentrationRiskPercentage1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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": [ "r53", "r55", "r113", "r114", "r304" ] }, "us-gaap_ConcentrationRiskTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Concentration Risk [Table]", "documentation": "Describes the nature of a concentration, a benchmark to which it is compared, and the percentage that the risk is to the benchmark." } } }, "auth_ref": [ "r52", "r53", "r55", "r56", "r113", "r169", "r785" ] }, "us-gaap_ConcentrationRiskTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConcentrationRiskTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "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": [ "r53", "r55", "r113", "r114", "r304", "r785" ] }, "us-gaap_ConsolidationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Policy [Policy Text Block]", "terseLabel": "Principles of consolidation", "documentation": "Disclosure of accounting policy regarding (1) the principles it follows in consolidating or combining the separate financial statements, including the principles followed in determining the inclusion or exclusion of subsidiaries or other entities in the consolidated or combined financial statements and (2) its treatment of interests (for example, common stock, a partnership interest or other means of exerting influence) in other entities, for example consolidation or use of the equity or cost methods of accounting. The accounting policy may also address the accounting treatment for intercompany accounts and transactions, noncontrolling interest, and the income statement treatment in consolidation for issuances of stock by a subsidiary." } } }, "auth_ref": [ "r99", "r802" ] }, "us-gaap_ConsolidationVariableInterestEntityPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConsolidationVariableInterestEntityPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Consolidation, Variable Interest Entity, Policy [Policy Text Block]", "terseLabel": "Partnerships and joint ventures", "documentation": "Disclosure of accounting policy for consolidation to describe the significant judgments and assumptions made in determining whether a variable interest held by the entity requires the variable interest entity to be consolidated and (or) disclose information about its involvement with the variable interest entity; the methodology used by the entity for determining whether or not it is the primary beneficiary of the variable interest entity; and the significant factors considered and judgments made in determining that the power to direct the activities that significantly impact the economic performance of the variable interest entity are shared (as defined)." } } }, "auth_ref": [ "r100", "r101", "r102" ] }, "prim_ConstructionEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ConstructionEquipmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the construction equipment.", "label": "Construction equipment" } } }, "auth_ref": [] }, "us-gaap_ConstructionInProgressMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ConstructionInProgressMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Construction in progress", "documentation": "Structure or a modification to a structure under construction. Includes recently completed structures or modifications to structures that have not been placed into service." } } }, "auth_ref": [] }, "prim_ConstructionLaborersPensionTrustForSouthernCaliforniaMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ConstructionLaborersPensionTrustForSouthernCaliforniaMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the multiemployer benefit plan of Construction Laborers Pension Trust for Southern California.", "label": "Construction Laborers Pension Trust for Southern California" } } }, "auth_ref": [] }, "us-gaap_ContingentConsiderationClassifiedAsEquityFairValueDisclosure": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContingentConsiderationClassifiedAsEquityFairValueDisclosure", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Contingent Consideration Classified as Equity, Fair Value Disclosure", "terseLabel": "Estimated fair value of the contingent consideration", "documentation": "Fair value of contingent consideration in a business combination that is classified in shareholders' equity." } } }, "auth_ref": [ "r112" ] }, "prim_ContingentConsiderationLiabilitiesFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ContingentConsiderationLiabilitiesFairValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Fair value of contingent consideration liabilities.", "label": "Contingent Consideration Liabilities, Fair Value", "terseLabel": "Contingent consideration", "verboseLabel": "Estimated fair value of the contingent consideration" } } }, "auth_ref": [] }, "prim_ContingentEarnoutLiabilitiesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ContingentEarnoutLiabilitiesPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for contingent earnout liabilities related to acquisitions.", "label": "Contingent Earnout Liabilities [Policy Text Block]", "terseLabel": "Contingent Earnout Liabilities" } } }, "auth_ref": [] }, "prim_ContractWithCustomerAccountsPayableDueToSubcontractors": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "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": [ "r815" ] }, "us-gaap_ContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ContractWithCustomerAssetNetCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 3.0 }, "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Contract with Customer, Asset, Net, 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": [ "r392", "r394", "r406" ] }, "prim_ContractWithCustomerAssetTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "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": [ "r819", "r991" ] }, "us-gaap_ContractWithCustomerBasisOfPricingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r819", "r991" ] }, "prim_ContractWithCustomerLiabilityAccruedLossProvisionCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ContractWithCustomerLiabilityAccruedLossProvisionCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0, "order": 1.0 } }, "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/2023", "localname": "ContractWithCustomerLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r392", "r393", "r406" ] }, "prim_ContractWithCustomerLiabilityDeferredRevenueCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ContractWithCustomerLiabilityDeferredRevenueCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractLiabilitiesDetails": { "parentTag": "us-gaap_ContractWithCustomerLiabilityCurrent", "weight": 1.0, "order": 2.0 } }, "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/20231231", "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/2023", "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": [ "r407" ] }, "prim_ContractWithCustomerLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "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": [ "r401" ] }, "us-gaap_CostOfGoodsAndServicesSold": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CostOfGoodsAndServicesSold", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Cost of Services, Excluding Depreciation, Depletion, and Amortization", "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": [ "r139", "r646" ] }, "prim_CostReimbursableContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "CostReimbursableContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for cost reimbursable contract.", "label": "Cost reimbursable" } } }, "auth_ref": [] }, "dei_CoverAbstract": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "CoverAbstract", "lang": { "en-us": { "role": { "label": "Document and Entity Information", "documentation": "Cover page." } } }, "auth_ref": [] }, "prim_CreditAgreementThresholdRestrictionPercentageOfDisposalOfTotalAssets": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/20231231", "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": "Canadian Credit Facility" } } }, "auth_ref": [] }, "prim_CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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 Agreement." } } }, "auth_ref": [] }, "us-gaap_CurrentFederalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentFederalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Federal Tax Expense (Benefit)", "terseLabel": "Federal", "documentation": "Amount of current federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r945", "r960", "r1088" ] }, "dei_CurrentFiscalYearEndDate": { "xbrltype": "gMonthDayItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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_CurrentForeignTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentForeignTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Foreign Tax Expense (Benefit)", "terseLabel": "Foreign", "documentation": "Amount of current foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r945", "r960" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current Income Tax Expense (Benefit)", "totalLabel": "Total", "documentation": "Amount of current income tax expense (benefit) pertaining to taxable income (loss) from continuing operations." } } }, "auth_ref": [ "r165", "r564", "r570", "r960" ] }, "us-gaap_CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current provision" } } }, "auth_ref": [] }, "us-gaap_CurrentStateAndLocalTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CurrentStateAndLocalTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Current State and Local Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of current state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, current regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r945", "r960", "r1088" ] }, "us-gaap_CustomerConcentrationRiskMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerConcentrationRiskMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r54", "r304" ] }, "us-gaap_CustomerRelationshipsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "CustomerRelationshipsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Customer relationships", "documentation": "Customer relationship that exists between an entity and its customer, for example, but not limited to, tenant relationships." } } }, "auth_ref": [ "r97" ] }, "us-gaap_DebtDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Credit Arrangements" } } }, "auth_ref": [] }, "us-gaap_DebtDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r157", "r237", "r349", "r355", "r356", "r357", "r358", "r359", "r360", "r365", "r372", "r373", "r375" ] }, "us-gaap_DebtInstrumentBasisSpreadOnVariableRate1": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "DebtInstrumentCarryingAmount", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Gross", "terseLabel": "Total debt", "totalLabel": "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": [ "r25", "r174", "r376" ] }, "us-gaap_DebtInstrumentFaceAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r116", "r118", "r350", "r624", "r810", "r811" ] }, "prim_DebtInstrumentIncreaseInPrincipalAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DebtInstrumentIncreaseInPrincipalAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of increase in aggregate principal amount borrowed during the period.", "label": "Debt Instrument, Increase In Principal Amount", "terseLabel": "Increase in loan availability" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentInterestRateStatedPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentInterestRateStatedPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Interest Rate, Stated Percentage", "terseLabel": "Interest rate (as a percent)", "documentation": "Contractual interest rate for funds borrowed, under the debt agreement." } } }, "auth_ref": [ "r33", "r351" ] }, "us-gaap_DebtInstrumentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r243", "r350", "r351", "r352", "r353", "r354", "r356", "r361", "r362", "r363", "r364", "r366", "r367", "r368", "r369", "r370", "r371", "r374", "r624", "r809", "r810", "r811", "r812", "r813", "r958" ] }, "us-gaap_DebtInstrumentPeriodicPaymentPrincipal": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DebtInstrumentPeriodicPaymentPrincipal", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Instrument, Periodic Payment, Principal", "terseLabel": "Quarterly principal payment", "documentation": "Amount of the required periodic payments applied to principal." } } }, "auth_ref": [ "r34" ] }, "prim_DebtInstrumentPrepaymentPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DebtInstrumentPrepaymentPayable", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of prepayment to be paid on the debt instrument.", "label": "Debt Instrument, Prepayment Payable", "terseLabel": "Prepayment to be paid on debt" } } }, "auth_ref": [] }, "us-gaap_DebtInstrumentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": "A table or schedule providing information pertaining to long-term 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 company, if longer." } } }, "auth_ref": [ "r34", "r76", "r77", "r115", "r116", "r118", "r120", "r159", "r160", "r243", "r350", "r351", "r352", "r353", "r354", "r356", "r361", "r362", "r363", "r364", "r366", "r367", "r368", "r369", "r370", "r371", "r374", "r624", "r809", "r810", "r811", "r812", "r813", "r958" ] }, "prim_DebtInstrumentVariableRateFederalFundsRateMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DebtInstrumentVariableRateFederalFundsRateMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "The federal funds rate used to calculate the variable interest rate of the debt instrument.", "label": "Federal funds rate" } } }, "auth_ref": [] }, "us-gaap_DebtWeightedAverageInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "us-gaap_DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Decrease in Unrecognized Tax Benefits is Reasonably Possible", "terseLabel": "Reasonably possible decrease in unrecognized tax benefits", "documentation": "Amount of decrease reasonably possible in the next twelve months for the unrecognized tax benefit." } } }, "auth_ref": [ "r85" ] }, "prim_DeferralOfFicaTaxPaymentsReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferralOfFicaTaxPaymentsReserve", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the amount of the deferred FICA tax payments allowed under the Coronavirus Aid, Relief and Economic Security Act.", "label": "Deferral of FICA Tax Payments Reserve", "terseLabel": "Deferred FICA tax payments reserve" } } }, "auth_ref": [] }, "prim_DeferredCompensationArrangementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredCompensationArrangementLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Arrangement [Line Items]", "terseLabel": "Deferred compensation agreements" } } }, "auth_ref": [] }, "prim_DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredCompensationArrangementPercentageOfAverageMarketClosingPricesUsedInDeterminingNumberOfCommonStockThatCouldBePurchasedByParticipants", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "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": [] }, "prim_DeferredCompensationArrangementTable": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredCompensationArrangementTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "documentation": "Information pertaining to deferred compensation arrangement of the entity.", "label": "Deferred Compensation Arrangement [Table]" } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationLiabilityClassifiedNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationLiabilityClassifiedNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Liability, Classified, Noncurrent", "terseLabel": "Deferred compensation liability", "documentation": "Aggregate carrying value as of the balance sheet date of the liabilities for all deferred compensation arrangements payable beyond one year (or the operating cycle, if longer)." } } }, "auth_ref": [] }, "us-gaap_DeferredCompensationPlanAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredCompensationPlanAssets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Compensation Plan Assets", "terseLabel": "Deferred compensation assets", "documentation": "Carrying amount as of the balance sheet date of assets held under deferred compensation agreements." } } }, "auth_ref": [ "r948" ] }, "us-gaap_DeferredFederalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFederalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Federal Income Tax Expense (Benefit)", "terseLabel": "Federal", "documentation": "Amount of deferred federal tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred national tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r960", "r1087", "r1088" ] }, "us-gaap_DeferredFinanceCostsGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredFinanceCostsGross", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Debt Issuance Costs, Gross", "terseLabel": "Debt issuance costs", "documentation": "Amount, before accumulated amortization, of debt issuance costs. Includes, but is not limited to, legal, accounting, underwriting, printing, and registration costs." } } }, "auth_ref": [ "r117" ] }, "us-gaap_DeferredForeignIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredForeignIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Foreign Income Tax Expense (Benefit)", "terseLabel": "Foreign", "documentation": "Amount of deferred foreign income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r165", "r960", "r1087" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Income Tax Expense (Benefit)", "totalLabel": "Total", "documentation": "Amount of deferred income tax expense (benefit) pertaining to income (loss) from continuing operations." } } }, "auth_ref": [ "r10", "r165", "r193", "r569", "r570", "r960" ] }, "us-gaap_DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred provision (benefit)" } } }, "auth_ref": [] }, "us-gaap_DeferredIncomeTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Gross", "negatedTotalLabel": "Total deferred tax liabilities", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences." } } }, "auth_ref": [ "r124", "r125", "r172", "r559" ] }, "us-gaap_DeferredIncomeTaxLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredIncomeTaxLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net, Noncurrent", "verboseLabel": "Deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences with jurisdictional netting." } } }, "auth_ref": [ "r546", "r547", "r655" ] }, "us-gaap_DeferredStateAndLocalIncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredStateAndLocalIncomeTaxExpenseBenefit", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred State and Local Income Tax Expense (Benefit)", "terseLabel": "State", "documentation": "Amount of deferred state and local tax expense (benefit) attributable to income (loss) from continuing operations. Includes, but is not limited to, deferred regional, territorial, and provincial tax expense (benefit) for non-US (United States of America) jurisdiction." } } }, "auth_ref": [ "r960", "r1087", "r1088" ] }, "prim_DeferredTaxAssetsCapitalizedResearchAndDevelopment": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxAssetsCapitalizedResearchAndDevelopment", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from research costs.", "label": "Deferred Tax Assets, Capitalized Research and Development", "terseLabel": "Capitalized research" } } }, "auth_ref": [] }, "prim_DeferredTaxAssetsDisallowedInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxAssetsDisallowedInterest", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from disallowed interest.", "label": "Deferred Tax Assets, Disallowed Interest", "terseLabel": "Disallowed interest" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Net of Valuation Allowance", "totalLabel": "Total deferred tax assets", "documentation": "Amount after allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences and carryforwards." } } }, "auth_ref": [ "r1085" ] }, "us-gaap_DeferredTaxAssetsNetOfValuationAllowanceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsNetOfValuationAllowanceAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred tax assets:" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsOperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsOperatingLossCarryforwards", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Operating Loss Carryforwards", "terseLabel": "Net operating losses", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible operating loss carryforwards." } } }, "auth_ref": [ "r87", "r1086" ] }, "us-gaap_DeferredTaxAssetsTaxCreditCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxCreditCarryforwards", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Credit Carryforwards", "terseLabel": "Tax credits", "documentation": "Amount, before allocation of a valuation allowances, of deferred tax assets attributable to deductible tax credit carryforwards including, but not limited to, research, foreign, general business, alternative minimum tax, and other deductible tax credit carryforwards." } } }, "auth_ref": [ "r86", "r87", "r1086" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Compensation and Benefits, Employee Compensation", "terseLabel": "Accrued compensation", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from employee compensation." } } }, "auth_ref": [ "r87", "r1086" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseOther": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseOther", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Other", "terseLabel": "Other", "documentation": "Amount, before allocation of valuation allowance, of deferred tax asset attributable to deductible temporary differences from provisions, reserves, allowances, and accruals, classified as other." } } }, "auth_ref": [ "r87", "r1086" ] }, "prim_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLeaseLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLeaseLiabilities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from lease liabilities.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Lease Liabilities", "terseLabel": "Lease liabilities" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLossReserves", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Loss Reserves", "terseLabel": "Loss reserves", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from loss reserves other than estimated credit losses." } } }, "auth_ref": [ "r87", "r1086" ] }, "us-gaap_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsUnearnedPremiumsReserve": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsUnearnedPremiumsReserve", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Unearned Premiums Reserve", "terseLabel": "Insurance reserves", "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from the unearned premiums reserve." } } }, "auth_ref": [ "r87", "r1086" ] }, "prim_DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWorkersCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWorkersCompensation", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxAssetsNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount before allocation of valuation allowances of deferred tax asset attributable to deductible temporary differences from workers compensation.", "label": "Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Workers Compensation", "terseLabel": "Accrued workers compensation" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxAssetsValuationAllowance": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxAssetsValuationAllowance", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Assets, Valuation Allowance", "negatedLabel": "Valuation allowance", "documentation": "Amount of deferred tax assets for which it is more likely than not that a tax benefit will not be realized." } } }, "auth_ref": [ "r560" ] }, "us-gaap_DeferredTaxLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Net", "negatedTotalLabel": "Net deferred tax liabilities", "documentation": "Amount, after deferred tax asset, of deferred tax liability attributable to taxable differences without jurisdictional netting." } } }, "auth_ref": [ "r84", "r1085" ] }, "prim_DeferredTaxLiabilitiesLeaseAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxLiabilitiesLeaseAssets", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from lease assets.", "label": "Deferred Tax Liabilities, Lease Assets", "negatedLabel": "Lease assets" } } }, "auth_ref": [] }, "prim_DeferredTaxLiabilitiesPrepaidExpensesAndOther": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DeferredTaxLiabilitiesPrepaidExpensesAndOther", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of deferred tax consequences attributable to taxable temporary differences derived from prepaid and other expenses.", "label": "Deferred Tax Liabilities Prepaid Expenses And Other", "negatedLabel": "Prepaid expense and other" } } }, "auth_ref": [] }, "us-gaap_DeferredTaxLiabilitiesPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DeferredTaxLiabilitiesPropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_DeferredIncomeTaxLiabilities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Deferred Tax Liabilities, Property, Plant and Equipment", "negatedLabel": "Depreciation and amortization", "documentation": "Amount of deferred tax liability attributable to taxable temporary differences from property, plant, and equipment." } } }, "auth_ref": [ "r87", "r1086" ] }, "us-gaap_DefinedContributionPlanCostRecognized": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanCostRecognized", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Cost Recognized", "terseLabel": "Employer's contribution", "documentation": "Amount of cost for defined contribution plan." } } }, "auth_ref": [ "r483" ] }, "us-gaap_DefinedContributionPlanEmployerDiscretionaryContributionAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanEmployerDiscretionaryContributionAmount", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan, Employer Discretionary Contribution Amount", "terseLabel": "Employer discretionary contributions", "documentation": "Amount of discretionary contributions made by an employer to a defined contribution plan." } } }, "auth_ref": [] }, "prim_DefinedContributionPlanLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DefinedContributionPlanLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan [Line Items]", "terseLabel": "Employee Benefit Plans" } } }, "auth_ref": [] }, "us-gaap_DefinedContributionPlanTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DefinedContributionPlanTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan [Table]", "documentation": "Disclosure of information about defined contribution pension plans or defined contribution other postretirement plans, separately for pension plans and other postretirement benefit plans." } } }, "auth_ref": [ "r483" ] }, "us-gaap_Depreciation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Depreciation", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Depreciation", "terseLabel": "Depreciation", "verboseLabel": "Depreciation expense", "documentation": "The amount of expense recognized in the current period that reflects the allocation of the cost of tangible assets over the assets' useful lives. Includes production and non-production related depreciation." } } }, "auth_ref": [ "r10", "r71" ] }, "us-gaap_DepreciationDepletionAndAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortization", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r10", "r280" ] }, "us-gaap_DepreciationDepletionAndAmortizationPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DepreciationDepletionAndAmortizationPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Depreciation, Depletion, and Amortization [Policy Text Block]", "terseLabel": "Depreciation", "documentation": "Disclosure of accounting policy for depreciation, depletion, and amortization of property and equipment costs, including methods used and estimated useful lives and how impairment of such assets is assessed and recognized." } } }, "auth_ref": [ "r803" ] }, "us-gaap_DerivativeAssetNoncurrentStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r590" ] }, "us-gaap_DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssetStatementOfFinancialPositionExtensibleEnumeration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Statement of Financial Position [Extensible Enumeration]", "documentation": "Indicates line item in statement of financial position that includes derivative asset." } } }, "auth_ref": [ "r590" ] }, "us-gaap_DerivativeAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeAssets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDerivativeContractAndInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset", "terseLabel": "Asset Derivatives", "documentation": "Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset." } } }, "auth_ref": [ "r218", "r219", "r611", "r698", "r699", "r700", "r701", "r702", "r704", "r705", "r706", "r707", "r708", "r723", "r724", "r767", "r771", "r774", "r775", "r777", "r778", "r801", "r843", "r1117" ] }, "us-gaap_DerivativeAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r218" ] }, "us-gaap_DerivativeBasisSpreadOnVariableRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeBasisSpreadOnVariableRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Derivative, Basis Spread on Variable Rate", "verboseLabel": "Interest margin", "documentation": "The percentage points added to the reference rate to compute the variable rate on the interest rate derivative." } } }, "auth_ref": [] }, "us-gaap_DerivativeContractTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r706", "r708", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r730", "r731", "r732", "r733", "r742", "r743", "r744", "r745", "r748", "r749", "r750", "r751", "r767", "r769", "r774", "r777", "r841", "r843" ] }, "us-gaap_DerivativeFairValueOfDerivativeAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeFairValueOfDerivativeAsset", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Derivative Asset, Fair Value, Gross Asset", "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": [ "r23", "r107", "r133", "r217", "r801" ] }, "us-gaap_DerivativeFixedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r1093" ] }, "us-gaap_DerivativeGainLossStatementOfIncomeOrComprehensiveIncomeExtensibleEnumeration": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r1093" ] }, "us-gaap_DerivativeInstrumentRiskAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r106", "r108", "r109", "r110", "r706", "r708", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r730", "r731", "r732", "r733", "r742", "r743", "r744", "r745", "r748", "r749", "r750", "r751", "r767", "r769", "r774", "r777", "r801", "r841", "r843" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Derivative Instruments" } } }, "auth_ref": [] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r168", "r592", "r599" ] }, "us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/2023", "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": [ "r768", "r770", "r773", "r776", "r1090", "r1091", "r1092" ] }, "us-gaap_DerivativesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DerivativesPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Derivatives, Policy [Policy Text Block]", "terseLabel": "Derivative instruments and hedging activities", "documentation": "Disclosure of accounting policy for its derivative instruments and hedging activities." } } }, "auth_ref": [ "r21", "r103", "r104", "r105", "r111", "r242" ] }, "us-gaap_DisaggregationOfRevenueLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r405", "r816", "r817", "r818", "r819", "r820", "r821", "r822" ] }, "us-gaap_DisaggregationOfRevenueTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r405", "r816", "r817", "r818", "r819", "r820", "r821", "r822" ] }, "us-gaap_DisaggregationOfRevenueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r991" ] }, "prim_DividendEquivalentUnitsValue": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "DividendEquivalentUnitsValue", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "documentation": "Represents the value of Dividend Equivalent Units, as defined in the Equity Plan, that have accrued.", "label": "Dividend Equivalent Units Value", "terseLabel": "Dividend equivalent Units accrued - Restricted Stock Units" } } }, "auth_ref": [] }, "prim_DividendsAndEarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/20231231", "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_DividendsCommonStockCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsCommonStockCash", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r161" ] }, "us-gaap_DividendsDeclaredTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_DividendsPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r31" ] }, "us-gaap_DividendsPayableCurrentAndNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DividendsPayableCurrentAndNoncurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r122", "r123", "r173", "r851", "r1111" ] }, "dei_DocumentAnnualReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentAnnualReport", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Annual Report", "documentation": "Boolean flag that is true only for a form used as an annual report." } } }, "auth_ref": [ "r858", "r859", "r872" ] }, "dei_DocumentFinStmtErrorCorrectionFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "DocumentFinStmtErrorCorrectionFlag", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Document Financial Statement Error Correction [Flag]", "documentation": "Indicates whether any of the financial statement period in the filing include a restatement due to error correction." } } }, "auth_ref": [ "r858", "r859", "r872", "r908" ] }, "dei_DocumentFiscalPeriodFocus": { "xbrltype": "fiscalPeriodItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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_DocumentTransitionReport": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r893" ] }, "dei_DocumentType": { "xbrltype": "submissionTypeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [] }, "us-gaap_DomesticPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "DomesticPlanMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Domestic Plan [Member]", "documentation": "Location of employer sponsoring plan, designed to provide retirement benefits, determined as principal place of business. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r1052", "r1053", "r1055" ] }, "us-gaap_EarningsPerShareAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share", "terseLabel": "Earnings per share:", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EarningsPerShareBasic": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareBasic", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r229", "r249", "r250", "r251", "r252", "r253", "r258", "r260", "r265", "r266", "r267", "r268", "r602", "r603", "r651", "r668", "r804" ] }, "us-gaap_EarningsPerShareDiluted": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareDiluted", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r229", "r249", "r250", "r251", "r252", "r253", "r260", "r265", "r266", "r267", "r268", "r602", "r603", "r651", "r668", "r804" ] }, "us-gaap_EarningsPerShareReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EarningsPerShareReconciliationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails" ], "lang": { "en-us": { "role": { "label": "Earnings Per Share, Basic and Diluted [Abstract]", "verboseLabel": "Earnings per share:" } } }, "auth_ref": [] }, "us-gaap_EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsIncludingDisposalGroupAndDiscontinuedOperations", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Effect of Exchange Rate on Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents", "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": [ "r1096" ] }, "us-gaap_EffectiveIncomeTaxRateContinuingOperations": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateContinuingOperations", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest", "weight": 1.0, "order": 1.0 } }, "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": [ "r549" ] }, "prim_EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EffectiveIncomeTaxRateContinuingOperationsAfterMinorityInterest", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents a ratio calculated by dividing the reported amount of income tax expense attributable to continuing operations for the period by GAAP-basis pretax income from continuing operations after adjusting for minority interest.", "label": "Effective Income Tax Rate Continuing Operations after Minority Interest", "totalLabel": "Effective tax rate (as a percent)" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 1.0 } }, "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": [ "r241", "r549", "r572" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Change in Deferred Tax Assets Valuation Allowance, Percent", "verboseLabel": "Capital loss utilization - release of valuation allowance", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to changes in the valuation allowance for deferred tax assets." } } }, "auth_ref": [ "r1083", "r1089" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Foreign Income Tax Rate Differential, Percent", "terseLabel": "Income taxed at rates greater than U.S. (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to statutory income tax expense (benefit) outside of the country of domicile." } } }, "auth_ref": [ "r1083", "r1089" ] }, "prim_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationPercent": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseCompensationPercent", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying domestic federal statutory income tax rate to pretax income (loss) from continuing operation, attributable to nondeductible expense for compensation.", "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Compensation, Percent", "terseLabel": "Nondeductible compensation (as a percent)" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Nondeductible Expense, Meals and Entertainment, Percent", "terseLabel": "Nondeductible meals & entertainment (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to meals and entertainment expense." } } }, "auth_ref": [ "r1083", "r1089" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationOtherAdjustments", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Other Adjustments, Percent", "terseLabel": "Other items (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to other adjustments." } } }, "auth_ref": [ "r1083", "r1089" ] }, "prim_EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EffectiveIncomeTaxRateReconciliationProformaTaxEffectBusinessAcquisition", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of income tax rate used for calculation of proforma income loss and adjustments due to business acquisition.", "label": "Effective Income Tax Rate Reconciliation, Proforma Tax Effect Business Acquisition", "terseLabel": "Tax rate" } } }, "auth_ref": [] }, "us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, State and Local Income Taxes, Percent", "terseLabel": "State taxes, net of federal income tax impact (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations applicable to state and local income tax expense (benefit), net of federal tax expense (benefit)." } } }, "auth_ref": [ "r1083", "r1089" ] }, "us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EffectiveIncomeTaxRateReconciliationTaxCredits", "calculation": { "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails": { "parentTag": "us-gaap_EffectiveIncomeTaxRateContinuingOperations", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Effective Income Tax Rate Reconciliation, Tax Credit, Percent", "negatedLabel": "Tax credits (as a percent)", "documentation": "Percentage of the difference between reported income tax expense (benefit) and expected income tax expense (benefit) computed by applying the domestic federal statutory income tax rates to pretax income (loss) from continuing operations attributable to tax credits. Including, but not limited to, research credit, foreign tax credit, investment tax credit, and other tax credits." } } }, "auth_ref": [ "r1083", "r1089" ] }, "us-gaap_EmployeeRelatedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeRelatedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 1.0 } }, "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": [ "r31" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Cost Not yet Recognized, Period for Recognition", "terseLabel": "Period to recognize unrecognized compensation expense", "documentation": "Weighted-average period over which cost not yet recognized is expected to be recognized for award under share-based payment arrangement, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r533" ] }, "us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedShareBasedAwardsOtherThanOptions", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Employee Service Share-based Compensation, Nonvested Awards, Compensation Not yet Recognized, Share-based Awards Other than Options", "terseLabel": "Unrecognized compensation expense", "documentation": "Amount of cost to be recognized for nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r1082" ] }, "us-gaap_EmployeeStockMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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/2023", "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_EmployeesOfFutureInfrastructureHoldingsLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EmployeesOfFutureInfrastructureHoldingsLlcMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to employees of Future Infrastructure Holdings, LLC.", "label": "Employees of Future Infrastructure Holdings, LLC" } } }, "auth_ref": [] }, "us-gaap_EnergyEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EnergyEquipmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Solar equipment", "documentation": "Assets used in the production and distribution of energy from the producer to the consumer." } } }, "auth_ref": [] }, "prim_EnergySegmentMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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", "terseLabel": "Energy" } } }, "auth_ref": [] }, "dei_EntityAddressAddressLine1": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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/2023", "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/2023", "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": [ "r856" ] }, "dei_EntityCommonStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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/2023", "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": [ "r856" ] }, "dei_EntityFileNumber": { "xbrltype": "fileNumberItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFileNumber", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity File Number", "documentation": "Commission file number. The field allows up to 17 characters. The prefix may contain 1-3 digits, the sequence number may contain 1-8 digits, the optional suffix may contain 1-4 characters, and the fields are separated with a hyphen." } } }, "auth_ref": [] }, "dei_EntityFilerCategory": { "xbrltype": "filerCategoryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityFilerCategory", "presentation": [ "http://www.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": [ "r856" ] }, "dei_EntityIncorporationStateCountryCode": { "xbrltype": "edgarStateCountryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "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": [ "r933" ] }, "dei_EntityPublicFloat": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityPublicFloat", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Public Float", "documentation": "The aggregate market value of the voting and non-voting common equity held by non-affiliates computed by reference to the price at which the common equity was last sold, or the average bid and asked price of such common equity, as of the last business day of the registrant's most recently completed second fiscal quarter." } } }, "auth_ref": [] }, "dei_EntityRegistrantName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r856" ] }, "dei_EntityShellCompany": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r856" ] }, "dei_EntitySmallBusiness": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r856" ] }, "dei_EntityTaxIdentificationNumber": { "xbrltype": "employerIdItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r856" ] }, "dei_EntityVoluntaryFilers": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityVoluntaryFilers", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Voluntary Filers", "documentation": "Indicate 'Yes' or 'No' if the registrant is not required to file reports pursuant to Section 13 or Section 15(d) of the Act." } } }, "auth_ref": [] }, "dei_EntityWellKnownSeasonedIssuer": { "xbrltype": "yesNoItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "EntityWellKnownSeasonedIssuer", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "Entity Well-known Seasoned Issuer", "documentation": "Indicate 'Yes' or 'No' if the registrant is a well-known seasoned issuer, as defined in Rule 405 of the Securities Act. Is used on Form Type: 10-K, 10-Q, 8-K, 20-F, 6-K, 10-K/A, 10-Q/A, 20-F/A, 6-K/A, N-CSR, N-Q, N-1A." } } }, "auth_ref": [ "r934" ] }, "us-gaap_EquityComponentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "EquityComponentDomain", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r20", "r200", "r225", "r226", "r227", "r244", "r245", "r246", "r248", "r254", "r256", "r270", "r308", "r309", "r391", "r534", "r535", "r536", "r565", "r566", "r593", "r594", "r595", "r596", "r597", "r598", "r601", "r618", "r619", "r620", "r621", "r622", "r623", "r639", "r682", "r683", "r684", "r696", "r755" ] }, "prim_EquityPlan2023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EquityPlan2023Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the 2023 Equity Incentive Plan of the entity.", "label": "Equity Plan, 2023 [Member]", "terseLabel": "2023 Equity Plan" } } }, "auth_ref": [] }, "prim_EquityPlans2013And2023Member": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EquityPlans2013And2023Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the 2013 and 2023 Equity Incentive Plans of the entity.", "label": "Equity Plans, 2013 and 2023 [Member]", "terseLabel": "Equity Plans, 2013 and 2023" } } }, "auth_ref": [] }, "ecd_EquityValuationAssumptionDifferenceFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "EquityValuationAssumptionDifferenceFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Equity Valuation Assumption Difference, Footnote [Text Block]", "terseLabel": "Equity Valuation Assumption Difference, Footnote" } } }, "auth_ref": [ "r901" ] }, "ecd_ErrCompAnalysisTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompAnalysisTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneous Compensation Analysis [Text Block]", "terseLabel": "Erroneous Compensation Analysis" } } }, "auth_ref": [ "r864", "r876", "r886", "r912" ] }, "ecd_ErrCompRecoveryTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ErrCompRecoveryTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Erroneously Awarded Compensation Recovery [Table]", "terseLabel": "Erroneously Awarded Compensation Recovery" } } }, "auth_ref": [ "r861", "r873", "r883", "r909" ] }, "prim_EstimatedNetImpactOfChangeInEstimateAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "EstimatedNetImpactOfChangeInEstimateAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Estimated Net Impact of Change in Estimate [Abstract]", "terseLabel": "Estimated net impact of change in estimate" } } }, "auth_ref": [] }, "ecd_ExecutiveCategoryAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ExecutiveCategoryAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Executive Category [Axis]", "terseLabel": "Executive Category:" } } }, "auth_ref": [ "r907" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r605", "r606", "r609" ] }, "us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Measurements, Recurring and Nonrecurring [Table]", "documentation": "Disclosure of information about asset and liability measured at fair value on recurring and nonrecurring basis." } } }, "auth_ref": [ "r605", "r606", "r609" ] }, "us-gaap_FairValueByFairValueHierarchyLevelAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByFairValueHierarchyLevelAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Hierarchy [Axis]", "documentation": "Information by level within fair value hierarchy and fair value measured at net asset value per share as practical expedient." } } }, "auth_ref": [ "r363", "r438", "r439", "r440", "r441", "r442", "r443", "r606", "r640", "r641", "r642", "r810", "r811", "r823", "r824", "r825" ] }, "us-gaap_FairValueByMeasurementFrequencyAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueByMeasurementFrequencyAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Measurement Frequency [Axis]", "documentation": "Information by measurement frequency." } } }, "auth_ref": [ "r605", "r606", "r607", "r608", "r610" ] }, "us-gaap_FairValueDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueDisclosuresAbstract", "lang": { "en-us": { "role": { "label": "Fair Value Measurements" } } }, "auth_ref": [] }, "us-gaap_FairValueDisclosuresTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r604" ] }, "us-gaap_FairValueInputsLevel1Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel1Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r363", "r438", "r443", "r606", "r640", "r823", "r824", "r825" ] }, "us-gaap_FairValueInputsLevel2Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel2Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Significant Other Observable Inputs (Level2)", "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": [ "r363", "r438", "r443", "r606", "r641", "r810", "r811", "r823", "r824", "r825" ] }, "us-gaap_FairValueInputsLevel3Member": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueInputsLevel3Member", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Significant Unobservable Inputs (Level 3)", "documentation": "Unobservable inputs that reflect the entity's own assumption about the assumptions market participants would use in pricing." } } }, "auth_ref": [ "r363", "r438", "r439", "r440", "r441", "r442", "r443", "r606", "r642", "r810", "r811", "r823", "r824", "r825" ] }, "us-gaap_FairValueMeasurementFrequencyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementFrequencyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value, Measurement Frequency [Domain]", "documentation": "Measurement frequency." } } }, "auth_ref": [] }, "us-gaap_FairValueMeasurementsFairValueHierarchyDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsFairValueHierarchyDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Fair Value Hierarchy [Domain]", "documentation": "Categories used to prioritize the inputs to valuation techniques to measure fair value." } } }, "auth_ref": [ "r363", "r438", "r439", "r440", "r441", "r442", "r443", "r640", "r641", "r642", "r810", "r811", "r823", "r824", "r825" ] }, "us-gaap_FairValueMeasurementsRecurringMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FairValueMeasurementsRecurringMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r604", "r610" ] }, "prim_FeesAssociatedWithAccountsReceivableSecuritizationFacility": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "FeesAssociatedWithAccountsReceivableSecuritizationFacility", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of fees associated with accounts receivable securitization facility, incurred by the company.", "label": "Fees Associated With Accounts Receivable Securitization Facility", "terseLabel": "Fees associated with accounts receivable securitization facility, included in interest expense" } } }, "auth_ref": [] }, "us-gaap_FinancingReceivableAllowanceForCreditLosses": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FinancingReceivableAllowanceForCreditLosses", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Financing Receivable, Allowance for Credit Loss", "verboseLabel": "Allowance for credit losses", "documentation": "Amount of allowance for credit loss on financing receivable. Excludes allowance for financing receivable covered under loss sharing agreement." } } }, "auth_ref": [ "r18", "r197", "r198", "r199", "r215", "r310", "r312", "r313", "r1110" ] }, "us-gaap_FiniteLivedIntangibleAssetUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetUsefulLife", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Asset, Useful Life", "terseLabel": "Useful life", "documentation": "Useful life of finite-lived intangible assets, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [] }, "us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAccumulatedAmortization", "crdr": "credit", "presentation": [ "http://www.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": [ "r209", "r329" ] }, "us-gaap_FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAcquiredAsPartOfBusinessCombinationTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets Acquired as Part of Business Combination [Table]", "documentation": "A table containing detailed characteristics of finite-lived intangible assets acquired during a business combination. Finite-lived intangible assets are assets that have no physical form, but have expected future economic benefit, and are expected to be used over a defined period. Acquired finite-lived intangible assets are disclosed by major class (assets that can be grouped together because they are similar, either by their nature or by their use in operations of the Entity) and in total. Additionally, any significant residual value (the expected value of the asset at the end of its useful life) and the weighted-average amortization period are also disclosed." } } }, "auth_ref": [ "r67" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, after Year Five", "terseLabel": "Thereafter", "documentation": "Amount of amortization for asset, excluding financial asset and goodwill, lacking physical substance with finite life expected to be recognized after fifth 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": [] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Next Twelve Months", "terseLabel": "2024", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFive", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Five", "terseLabel": "2028", "documentation": "Amount of amortization for assets, excluding financial assets and goodwill, lacking physical substance with finite life expected to be recognized in fifth 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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearFour", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Four", "terseLabel": "2027", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearThree", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Three", "terseLabel": "2026", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": "us-gaap_IntangibleAssetsNetExcludingGoodwill", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets, Amortization Expense, Year Two", "terseLabel": "2025", "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": [ "r153" ] }, "us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsByMajorClassAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "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": [ "r327", "r328", "r329", "r330", "r647", "r648" ] }, "us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r152", "r648" ] }, "us-gaap_FiniteLivedIntangibleAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Finite-Lived Intangible Assets [Line Items]", "terseLabel": "Intangible assets", "verboseLabel": "Goodwill and other 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": [ "r647" ] }, "us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FiniteLivedIntangibleAssetsMajorClassNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "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": [ "r67", "r69" ] }, "prim_FirstAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "FirstAgreementMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the first agreement.", "label": "First Agreement [Member]", "terseLabel": "First agreement" } } }, "auth_ref": [] }, "us-gaap_FixedPriceContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "FixedPriceContractMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "label": "Fixed price", "documentation": "Contract with customer in which amount of consideration is fixed." } } }, "auth_ref": [ "r819" ] }, "us-gaap_ForeignCurrencyTransactionGainLossBeforeTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionGainLossBeforeTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transaction Gain (Loss), before Tax", "terseLabel": "Foreign exchange gain (loss), net", "documentation": "Amount, before tax, of realized and unrealized gain (loss) from foreign currency transaction." } } }, "auth_ref": [ "r614", "r615", "r616", "r617", "r752" ] }, "us-gaap_ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Foreign Currency Transactions and Translations Policy [Policy Text Block]", "terseLabel": "Functional currencies and foreign currency translation", "documentation": "Disclosure of accounting policy for (1) transactions denominated in a currency other than the reporting enterprise's functional currency, (2) translating foreign currency financial statements that are incorporated into the financial statements of the reporting enterprise by consolidation, combination, or the equity method of accounting, and (3) remeasurement of the financial statements of a foreign reporting enterprise in a hyperinflationary economy." } } }, "auth_ref": [ "r613" ] }, "prim_ForeignLettersOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "localname": "ForgoneRecoveryDueToDisqualificationOfTaxBenefitsAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Disqualification of Tax Benefits, Amount", "terseLabel": "Forgone Recovery due to Disqualification of Tax Benefits, Amount" } } }, "auth_ref": [ "r868", "r880", "r890", "r916" ] }, "ecd_ForgoneRecoveryDueToExpenseOfEnforcementAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToExpenseOfEnforcementAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Expense of Enforcement, Amount", "terseLabel": "Forgone Recovery due to Expense of Enforcement, Amount" } } }, "auth_ref": [ "r868", "r880", "r890", "r916" ] }, "ecd_ForgoneRecoveryDueToViolationOfHomeCountryLawAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryDueToViolationOfHomeCountryLawAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery due to Violation of Home Country Law, Amount", "terseLabel": "Forgone Recovery due to Violation of Home Country Law, Amount" } } }, "auth_ref": [ "r868", "r880", "r890", "r916" ] }, "ecd_ForgoneRecoveryExplanationOfImpracticabilityTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryExplanationOfImpracticabilityTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Explanation of Impracticability [Text Block]", "terseLabel": "Forgone Recovery, Explanation of Impracticability" } } }, "auth_ref": [ "r868", "r880", "r890", "r916" ] }, "ecd_ForgoneRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "ForgoneRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Forgone Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r868", "r880", "r890", "r916" ] }, "prim_FutureInfrastructureHoldingsLlcMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "FutureInfrastructureHoldingsLlcMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "documentation": "This member is pertaining to future infrastructure holdings, llc.", "label": "FIH" } } }, "auth_ref": [] }, "us-gaap_GainLossOnSaleOfPropertyPlantEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainLossOnSaleOfPropertyPlantEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r10" ] }, "us-gaap_GainsLossesOnExtinguishmentOfDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GainsLossesOnExtinguishmentOfDebt", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Gain (Loss) on Extinguishment of Debt", "terseLabel": "Loss on Extinguishment of debt", "documentation": "Difference between the fair value of payments made and the carrying amount of debt which is extinguished prior to maturity." } } }, "auth_ref": [ "r10", "r74", "r75" ] }, "us-gaap_Goodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "Goodwill", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_BusinessCombinationRecognizedIdentifiableAssetsAcquiredGoodwillAndLiabilitiesAssumedNet", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Goodwill", "periodEndLabel": "Goodwill, Ending Balance", "periodStartLabel": "Goodwill, Beginning Balance", "documentation": "Amount after accumulated impairment loss of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r208", "r314", "r649", "r808", "r839", "r975", "r982" ] }, "us-gaap_GoodwillAcquiredDuringPeriod": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAcquiredDuringPeriod", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Acquired During Period", "terseLabel": "Goodwill acquired during the period", "documentation": "Amount of increase in asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized resulting from a business combination." } } }, "auth_ref": [ "r318", "r808" ] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets" } } }, "auth_ref": [] }, "us-gaap_GoodwillAndIntangibleAssetsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r150" ] }, "us-gaap_GoodwillAndIntangibleAssetsPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillAndIntangibleAssetsPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Goodwill and Intangible Assets, Policy [Policy Text Block]", "terseLabel": "Goodwill and other intangible assets", "documentation": "Disclosure of accounting policy for goodwill and intangible assets. This accounting policy also may address how an entity assesses and measures impairment of goodwill and intangible assets." } } }, "auth_ref": [ "r14", "r64" ] }, "us-gaap_GoodwillImpairmentLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillImpairmentLoss", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Impairment Loss", "negatedLabel": "Goodwill impairment", "documentation": "Amount of loss from the write-down of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r10", "r315", "r321", "r326", "r808" ] }, "us-gaap_GoodwillLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r808" ] }, "us-gaap_GoodwillPeriodIncreaseDecrease": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPeriodIncreaseDecrease", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Period Increase (Decrease)", "negatedLabel": "Goodwill adjustments during the period", "netLabel": "Goodwill changes", "documentation": "Amount of increase (decrease) of an asset representing future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r974" ] }, "us-gaap_GoodwillPurchaseAccountingAdjustments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GoodwillPurchaseAccountingAdjustments", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Goodwill, Purchase Accounting Adjustments", "verboseLabel": "Adjustments to goodwill", "documentation": "Amount of increase (decrease) from adjustments after acquisition date under purchase accounting of an asset representing the future economic benefits arising from other assets acquired in a business combination that are not individually identified and separately recognized." } } }, "auth_ref": [ "r1", "r981" ] }, "us-gaap_GrossProfit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "GrossProfit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r138", "r239", "r275", "r289", "r295", "r298", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r612", "r806", "r987" ] }, "prim_GrossProfitAsPercentageOfSegmentRevenue": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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": [] }, "dei_IcfrAuditorAttestationFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "localname": "IcfrAuditorAttestationFlag", "presentation": [ "http://www.primoriscorp.com/role/DocumentDocumentAndEntityInformation" ], "lang": { "en-us": { "role": { "label": "ICFR Auditor Attestation Flag" } } }, "auth_ref": [ "r858", "r859", "r872" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesDomestic", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Domestic", "terseLabel": "United States", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to domestic operations." } } }, "auth_ref": [ "r240", "r571" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Extraordinary Items, 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": [ "r0", "r136", "r176", "r275", "r289", "r295", "r298", "r652", "r664", "r806" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Income Taxes, Foreign", "verboseLabel": "Foreign", "documentation": "The portion of earnings or loss from continuing operations before income taxes that is attributable to foreign operations, which is defined as Income or Loss generated from operations located outside the entity's country of domicile." } } }, "auth_ref": [ "r240", "r571" ] }, "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestmentsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest [Abstract]", "terseLabel": "Domestic and foreign components of income before income taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeStatementAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeStatementAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF INCOME" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Income Taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxes" ], "lang": { "en-us": { "role": { "label": "Income Tax Disclosure [Text Block]", "terseLabel": "Income Taxes", "documentation": "The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information." } } }, "auth_ref": [ "r241", "r542", "r550", "r556", "r562", "r567", "r573", "r574", "r575", "r694" ] }, "us-gaap_IncomeTaxExpenseBenefit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefit", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_NetIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r180", "r194", "r255", "r256", "r283", "r548", "r568", "r669" ] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Income Tax Expense (Benefit), Continuing Operations [Abstract]", "terseLabel": "Components of the provision for income taxes" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxExpenseBenefitContinuingOperationsIncomeTaxReconciliationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income", "terseLabel": "Reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income" } } }, "auth_ref": [] }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMaximum", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the maximum period of statute of limitations of state and foreign jurisdictions.", "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Maximum", "terseLabel": "Maximum period of statute of limitations of state and foreign jurisdictions" } } }, "auth_ref": [] }, "prim_IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "IncomeTaxPeriodOfStatuteOfLimitationsOfStateAndForeignJurisdictionsMinimum", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum period of statute of limitations of state and foreign jurisdictions.", "label": "Income Tax Period Of Statute Of Limitations Of State And Foreign Jurisdictions Minimum", "terseLabel": "Minimum period of statute of limitations of state and foreign jurisdictions" } } }, "auth_ref": [] }, "us-gaap_IncomeTaxPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Income Tax, Policy [Policy Text Block]", "terseLabel": "Income tax", "documentation": "Disclosure of accounting policy for income taxes, which may include its accounting policies for recognizing and measuring deferred tax assets and liabilities and related valuation allowances, recognizing investment tax credits, operating loss carryforwards, tax credit carryforwards, and other carryforwards, methodologies for determining its effective income tax rate and the characterization of interest and penalties in the financial statements." } } }, "auth_ref": [ "r224", "r544", "r545", "r556", "r557", "r561", "r563", "r690" ] }, "us-gaap_IncomeTaxesPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncomeTaxesPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Income Taxes Paid", "terseLabel": "Cash paid for income taxes, net of refunds received", "documentation": "The amount of cash paid during the current period to foreign, federal, state, and local authorities as taxes on income, net of any cash received during the current period as refunds for the overpayment of taxes." } } }, "auth_ref": [ "r50" ] }, "us-gaap_IncreaseDecreaseInAccountsPayable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccountsPayable", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 10.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r9" ] }, "us-gaap_IncreaseDecreaseInAccruedLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInAccruedLiabilities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 11.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r9" ] }, "us-gaap_IncreaseDecreaseInContractWithCustomerAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInContractWithCustomerAsset", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 13.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r956" ] }, "prim_IncreaseDecreaseInContractWithCustomerAssetNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "localname": "IncreaseDecreaseInContractWithCustomerLiability", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 14.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r645", "r956" ] }, "prim_IncreaseDecreaseInContractWithCustomerLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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": [] }, "prim_IncreaseDecreaseInDeferredTaxAssetsLiabilitiesNet": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "IncreaseDecreaseInDeferredTaxAssetsLiabilitiesNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "This element represents net change in deferred tax assets and liabilities net.", "label": "Increase (Decrease) in Deferred Tax Assets (Liabilities), Net", "negatedLabel": "Net deferred tax liabilities" } } }, "auth_ref": [] }, "us-gaap_IncreaseDecreaseInIncomeTaxesReceivable": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInIncomeTaxesReceivable", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Increase (Decrease) in Income Taxes Receivable", "terseLabel": "Income Taxes Receivable", "documentation": "The increase (decrease) during the reporting period in income taxes receivable, which represents the amount due from tax authorities for refunds of overpayments or recoveries of income taxes paid." } } }, "auth_ref": [ "r9" ] }, "us-gaap_IncreaseDecreaseInOperatingCapitalAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOperatingCapitalAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/20231231", "localname": "IncreaseDecreaseInOperatingLeaseAssetsAndLiabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 15.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "IncreaseDecreaseInOtherCurrentAssets", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r956" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentAssets", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 12.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r956" ] }, "us-gaap_IncreaseDecreaseInOtherNoncurrentLiabilities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInOtherNoncurrentLiabilities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 17.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "IncreaseDecreaseInReceivables", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r9" ] }, "us-gaap_IncreaseDecreaseInStockholdersEquityRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncreaseDecreaseInStockholdersEquityRollForward", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [] }, "prim_IncreaseDecreaseInWorkingCapital": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "IncreaseDecreaseInWorkingCapital", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to working capital assumed in connection with a business combination for which the initial accounting was incomplete.", "label": "Increase decrease in working capital", "terseLabel": "Increase (decrease) in working capital" } } }, "auth_ref": [] }, "prim_IncreaseDecreaseToDeferredTaxAssets": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "IncreaseDecreaseToDeferredTaxAssets", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "This element represents the amount of any measurement period adjustment (as defined) realized during the reporting period to deferred tax assets acquired in connection with a business combination for which the initial accounting was incomplete.", "label": "Increase (decrease) to deferred tax assets", "terseLabel": "Increase (decrease) to deferred tax assets" } } }, "auth_ref": [] }, "us-gaap_IncrementalCommonSharesAttributableToShareBasedPaymentArrangements": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IncrementalCommonSharesAttributableToShareBasedPaymentArrangements", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 2.0 } }, "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": [ "r261", "r262", "r263", "r267", "r502" ] }, "ecd_IndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "IndividualAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure", "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure", "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Individual [Axis]", "terseLabel": "Individual:" } } }, "auth_ref": [ "r871", "r880", "r890", "r907", "r916", "r920", "r928" ] }, "ecd_InsiderTradingArrLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingArrLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Arrangements [Line Items]", "terseLabel": "Insider Trading Arrangements:" } } }, "auth_ref": [ "r926" ] }, "ecd_InsiderTradingPoliciesProcLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTradingPoliciesProcLineItems", "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures [Line Items]", "terseLabel": "Insider Trading Policies and Procedures:" } } }, "auth_ref": [ "r860", "r932" ] }, "ecd_InsiderTrdPoliciesProcAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Adopted [Flag]", "terseLabel": "Insider Trading Policies and Procedures Adopted" } } }, "auth_ref": [ "r860", "r932" ] }, "ecd_InsiderTrdPoliciesProcNotAdoptedTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "InsiderTrdPoliciesProcNotAdoptedTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingPoliciesProc" ], "lang": { "en-us": { "role": { "label": "Insider Trading Policies and Procedures Not Adopted [Text Block]", "terseLabel": "Insider Trading Policies and Procedures Not Adopted" } } }, "auth_ref": [ "r860", "r932" ] }, "us-gaap_InsuranceAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InsuranceAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Insurance [Abstract]", "terseLabel": "Insurance" } } }, "auth_ref": [] }, "us-gaap_IntangibleAssetsNetExcludingGoodwill": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "IntangibleAssetsNetExcludingGoodwill", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsFutureAmortizationDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r65", "r68" ] }, "us-gaap_InterestIncomeExpenseNonoperatingNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestIncomeExpenseNonoperatingNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Interest Income (Expense), Nonoperating, Net", "terseLabel": "Interest expense, net", "documentation": "The net amount of nonoperating interest income (expense)." } } }, "auth_ref": [] }, "us-gaap_InterestPaidNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InterestPaidNet", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Interest Paid", "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": [ "r230", "r233", "r234" ] }, "prim_InterestRateSwapAgreementAmountOfDebtOutstandingInWhichInterestExchanged": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "InterestRateSwapAgreementAmountOfDebtOutstandingInWhichInterestExchanged", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of debt outstanding in which the interest rate was effectively exchanged.", "label": "Interest Rate Swap Agreement Amount of Debt Outstanding In Which Interest Exchanged" } } }, "auth_ref": [] }, "prim_InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "InterestRateSwapAgreementPercentageOfDebtOutstandingInWhichInterestExchanged", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of debt outstanding in which the interest rate was effectively exchanged", "label": "Interest Rate Swap Agreement, Percentage Of Debt Outstanding In Which Interest Exchanged", "terseLabel": "Interest rate swap agreement" } } }, "auth_ref": [] }, "us-gaap_InterestRateSwapMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "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": [ "r798", "r848", "r849" ] }, "us-gaap_InventoryForLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "InventoryForLongTermContractsOrPrograms", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 2.0 } }, "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": [ "r950" ] }, "prim_LaborersPensionTrustFundForNorthernCaliforniaOneMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "LaborersPensionTrustFundForNorthernCaliforniaOneMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the laborers pension trust fund for northern california.", "label": "Laborers Pension Trust Fund For Northern California One" } } }, "auth_ref": [] }, "us-gaap_LandAndBuildingMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandAndBuildingMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Land and buildings", "documentation": "Real estate held for productive use and structures used in the conduct of business, including but not limited to, office, production, storage and distribution facilities." } } }, "auth_ref": [] }, "us-gaap_LandBuildingsAndImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LandBuildingsAndImprovementsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Land, buildings and improvements", "documentation": "Real estate held and additions or improvements to real estate held and structures used in the conduct of business." } } }, "auth_ref": [] }, "us-gaap_LeaseCostAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseCostAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Components of lease expense" } } }, "auth_ref": [] }, "us-gaap_LeaseCostTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r1098" ] }, "us-gaap_LeaseholdImprovementsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeaseholdImprovementsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Leasehold improvements", "documentation": "Additions or improvements to assets held under a lease arrangement." } } }, "auth_ref": [ "r155" ] }, "us-gaap_LeasesAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LeasesAbstract", "lang": { "en-us": { "role": { "label": "Leases" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseExistenceOfOptionToExtend": { "xbrltype": "booleanItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseExistenceOfOptionToExtend", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Existence of Option to Extend [true false]", "terseLabel": "Options to extend leases", "documentation": "Indicates (true false) whether lessee has option to extend operating lease." } } }, "auth_ref": [ "r630" ] }, "us-gaap_LesseeOperatingLeaseLiabilityMaturityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityMaturityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Maturity [Table Text Block]", "terseLabel": "Summary of future minimum lease payments under non-cancelable operating leases", "documentation": "Tabular disclosure of undiscounted cash flows of lessee's operating lease liability. Includes, but is not limited to, reconciliation of undiscounted cash flows to operating lease liability recognized in statement of financial position." } } }, "auth_ref": [ "r1099" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDue", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due", "totalLabel": "Total lease payments", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease." } } }, "auth_ref": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due after Year Five", "terseLabel": "Thereafter", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease due after fifth 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": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months", "terseLabel": "2024", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFive", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Five", "terseLabel": "2028", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid in fifth 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": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearFour", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Four", "terseLabel": "2027", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearThree", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Three", "terseLabel": "2026", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": [ "r637" ] }, "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDueYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityPaymentsDueYearTwo", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails": { "parentTag": "us-gaap_LesseeOperatingLeaseLiabilityPaymentsDue", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Payments, Due Year Two", "terseLabel": "2025", "documentation": "Amount of lessee's undiscounted obligation for lease payment for operating lease to be paid 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": [ "r637" ] }, "prim_LesseeOperatingLeaseLiabilityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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_LesseeOperatingLeaseLiabilityUndiscountedExcessAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LesseeOperatingLeaseLiabilityUndiscountedExcessAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Lessee, Operating Lease, Liability, Undiscounted Excess Amount", "negatedLabel": "Less imputed interest", "documentation": "Amount of lessee's undiscounted obligation for lease payments in excess of discounted obligation for lease payments for operating lease." } } }, "auth_ref": [ "r637" ] }, "prim_LesseeOperatingLeaseOtherInformationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "LesseeOperatingLeaseOtherInformationTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesTables" ], "lang": { "en-us": { "role": { "documentation": "The tabular disclosure of other information related to operating leases.", "label": "Lessee Operating Lease Other Information [Table Text Block]", "terseLabel": "Summary of other information related to operating leases" } } }, "auth_ref": [] }, "us-gaap_LesseeOperatingLeaseRenewalTerm": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r1097" ] }, "us-gaap_LesseeOperatingLeasesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r625" ] }, "us-gaap_LetterOfCreditMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LetterOfCreditMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "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/2023", "localname": "Liabilities", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities", "totalLabel": "Total liabilities", "documentation": "Sum of the carrying amounts as of the balance sheet date of all liabilities that are recognized. Liabilities are probable future sacrifices of economic benefits arising from present obligations of an entity to transfer assets or provide services to other entities in the future." } } }, "auth_ref": [ "r30", "r239", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r585", "r588", "r589", "r612", "r715", "r805", "r854", "r987", "r1101", "r1102" ] }, "us-gaap_LiabilitiesAndStockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquity", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r132", "r175", "r660", "r839", "r959", "r973", "r1095" ] }, "us-gaap_LiabilitiesAndStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesAndStockholdersEquityAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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/2023", "localname": "LiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r32", "r204", "r239", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r585", "r588", "r589", "r612", "r839", "r987", "r1101", "r1102" ] }, "us-gaap_LiabilitiesCurrentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesCurrentAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Liabilities, Current [Abstract]", "terseLabel": "Current liabilities:" } } }, "auth_ref": [] }, "us-gaap_LiabilitiesFairValueDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LiabilitiesFairValueDisclosureAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "label": "Liabilities, Fair Value Disclosure [Abstract]", "terseLabel": "Liabilities" } } }, "auth_ref": [] }, "us-gaap_LineOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LineOfCredit", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsCanadianCreditFacilitiesDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Line of Credit Facility, Amount Outstanding", "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": [ "r25", "r174", "r1112" ] }, "us-gaap_LineOfCreditFacilityMaximumBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r28" ] }, "us-gaap_LineOfCreditFacilityRemainingBorrowingCapacity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r28" ] }, "us-gaap_LoansPayableMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LoansPayableMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "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/2023", "localname": "LongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": null, "weight": null, "order": null, "root": true }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": null, "weight": null, "order": null, "root": true } }, "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": [ "r25", "r174", "r362", "r377", "r810", "r811", "r1112" ] }, "us-gaap_LongTermDebtByMaturityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtByMaturityAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Fiscal Year Maturity [Abstract]", "terseLabel": "Scheduled maturities of long-term debt" } } }, "auth_ref": [] }, "us-gaap_LongTermDebtCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r212" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalAfterYearFive", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal after Year Five", "terseLabel": "Thereafter", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing after fifth 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": [ "r12", "r243", "r990" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInNextTwelveMonths", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Next Twelve Months", "terseLabel": "2024", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r12", "r243", "r367" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFive", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Year Five", "terseLabel": "2028", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing in fifth 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": [ "r12", "r243", "r367" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearFour", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Year Four", "terseLabel": "2027", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r12", "r243", "r367" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearThree", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Year Three", "terseLabel": "2026", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r12", "r243", "r367" ] }, "us-gaap_LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtMaturitiesRepaymentsOfPrincipalInYearTwo", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails": { "parentTag": "us-gaap_DebtInstrumentCarryingAmount", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsScheduledMaturitiesOfLongTermDebtDetails" ], "lang": { "en-us": { "role": { "label": "Long-term Debt, Maturities, Repayments of Principal in Year Two", "terseLabel": "2025", "documentation": "Amount of long-term debt payable, sinking fund requirement, and other securities issued that are redeemable by holder at fixed or determinable price and date, maturing 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": [ "r12", "r243", "r367" ] }, "us-gaap_LongTermDebtNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "LongTermDebtNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails": { "parentTag": "us-gaap_LongTermDebt", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r213" ] }, "us-gaap_LongtermDebtTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r34" ] }, "us-gaap_LongtermDebtTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r34", "r73" ] }, "srt_MajorCustomersAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MajorCustomersAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Axis]" } } }, "auth_ref": [ "r304", "r818", "r991", "r1114", "r1115" ] }, "prim_MasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "MasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for MSA customers.", "label": "MSA" } } }, "auth_ref": [] }, "srt_MaximumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MaximumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Maximum" } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r489", "r644", "r681", "r707", "r708", "r760", "r762", "r764", "r765", "r779", "r796", "r797", "r807", "r814", "r832", "r840", "r989", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108" ] }, "ecd_MeasureAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure [Axis]", "terseLabel": "Measure:" } } }, "auth_ref": [ "r899" ] }, "ecd_MeasureName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MeasureName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Measure Name", "terseLabel": "Name" } } }, "auth_ref": [ "r899" ] }, "prim_MinimumLiquidationPeriodOfAssetsInWhichSignificantWorkingCapitalInvested": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "MinimumLiquidationPeriodOfAssetsInWhichSignificantWorkingCapitalInvested", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOperatingCycleDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the minimum liquidation period of assets in which significant working capital has been invested.", "label": "Minimum Liquidation Period of Assets in which Significant Working Capital Invested", "terseLabel": "Minimum liquidation period of assets in which significant working capital has been invested" } } }, "auth_ref": [] }, "srt_MinimumMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "MinimumMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Minimum" } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r489", "r644", "r681", "r707", "r708", "r760", "r762", "r764", "r765", "r779", "r796", "r797", "r807", "r814", "r832", "r840", "r989", "r1103", "r1104", "r1105", "r1106", "r1107", "r1108" ] }, "prim_MinnesotaLaborersPensionFundMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "MinnesotaLaborersPensionFundMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "This member represents information pertaining to Minnesota laborers Pension Fund.", "label": "Minnesota Laborers Pension Fund" } } }, "auth_ref": [] }, "us-gaap_MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MinorityInterestDecreaseFromDistributionsToNoncontrollingInterestHolders", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Noncontrolling Interest, Decrease from Distributions to Noncontrolling Interest Holders", "negatedLabel": "Distribution of noncontrolling entities", "documentation": "Decrease in noncontrolling interest balance from payment of dividends or other distributions by the non-wholly owned subsidiary or partially owned entity, included in the consolidation of the parent entity, to the noncontrolling interest holders." } } }, "auth_ref": [ "r161" ] }, "ecd_MnpiDiscTimedForCompValFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "MnpiDiscTimedForCompValFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "MNPI Disclosure Timed for Compensation Value [Flag]", "terseLabel": "MNPI Disclosure Timed for Compensation Value" } } }, "auth_ref": [ "r919" ] }, "us-gaap_MortgagesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MortgagesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "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/2023", "localname": "MtrlTermsOfTrdArrTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Material Terms of Trading Arrangement [Text Block]", "terseLabel": "Material Terms of Trading Arrangement" } } }, "auth_ref": [ "r927" ] }, "us-gaap_MultiemployerPlanPensionInsignificantPlanContribution": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MultiemployerPlanPensionInsignificantPlanContribution", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Multiemployer Plan, Pension, Insignificant, Plan Contribution", "terseLabel": "Contributions to other multiemployer plans", "documentation": "Amount of contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually insignificant." } } }, "auth_ref": [ "r1054" ] }, "us-gaap_MultiemployerPlanPensionSignificantPlanContribution": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MultiemployerPlanPensionSignificantPlanContribution", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Multiemployer Plans, Plan Contributions", "verboseLabel": "Contributions to significant plans", "documentation": "Amount of contribution received by multiemployer pension plan from all employers participating in multiemployer pension plan determined to be individually significant." } } }, "auth_ref": [ "r495", "r832" ] }, "prim_MultiemployerPlansAnnualContributionsNumberOfPensionPlans": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "MultiemployerPlansAnnualContributionsNumberOfPensionPlans", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the number of pension plans in which annual contribution was made by the entity during the last three years.", "label": "Multiemployer Plans Annual Contributions Number of Pension Plans", "terseLabel": "Number of pension plans in which annual contribution was made by the entity during last three years" } } }, "auth_ref": [] }, "us-gaap_MultiemployerPlansLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "MultiemployerPlansLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Multiemployer Plans [Line Items]", "terseLabel": "Multiemployer plans", "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": [ "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r497", "r826", "r827", "r828", "r829", "r830", "r831", "r832" ] }, "prim_MultiemployerPlansPlanContributionsTotal": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "MultiemployerPlansPlanContributionsTotal", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Amount of contributions made to multiemployer plan by all employers who participate in plan.", "label": "Multiemployer Plans, Plan Contributions Total", "terseLabel": "Total contributions made" } } }, "auth_ref": [] }, "srt_NameOfMajorCustomerDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "NameOfMajorCustomerDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "Customer [Domain]" } } }, "auth_ref": [ "r304", "r818", "r991", "r1114", "r1115" ] }, "ecd_NamedExecutiveOfficersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NamedExecutiveOfficersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Named Executive Officers, Footnote [Text Block]", "terseLabel": "Named Executive Officers, Footnote" } } }, "auth_ref": [ "r900" ] }, "us-gaap_NatureOfOperations": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r182", "r195" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Financing Activities, Continuing Operations", "totalLabel": "Net cash (used in) provided by 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": [ "r232" ] }, "us-gaap_NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInFinancingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "NetCashProvidedByUsedInInvestingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Investing Activities, Continuing Operations", "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": [ "r232" ] }, "us-gaap_NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInInvestingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "NetCashProvidedByUsedInOperatingActivities", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Net Cash Provided by (Used in) Operating Activities, Continuing Operations", "totalLabel": "Net cash provided by 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": [ "r144", "r145", "r146" ] }, "us-gaap_NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NetCashProvidedByUsedInOperatingActivitiesContinuingOperationsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "NetIncomeLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome", "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "totalLabel": "Net income", "verboseLabel": "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": [ "r137", "r146", "r177", "r202", "r220", "r222", "r227", "r239", "r247", "r249", "r250", "r251", "r252", "r255", "r256", "r264", "r275", "r289", "r295", "r298", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r603", "r612", "r666", "r737", "r753", "r754", "r806", "r852", "r987" ] }, "us-gaap_NetIncomeLossAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "NewAccountingPronouncementsPolicyPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "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/2023", "localname": "NonGaapMeasureDescriptionTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-GAAP Measure Description [Text Block]", "terseLabel": "Non-GAAP Measure Description" } } }, "auth_ref": [ "r899" ] }, "prim_NonMasterServiceAgreementCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "NonMasterServiceAgreementCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Non-MSA customers.", "label": "Non-MSA" } } }, "auth_ref": [] }, "ecd_NonNeosMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonNeosMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-NEOs [Member]", "terseLabel": "Non-NEOs" } } }, "auth_ref": [ "r868", "r880", "r890", "r907", "r916" ] }, "ecd_NonPeoNeoAvgCompActuallyPaidAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgCompActuallyPaidAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Compensation Actually Paid Amount", "terseLabel": "Non-PEO NEO Average Compensation Actually Paid Amount" } } }, "auth_ref": [ "r897" ] }, "ecd_NonPeoNeoAvgTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoAvgTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO Average Total Compensation Amount", "terseLabel": "Non-PEO NEO Average Total Compensation Amount" } } }, "auth_ref": [ "r896" ] }, "ecd_NonPeoNeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonPeoNeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Non-PEO NEO [Member]", "terseLabel": "Non-PEO NEO" } } }, "auth_ref": [ "r907" ] }, "ecd_NonRule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r927" ] }, "ecd_NonRule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "NonRule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Non-Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Non-Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r927" ] }, "prim_NonUnitedStatesMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "NonUnitedStatesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents regions excluding the United States.", "label": "Non-United States" } } }, "auth_ref": [] }, "us-gaap_NoncashInvestingAndFinancingItemsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "NoncashInvestingAndFinancingItemsAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "NonoperatingIncomeExpenseAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Nonoperating Income (Expense) [Abstract]", "terseLabel": "Other income (expense):" } } }, "auth_ref": [] }, "prim_NumberOfInstrumentsUsedForTrading": { "xbrltype": "integerItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "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": [ "r967" ] }, "us-gaap_OfficeEquipmentMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OfficeEquipmentMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Office equipment", "documentation": "Tangible personal property used in an office setting. Examples include, but are not limited to, computers, copiers and fax machine." } } }, "auth_ref": [] }, "prim_OperatingCycleAbstract": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "OperatingCycleAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesOperatingCycleDetails" ], "lang": { "en-us": { "role": { "label": "Operating Cycle [Abstract]", "terseLabel": "Operating cycle" } } }, "auth_ref": [] }, "prim_OperatingCyclePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "OperatingCyclePolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for operating cycle of the reporting entity.", "label": "Operating Cycle [Policy Text Block]", "terseLabel": "Operating cycle" } } }, "auth_ref": [] }, "prim_OperatingEngineerTrustFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "OperatingEngineerTrustFundsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the operating engineer trust funds.", "label": "Operating Engineer Trust Funds" } } }, "auth_ref": [] }, "us-gaap_OperatingIncomeLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingIncomeLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r275", "r289", "r295", "r298", "r806" ] }, "us-gaap_OperatingLeaseCost": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r631", "r838" ] }, "us-gaap_OperatingLeaseLiabilitiesPaymentsDueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilitiesPaymentsDueAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease Liabilities, Payments Due [Abstract]", "terseLabel": "Future minimum lease payments under non-cancelable operating leases" } } }, "auth_ref": [] }, "us-gaap_OperatingLeaseLiability": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiability", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesFutureMinimumLeasePaymentsUnderNonCancelableOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability", "totalLabel": "Operating lease liabilities", "verboseLabel": "Total", "documentation": "Present value of lessee's discounted obligation for lease payments from operating lease." } } }, "auth_ref": [ "r627" ] }, "us-gaap_OperatingLeaseLiabilityCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 2.0 } }, "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": [ "r627" ] }, "us-gaap_OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityCurrentStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Liability, Current, Statement of Financial Position [Extensible List]", "documentation": "Indicates line item in statement of financial position that includes current operating lease liability." } } }, "auth_ref": [ "r628" ] }, "us-gaap_OperatingLeaseLiabilityNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseLiabilityNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails": { "parentTag": "us-gaap_OperatingLeaseLiability", "weight": 1.0, "order": 2.0 }, "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r627" ] }, "us-gaap_OperatingLeasePayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeasePayments", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Payments", "terseLabel": "Operating cash flows from operating leases", "documentation": "Amount of cash outflow from operating lease, excluding payments to bring another asset to condition and location necessary for its intended use." } } }, "auth_ref": [ "r629", "r633" ] }, "us-gaap_OperatingLeaseRightOfUseAsset": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseRightOfUseAsset", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r626" ] }, "us-gaap_OperatingLeaseWeightedAverageDiscountRatePercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageDiscountRatePercent", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Discount Rate, Percent", "terseLabel": "Weighted-average discount rate on operating leases", "documentation": "Weighted average discount rate for operating lease calculated at point in time." } } }, "auth_ref": [ "r636", "r838" ] }, "us-gaap_OperatingLeaseWeightedAverageRemainingLeaseTerm1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLeaseWeightedAverageRemainingLeaseTerm1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesOtherInformationRelatedToOperatingLeasesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Lease, Weighted Average Remaining Lease Term", "terseLabel": "Weighted-average remaining lease term on operating leases (years)", "documentation": "Weighted average remaining lease term for operating lease, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days." } } }, "auth_ref": [ "r635", "r838" ] }, "us-gaap_OperatingLossCarryforwards": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OperatingLossCarryforwards", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Operating Loss Carryforwards", "terseLabel": "Net operating loss carryforward", "documentation": "Amount of operating loss carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r86" ] }, "us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract", "lang": { "en-us": { "role": { "label": "Nature of Business" } } }, "auth_ref": [] }, "us-gaap_OtherAccruedLiabilitiesCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAccruedLiabilitiesCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 5.0 } }, "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": [ "r31" ] }, "us-gaap_OtherAssetsNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherAssetsNoncurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Other Assets, Noncurrent", "terseLabel": "Other long-term assets", "documentation": "Amount of noncurrent assets classified as other." } } }, "auth_ref": [ "r210" ] }, "us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome": { "parentTag": "us-gaap_ComprehensiveIncomeNetOfTax", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfComprehensiveIncome", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r7" ] }, "us-gaap_OtherLiabilitiesNoncurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherLiabilitiesNoncurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Liabilities", "weight": 1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r35" ] }, "us-gaap_OtherNoncashExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNoncashExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r146" ] }, "us-gaap_OtherNonoperatingIncomeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "OtherNonoperatingIncomeExpense", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesExtraordinaryItemsNoncontrollingInterest", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r141" ] }, "ecd_OtherPerfMeasureAmt": { "xbrltype": "decimalItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OtherPerfMeasureAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Other Performance Measure, Amount", "terseLabel": "Other Performance Measure, Amount" } } }, "auth_ref": [ "r899" ] }, "ecd_OutstandingAggtErrCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingAggtErrCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Aggregate Erroneous Compensation Amount", "terseLabel": "Outstanding Aggregate Erroneous Compensation Amount" } } }, "auth_ref": [ "r866", "r878", "r888", "r914" ] }, "ecd_OutstandingRecoveryCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery Compensation Amount", "terseLabel": "Compensation Amount" } } }, "auth_ref": [ "r869", "r881", "r891", "r917" ] }, "ecd_OutstandingRecoveryIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "OutstandingRecoveryIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Outstanding Recovery, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r869", "r881", "r891", "r917" ] }, "ecd_PayVsPerformanceDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PayVsPerformanceDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Line Items]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r895" ] }, "us-gaap_PayablesAndAccrualsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PayablesAndAccrualsAbstract", "lang": { "en-us": { "role": { "label": "Accounts Payable and Accrued Liabilities" } } }, "auth_ref": [] }, "us-gaap_PaymentsForRepurchaseOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsForRepurchaseOfCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments for Repurchase of Common Stock", "negatedLabel": "Purchase of common stock", "documentation": "The cash outflow to reacquire common stock during the period." } } }, "auth_ref": [ "r45" ] }, "us-gaap_PaymentsOfDebtIssuanceCosts": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDebtIssuanceCosts", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 5.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Payments of Debt Issuance Costs", "negatedLabel": "Debt issuance costs", "documentation": "The cash outflow paid to third parties in connection with debt origination, which will be amortized over the remaining maturity period of the associated long-term debt." } } }, "auth_ref": [ "r47" ] }, "us-gaap_PaymentsOfDividendsCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsOfDividendsCommonStock", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 8.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r45" ] }, "us-gaap_PaymentsToAcquireBusinessesGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesGross", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "label": "Payments to Acquire Businesses, Gross", "terseLabel": "Total purchase consideration", "documentation": "The cash outflow associated with the acquisition of business during the period. The cash portion only of the acquisition price." } } }, "auth_ref": [ "r43", "r580" ] }, "us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquireBusinessesNetOfCashAcquired", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 1.0 }, "http://www.primoriscorp.com/role/DisclosureAcquisitionPlhDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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", "terseLabel": "Net cash paid", "totalLabel": "Net cash paid", "documentation": "The cash outflow associated with the acquisition of a business, net of the cash acquired from the purchase." } } }, "auth_ref": [ "r43" ] }, "us-gaap_PaymentsToAcquirePropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PaymentsToAcquirePropertyPlantAndEquipment", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": -1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r143" ] }, "ecd_PeerGroupIssuersFnTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupIssuersFnTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Issuers, Footnote [Text Block]", "terseLabel": "Peer Group Issuers, Footnote" } } }, "auth_ref": [ "r898" ] }, "ecd_PeerGroupTotalShareholderRtnAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeerGroupTotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Peer Group Total Shareholder Return Amount", "terseLabel": "Peer Group Total Shareholder Return Amount" } } }, "auth_ref": [ "r898" ] }, "us-gaap_PensionAndOtherPostretirementBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementBenefitsDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlans" ], "lang": { "en-us": { "role": { "label": "Pension and Other Postretirement Benefits Disclosure [Text Block]", "terseLabel": "Employee Benefit Plans", "documentation": "The entire disclosure for retirement benefits." } } }, "auth_ref": [ "r413", "r435", "r437", "r443", "r461", "r463", "r464", "r465", "r466", "r467", "r481", "r482", "r483", "r825" ] }, "us-gaap_PensionAndOtherPostretirementPlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PensionAndOtherPostretirementPlansPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Pension and Other Postretirement Plans, Policy [Policy Text Block]", "terseLabel": "Multiemployer plans", "documentation": "Disclosure of accounting policy for pension and other postretirement benefit plans. This accounting policy may address (1) the types of plans sponsored by the entity, and the benefits provided by each plan (2) groups that participate in (or are covered by) each plan (3) how plan assets, liabilities and expenses are measured, including the use of any actuaries and (4) significant assumptions used by the entity to value plan assets and liabilities and how such assumptions are derived." } } }, "auth_ref": [ "r13", "r15", "r16", "r22", "r79" ] }, "ecd_PeoActuallyPaidCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoActuallyPaidCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Actually Paid Compensation Amount", "terseLabel": "PEO Actually Paid Compensation Amount" } } }, "auth_ref": [ "r897" ] }, "ecd_PeoMember": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO [Member]", "terseLabel": "PEO" } } }, "auth_ref": [ "r907" ] }, "ecd_PeoName": { "xbrltype": "normalizedStringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoName", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Name", "terseLabel": "PEO Name" } } }, "auth_ref": [ "r900" ] }, "ecd_PeoTotalCompAmt": { "xbrltype": "monetaryItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PeoTotalCompAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "PEO Total Compensation Amount", "terseLabel": "PEO Total Compensation Amount" } } }, "auth_ref": [ "r896" ] }, "prim_PercentageOfLaborForceSubjectToCollectiveBargaining": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PercentageOfLaborForceSubjectToCollectiveBargaining", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the percentage of entity's labor force subject to collective bargaining agreements.", "label": "Percentage of Labor Force Subject to Collective Bargaining", "terseLabel": "Percentage of labor force subject to collective bargaining agreements" } } }, "auth_ref": [] }, "prim_PerformanceSatisfactionPeriodForContingentConsideration": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PerformanceSatisfactionPeriodForContingentConsideration", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureFairValueMeasurementsDetails" ], "lang": { "en-us": { "role": { "documentation": "Performance satisfaction period for contingent consideration.", "label": "Performance Satisfaction Period for Contingent Consideration", "terseLabel": "Performance targets period" } } }, "auth_ref": [] }, "prim_PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PeriodOfTimeGoodwillIsDeductibleForIncomeTaxPurposes", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of time goodwill is expected to be deductible for income tax purposes.", "label": "Period of Time Goodwill is Deductible for Income Tax Purposes", "terseLabel": "Goodwill is expected to be deductible for income tax purposes (in years)" } } }, "auth_ref": [] }, "us-gaap_PhantomShareUnitsPSUsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PhantomShareUnitsPSUsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Phantom Share Units (PSUs) [Member]", "terseLabel": "PSUs", "documentation": "Share-based payment arrangement awarded as phantom share or unit." } } }, "auth_ref": [] }, "prim_PipelineIndustryBenefitFundMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PipelineIndustryBenefitFundMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the multiemployer benefit plan of Pipeline Industry Benefit Fund.", "label": "Pipeline Industry Benefit Fund" } } }, "auth_ref": [] }, "us-gaap_PlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "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": [ "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076", "r1077", "r1078", "r1079", "r1080", "r1081" ] }, "us-gaap_PlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Plan Name [Domain]", "documentation": "Plan name for share-based payment arrangement." } } }, "auth_ref": [ "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076", "r1077", "r1078", "r1079", "r1080", "r1081" ] }, "prim_PlhAndFihMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PlhAndFihMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "documentation": "This member is pertaining to both PLH Group and Future Infrastructure Holdings, LLC.", "label": "PLH and FIH [Member]", "terseLabel": "PLH and FIH" } } }, "auth_ref": [] }, "prim_PlhGroupIncMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PlhGroupIncMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsProFormaInformationDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to PLH Group, Inc", "label": "PLH Group Inc" } } }, "auth_ref": [] }, "us-gaap_PostemploymentBenefitsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PostemploymentBenefitsAbstract", "lang": { "en-us": { "role": { "label": "Multiemployer Plans" } } }, "auth_ref": [] }, "us-gaap_PostemploymentBenefitsDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PostemploymentBenefitsDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlans" ], "lang": { "en-us": { "role": { "label": "Postemployment Benefits Disclosure [Text Block]", "terseLabel": "Multiemployer Plans", "documentation": "The entire disclosure for postemployment benefits, which may include supplemental unemployment benefits, obligations recognized for all types of benefits provided to former or inactive employees, their beneficiaries, and covered dependents after employment but before retirement. Disclosure may also include discussion that an obligation for postemployment benefits is not accrued in accordance with regulation only because the amount cannot be reasonably estimated." } } }, "auth_ref": [ "r411", "r412" ] }, "prim_PotentialIncreasePerAccordionFeature": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PotentialIncreasePerAccordionFeature", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount that the debt instrument can increase per the accordion feature.", "label": "Potential Increase per Accordion Feature", "terseLabel": "Potential increase per the agreement" } } }, "auth_ref": [] }, "us-gaap_PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockNumberOfSharesParValueAndOtherDisclosuresAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Number of Shares, Par Value and Other Disclosures [Abstract]", "terseLabel": "Preferred Stock" } } }, "auth_ref": [] }, "us-gaap_PreferredStockParOrStatedValuePerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockParOrStatedValuePerShare", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Par or Stated Value Per Share", "verboseLabel": "Par value of preferred stock (in dollars per share)", "documentation": "Face amount or stated value per share of preferred stock nonredeemable or redeemable solely at the option of the issuer." } } }, "auth_ref": [ "r126", "r379" ] }, "us-gaap_PreferredStockSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesAuthorized", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Authorized", "verboseLabel": "Preferred stock, authorized (in shares)", "documentation": "The maximum number of nonredeemable preferred shares (or preferred stock redeemable solely at the option of the issuer) permitted to be issued by an entity's charter and bylaws." } } }, "auth_ref": [ "r126", "r717" ] }, "us-gaap_PreferredStockSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PreferredStockSharesOutstanding", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Preferred Stock, Shares Outstanding", "terseLabel": "Preferred stock, shares outstanding", "documentation": "Aggregate share number for all nonredeemable preferred stock (or preferred stock redeemable solely at the option of the issuer) held by stockholders. Does not include preferred shares that have been repurchased." } } }, "auth_ref": [ "r126", "r717", "r735", "r1118", "r1119" ] }, "us-gaap_PrepaidExpenseAndOtherAssetsCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PrepaidExpenseAndOtherAssetsCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r951" ] }, "prim_PrimorisLongTermRetentionPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "PrimorisLongTermRetentionPlanMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Primoris Long Term Retention Plan [Member]", "label": "Primoris Long Term Retention Plan" } } }, "auth_ref": [] }, "us-gaap_PriorPeriodReclassificationAdjustmentDescription": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PriorPeriodReclassificationAdjustmentDescription", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Reclassification, Policy [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": [ "r946" ] }, "prim_ProceedsFromAccountsReceivableSecuritizationOperatingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ProceedsFromAccountsReceivableSecuritizationOperatingActivities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "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_ProceedsFromIssuanceOfCommonStock": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfCommonStock", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 7.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Common Stock", "terseLabel": "Proceeds from issuance of common stock", "documentation": "The cash inflow from the additional capital contribution to the entity." } } }, "auth_ref": [ "r8" ] }, "prim_ProceedsFromIssuanceOfCommonStockGross": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ProceedsFromIssuanceOfCommonStockGross", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount of gross cash inflow from the additional capital contribution to the entity.", "label": "Proceeds from Issuance of Common Stock Gross" } } }, "auth_ref": [] }, "us-gaap_ProceedsFromIssuanceOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromIssuanceOfLongTermDebt", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Proceeds from Issuance of Long-term Debt", "terseLabel": "Proceeds from issuance of long-term debt", "documentation": "The cash inflow from a debt initially having maturity due after one year or beyond the operating cycle, if longer." } } }, "auth_ref": [ "r44", "r691" ] }, "us-gaap_ProceedsFromLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromLinesOfCredit", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r44", "r958" ] }, "us-gaap_ProceedsFromPaymentsForOtherFinancingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromPaymentsForOtherFinancingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": 1.0, "order": 9.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r937", "r955" ] }, "us-gaap_ProceedsFromSaleOfPropertyPlantAndEquipment": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProceedsFromSaleOfPropertyPlantAndEquipment", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r142" ] }, "us-gaap_ProfitLoss": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ProfitLoss", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 16.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Net Income (Loss), Including Portion Attributable to Noncontrolling Interest", "terseLabel": "Net (loss) income", "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": [ "r202", "r220", "r222", "r231", "r239", "r247", "r255", "r256", "r275", "r289", "r295", "r298", "r307", "r340", "r341", "r342", "r343", "r344", "r345", "r346", "r347", "r348", "r583", "r586", "r587", "r603", "r612", "r652", "r665", "r695", "r737", "r753", "r754", "r806", "r836", "r837", "r853", "r954", "r987" ] }, "us-gaap_PropertyPlantAndEquipmentAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentAbstract", "lang": { "en-us": { "role": { "label": "Property and Equipment" } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentByTypeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentByTypeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Axis]", "documentation": "Information by type of long-lived, physical assets used to produce goods and services and not intended for resale." } } }, "auth_ref": [ "r11" ] }, "us-gaap_PropertyPlantAndEquipmentDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipment" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment Disclosure [Text Block]", "terseLabel": "Property and Equipment", "documentation": "The entire disclosure for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r154", "r186", "r191", "r192" ] }, "us-gaap_PropertyPlantAndEquipmentGross": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentGross", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": "us-gaap_PropertyPlantAndEquipmentNet", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Gross", "terseLabel": "Gross property and equipment", "documentation": "Amount before accumulated depreciation, depletion and amortization of physical assets used in the normal conduct of business and not intended for resale. Examples include, but are not limited to, land, buildings, machinery and equipment, office equipment, and furniture and fixtures." } } }, "auth_ref": [ "r155", "r206", "r663" ] }, "us-gaap_PropertyPlantAndEquipmentLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Line Items]", "terseLabel": "Property and equipment", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [] }, "us-gaap_PropertyPlantAndEquipmentNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentNet", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_Assets", "weight": 1.0, "order": 3.0 }, "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Net", "terseLabel": "Property and equipment, net", "totalLabel": "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": [ "r11", "r653", "r663", "r839" ] }, "us-gaap_PropertyPlantAndEquipmentPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Policy [Policy Text Block]", "terseLabel": "Property and equipment", "documentation": "Disclosure of accounting policy for long-lived, physical asset used in normal conduct of business and not intended for resale. Includes, but is not limited to, work of art, historical treasure, and similar asset classified as collections." } } }, "auth_ref": [ "r11", "r186", "r191", "r661" ] }, "us-gaap_PropertyPlantAndEquipmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentTables" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table Text Block]", "terseLabel": "Summary of property and equipment", "documentation": "Tabular disclosure of physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r11" ] }, "us-gaap_PropertyPlantAndEquipmentTypeDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentTypeDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Type [Domain]", "documentation": "Listing of long-lived, physical assets that are used in the normal conduct of business to produce goods and services and not intended for resale. Examples include land, buildings, machinery and equipment, and other types of furniture and equipment including, but not limited to, office equipment, furniture and fixtures, and computer equipment and software." } } }, "auth_ref": [ "r155" ] }, "us-gaap_PropertyPlantAndEquipmentUsefulLife": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "PropertyPlantAndEquipmentUsefulLife", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment, Useful Life", "terseLabel": "Useful Life", "verboseLabel": "Estimated useful lives of the equipment", "documentation": "Useful life of long lived, physical assets used in the normal conduct of business and not intended for resale, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents the reported fact of one year, five months, and thirteen days. Examples include, but not limited to, land, buildings, machinery and equipment, office equipment, furniture and fixtures, and computer equipment." } } }, "auth_ref": [] }, "ecd_PvpTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance Disclosure [Table]", "terseLabel": "Pay vs Performance Disclosure" } } }, "auth_ref": [ "r895" ] }, "ecd_PvpTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "PvpTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Pay vs Performance [Table Text Block]", "terseLabel": "Pay vs Performance Disclosure, Table" } } }, "auth_ref": [ "r895" ] }, "us-gaap_QuarterlyFinancialInformationDisclosureAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "QuarterlyFinancialInformationDisclosureAbstract", "lang": { "en-us": { "role": { "label": "Selected Quarterly Financial Information (Unaudited)" } } }, "auth_ref": [] }, "us-gaap_QuarterlyFinancialInformationTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "QuarterlyFinancialInformationTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnaudited" ], "lang": { "en-us": { "role": { "label": "Quarterly Financial Information [Text Block]", "terseLabel": "Selected Quarterly Financial Information (Unaudited)", "documentation": "The entire disclosure for quarterly financial data. Includes, but is not limited to, tabular presentation of financial information for fiscal quarters, effect of year-end adjustments, and an explanation of matters or transactions that affect comparability of the information." } } }, "auth_ref": [ "r148", "r269" ] }, "srt_RangeAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Range [Axis]" } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r435", "r489", "r528", "r529", "r530", "r643", "r644", "r681", "r707", "r708", "r760", "r762", "r764", "r765", "r779", "r796", "r797", "r807", "r814", "r832", "r840", "r843", "r985", "r989", "r1104", "r1105", "r1106", "r1107", "r1108" ] }, "srt_RangeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "RangeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Range [Domain]" } } }, "auth_ref": [ "r336", "r337", "r338", "r339", "r435", "r489", "r528", "r529", "r530", "r643", "r644", "r681", "r707", "r708", "r760", "r762", "r764", "r765", "r779", "r796", "r797", "r807", "r814", "r832", "r840", "r843", "r985", "r989", "r1104", "r1105", "r1106", "r1107", "r1108" ] }, "us-gaap_ReceivablesLongTermContractsOrPrograms": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesLongTermContractsOrPrograms", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 1.0 } }, "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": [ "r949" ] }, "us-gaap_ReceivablesNetCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesNetCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_AssetsCurrent", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "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": [ "r839" ] }, "us-gaap_ReceivablesPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReceivablesPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Receivables, Policy [Policy Text Block]", "terseLabel": "Accounts receivable", "documentation": "Disclosure of accounting policy for receivable. Includes, but is not limited to, accounts receivable and financing receivable." } } }, "auth_ref": [ "r969", "r970", "r971", "r972" ] }, "us-gaap_ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ReconciliationOfUnrecognizedTaxBenefitsExcludingAmountsPertainingToExaminedTaxReturnsRollForward", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Reconciliation of Unrecognized Tax Benefits, Excluding Amounts Pertaining to Examined Tax Returns [Roll Forward]", "terseLabel": "Reconciliation and aggregate changes for unrecognized tax benefits", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "ecd_RecoveryOfErrCompDisclosureLineItems": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RecoveryOfErrCompDisclosureLineItems", "lang": { "en-us": { "role": { "label": "Recovery of Erroneously Awarded Compensation Disclosure [Line Items]", "terseLabel": "Recovery of Erroneously Awarded Compensation Disclosure" } } }, "auth_ref": [ "r861", "r873", "r883", "r909" ] }, "prim_RemainingPerformanceObligationOnBondedProjects": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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": [] }, "us-gaap_RepaymentsOfLinesOfCredit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLinesOfCredit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r46", "r958" ] }, "us-gaap_RepaymentsOfLongTermDebt": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RepaymentsOfLongTermDebt", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInFinancingActivities", "weight": -1.0, "order": 4.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r46", "r692" ] }, "ecd_RestatementDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDateAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date [Axis]", "terseLabel": "Restatement Determination Date:" } } }, "auth_ref": [ "r862", "r874", "r884", "r910" ] }, "ecd_RestatementDeterminationDate": { "xbrltype": "dateItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDeterminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Determination Date", "terseLabel": "Restatement Determination Date" } } }, "auth_ref": [ "r863", "r875", "r885", "r911" ] }, "ecd_RestatementDoesNotRequireRecoveryTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "RestatementDoesNotRequireRecoveryTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Restatement Does Not Require Recovery [Text Block]", "terseLabel": "Restatement does not require Recovery" } } }, "auth_ref": [ "r870", "r882", "r892", "r918" ] }, "us-gaap_RestrictedCash": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCash", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails": { "parentTag": "us-gaap_CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails" ], "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": [ "r947", "r957", "r1109", "r1113" ] }, "us-gaap_RestrictedCashAssetStatementOfFinancialPositionExtensibleList": { "xbrltype": "enumerationSetItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedCashAssetStatementOfFinancialPositionExtensibleList", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesRestrictedCashDetails" ], "lang": { "en-us": { "role": { "label": "Restricted Cash, Statement of Financial Position", "documentation": "Indicates line item in statement of financial position that includes cash restricted to withdrawal or usage." } } }, "auth_ref": [ "r957" ] }, "us-gaap_RestrictedStockUnitsRSUMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RestrictedStockUnitsRSUMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "RSUs", "documentation": "Share instrument which is convertible to stock or an equivalent amount of cash, after a specified period of time or when specified performance conditions are met." } } }, "auth_ref": [] }, "us-gaap_RetainedEarningsAccumulatedDeficit": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsAccumulatedDeficit", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_StockholdersEquity", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets" ], "lang": { "en-us": { "role": { "label": "Retained Earnings (Accumulated Deficit)", "terseLabel": "Retained earnings", "documentation": "Amount of accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r129", "r161", "r659", "r685", "r687", "r693", "r718", "r839" ] }, "us-gaap_RetainedEarningsMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetainedEarningsMember", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Retained Earnings", "documentation": "Accumulated undistributed earnings (deficit)." } } }, "auth_ref": [ "r200", "r244", "r245", "r246", "r248", "r254", "r256", "r308", "r309", "r534", "r535", "r536", "r565", "r566", "r593", "r595", "r596", "r598", "r601", "r682", "r684", "r696", "r1118" ] }, "us-gaap_RetirementPlanNameAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanNameAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails", "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Name [Axis]", "documentation": "Information by name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r832", "r938", "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", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037", "r1038", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044", "r1045", "r1046", "r1047", "r1048", "r1049", "r1050", "r1051" ] }, "us-gaap_RetirementPlanNameDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails", "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Multiemployer Plan Name [Domain]", "documentation": "Name of plan designed to provide retirement benefits. Includes, but is not limited to, legal name of defined benefit and defined contribution plans." } } }, "auth_ref": [ "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r832", "r938", "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", "r1019", "r1020", "r1021", "r1022", "r1023", "r1024", "r1025", "r1026", "r1027", "r1028", "r1029", "r1030", "r1031", "r1032", "r1033", "r1034", "r1035", "r1036", "r1037", "r1038", "r1039", "r1040", "r1041", "r1042", "r1043", "r1044", "r1045", "r1046", "r1047", "r1048", "r1049", "r1050", "r1051" ] }, "us-gaap_RetirementPlanSponsorLocationAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Retirement Plan Sponsor Location [Axis]", "documentation": "Information by location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r462", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r1052", "r1053", "r1055" ] }, "us-gaap_RetirementPlanSponsorLocationDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RetirementPlanSponsorLocationDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "Defined Contribution Plan Type [Domain]", "documentation": "Location of employer sponsoring plan designed to provide retirement benefits. Includes, but is not limited to, defined benefit and defined contribution plans." } } }, "auth_ref": [ "r414", "r415", "r416", "r417", "r418", "r419", "r420", "r421", "r422", "r423", "r424", "r425", "r426", "r427", "r428", "r429", "r430", "r431", "r432", "r433", "r434", "r435", "r436", "r438", "r439", "r440", "r441", "r442", "r443", "r444", "r445", "r446", "r447", "r448", "r449", "r450", "r451", "r452", "r453", "r454", "r455", "r456", "r457", "r458", "r459", "r460", "r462", "r465", "r468", "r469", "r470", "r471", "r472", "r473", "r474", "r475", "r476", "r477", "r478", "r479", "r480", "r1052", "r1053", "r1055" ] }, "us-gaap_RevenueFromContractWithCustomerAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerAbstract", "lang": { "en-us": { "role": { "label": "Revenue", "terseLabel": "Revenue recognition" } } }, "auth_ref": [] }, "us-gaap_RevenueFromContractWithCustomerExcludingAssessedTax": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueFromContractWithCustomerExcludingAssessedTax", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_GrossProfit", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails", "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails", "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Revenue from Contract with Customer, Excluding Assessed Tax", "terseLabel": "Revenue", "verboseLabel": "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": [ "r276", "r277", "r288", "r293", "r294", "r300", "r302", "r304", "r404", "r405", "r646" ] }, "us-gaap_RevenueFromContractWithCustomerTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r196", "r395", "r396", "r397", "r398", "r399", "r400", "r402", "r403", "r408" ] }, "prim_RevenuePercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "localname": "RevenueRemainingPerformanceObligation", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation", "terseLabel": "Remaining performance obligations", "documentation": "Amount of transaction price allocated to performance obligation that has not been recognized as revenue." } } }, "auth_ref": [ "r189" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period 1", "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": [ "r190" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r190" ] }, "us-gaap_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [] }, "us-gaap_RevenueRemainingPerformanceObligationPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "RevenueRemainingPerformanceObligationPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenuePerformanceObligationsDetailsDetails" ], "lang": { "en-us": { "role": { "label": "Revenue, Remaining Performance Obligation, Percentage", "terseLabel": "Percentage of remaining performance obligation expected to be recognized in period", "documentation": "Percentage of remaining performance obligation to total remaining performance obligation not recognized as revenue." } } }, "auth_ref": [ "r939" ] }, "us-gaap_RevenuesFromExternalCustomersAndLongLivedAssetsLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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", "verboseLabel": "Foreign operations", "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/2023", "localname": "RevolvingCreditFacilityMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetails", "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Revolving credit facility", "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/2023", "localname": "RightOfUseAssetObtainedInExchangeForOperatingLeaseLiability", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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": [ "r634", "r838" ] }, "ecd_Rule10b51ArrAdoptedFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrAdoptedFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Adopted [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Adopted" } } }, "auth_ref": [ "r927" ] }, "ecd_Rule10b51ArrTrmntdFlag": { "xbrltype": "booleanItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "Rule10b51ArrTrmntdFlag", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Rule 10b5-1 Arrangement Terminated [Flag]", "terseLabel": "Rule 10b5-1 Arrangement Terminated" } } }, "auth_ref": [ "r927" ] }, "us-gaap_SaleAndLeasebackTransactionGainLossNet": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleAndLeasebackTransactionGainLossNet", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": 1.0, "order": 4.0 }, "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 6.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "lang": { "en-us": { "role": { "label": "Sale and Leaseback Transaction, Gain (Loss), Net", "negatedLabel": "Gain on sale and leaseback transaction", "documentation": "Amount of gain (loss) on sale and leaseback transaction from transfer of asset accounted for as sale." } } }, "auth_ref": [ "r632", "r638", "r838" ] }, "prim_SaleAndLeasebackTransactionNetProceedsInvestingActivities": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SaleAndLeasebackTransactionNetProceedsInvestingActivities", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInInvestingActivities", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "documentation": "Amount of cash inflow after closing and debt issuance costs received by a seller-lessee in a sale-leaseback recognized in investing activities.", "label": "Sale and Leaseback Transaction, Net Proceeds, Investing Activities", "terseLabel": "Proceeds from sale and leaseback transaction, net of related expenses" } } }, "auth_ref": [] }, "us-gaap_SaleLeasebackTransactionAnnualRentalPayments": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleLeasebackTransactionAnnualRentalPayments", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sale Leaseback Transaction, Annual Rental Payments", "terseLabel": "Aggregate initial annual rent payment", "documentation": "The yearly payments due under the lease entered into in connection with the transaction involving the sale of property to another party and the lease of the property back to the seller." } } }, "auth_ref": [ "r178", "r179" ] }, "us-gaap_SaleLeasebackTransactionImputedInterestRate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleLeasebackTransactionImputedInterestRate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "label": "Sale Leaseback Transaction, Imputed Interest Rate", "terseLabel": "Percentage of annual rent increases", "documentation": "The financing cost related to leases that have been recorded under the deposit method, as a financing or as a capital leases in connection with the transaction involving the sale of property to another party and the lease of the property back to the seller." } } }, "auth_ref": [] }, "prim_SaleLeasebackTransactionLeaseInitialTerm": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SaleLeasebackTransactionLeaseInitialTerm", "presentation": [ "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails" ], "lang": { "en-us": { "role": { "documentation": "Period of sale leaseback transaction lease in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days.", "label": "Sale Leaseback Transaction Lease Initial Term", "terseLabel": "Initial term" } } }, "auth_ref": [] }, "us-gaap_SaleOfStockNameOfTransactionDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SaleOfStockNameOfTransactionDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Domain]", "documentation": "Sale of the entity's stock, including, but not limited to, initial public offering (IPO) and private placement." } } }, "auth_ref": [] }, "us-gaap_SalesRevenueNetMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SalesRevenueNetMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "label": "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": [ "r304", "r940" ] }, "srt_ScenarioUnspecifiedDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "ScenarioUnspecifiedDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario, Unspecified [Domain]" } } }, "auth_ref": [ "r257", "r494", "r935", "r965" ] }, "us-gaap_ScheduleOfAccountsNotesLoansAndFinancingReceivableTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfAccountsNotesLoansAndFinancingReceivableTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesAccountsReceivableSecuritizationFacilityDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Accounts, Notes, Loans and Financing Receivable [Table]", "documentation": "Schedule itemizing specific types of trade accounts and notes receivable, and for each the gross carrying value, allowance, and net carrying value as of the balance sheet date. Presentation is categorized by current, noncurrent and unclassified receivables." } } }, "auth_ref": [ "r39" ] }, "us-gaap_ScheduleOfAccruedLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "ScheduleOfBusinessAcquisitionsByAcquisitionTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsAlbertaScrewPilesLtdDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsBCommHoldcoLlcDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables", "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": "Schedule reflecting each material business combination (or series of individually immaterial business combinations) completed during the period, including background, timing, and recognized assets and liabilities." } } }, "auth_ref": [ "r90", "r92", "r578" ] }, "us-gaap_ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]", "terseLabel": "Schedule of components of the provision for income taxes", "documentation": "Tabular disclosure of the components of income tax expense attributable to continuing operations for each year presented including, but not limited to: current tax expense (benefit), deferred tax expense (benefit), investment tax credits, government grants, the benefits of operating loss carryforwards, tax expense that results from allocating certain tax benefits either directly to contributed capital or to reduce goodwill or other noncurrent intangible assets of an acquired entity, adjustments of a deferred tax liability or asset for enacted changes in tax laws or rates or a change in the tax status of the entity, and adjustments of the beginning-of-the-year balances of a valuation allowance because of a change in circumstances that causes a change in judgment about the realizability of the related deferred tax asset in future years." } } }, "auth_ref": [ "r164" ] }, "us-gaap_ScheduleOfDebtInstrumentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r34", "r76", "r77", "r115", "r116", "r118", "r120", "r159", "r160", "r810", "r812", "r961" ] }, "us-gaap_ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Deferred Tax Assets and Liabilities [Table Text Block]", "terseLabel": "Schedule of tax effect of temporary differences that give rise to deferred income taxes", "documentation": "Tabular disclosure of the components of net deferred tax asset or liability recognized in an entity's statement of financial position, including the following: the total of all deferred tax liabilities, the total of all deferred tax assets, the total valuation allowance recognized for deferred tax assets." } } }, "auth_ref": [ "r163" ] }, "us-gaap_ScheduleOfDerivativeAssetsAtFairValueTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "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": [ "r106", "r109", "r591" ] }, "us-gaap_ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r966" ] }, "us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]", "terseLabel": "Schedule of reconciliation of income tax expense compared to the amount of income tax expense that would result by applying U.S. federal statutory income tax rate to pre-tax income", "documentation": "Tabular disclosure of the reconciliation using percentage or dollar amounts of the reported amount of income tax expense attributable to continuing operations for the year to the amount of income tax expense that would result from applying domestic federal statutory tax rates to pretax income from continuing operations." } } }, "auth_ref": [ "r162" ] }, "us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r605", "r606" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfFiniteLivedIntangibleAssetsTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Finite-Lived Intangible Assets [Table]", "documentation": "Schedule of assets, excluding financial assets and goodwill, lacking physical substance with a finite life." } } }, "auth_ref": [ "r67", "r69", "r647" ] }, "us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r67", "r69" ] }, "us-gaap_ScheduleOfGoodwillTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsGoodwillDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill [Table]", "documentation": "Schedule of goodwill and the changes during the year due to acquisition, sale, impairment or for other reasons." } } }, "auth_ref": [ "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r325", "r326", "r808" ] }, "us-gaap_ScheduleOfGoodwillTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfGoodwillTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Goodwill by Reporting Unit [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": [ "r808", "r974", "r975", "r976", "r977", "r978", "r979", "r980", "r981", "r982", "r983", "r984" ] }, "us-gaap_ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfIncomeBeforeIncomeTaxDomesticAndForeignTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Income before Income Tax, Domestic and Foreign [Table Text Block]", "terseLabel": "Schedule of domestic and foreign components of income before income taxes", "documentation": "Tabular disclosure of income before income tax between domestic and foreign jurisdictions." } } }, "auth_ref": [ "r960" ] }, "us-gaap_ScheduleOfMaturitiesOfLongTermDebtTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMaturitiesOfLongTermDebtTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Maturities of Long-term Debt [Table Text Block]", "terseLabel": "Schedule of maturities of long-term debt", "documentation": "Tabular disclosure of maturity and sinking fund requirement for long-term debt." } } }, "auth_ref": [ "r12" ] }, "us-gaap_ScheduleOfMultiemployerPlansTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMultiemployerPlansTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Multiemployer Plans [Table]", "documentation": "Disclosure of information about multiemployer plan." } } }, "auth_ref": [ "r484", "r485", "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r494", "r497", "r826", "r827", "r828", "r829", "r830", "r831", "r832" ] }, "us-gaap_ScheduleOfMultiemployerPlansTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfMultiemployerPlansTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Multiemployer Plans [Table Text Block]", "terseLabel": "Schedule of the entity's contributions to different pension funds", "documentation": "Tabular disclosure of information about multiemployer plan." } } }, "auth_ref": [ "r486", "r487", "r488", "r489", "r490", "r491", "r492", "r493", "r496", "r497", "r832" ] }, "us-gaap_ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNonvestedPerformanceBasedUnitsActivityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Nonvested Performance-Based Units Activity [Table Text Block]", "terseLabel": "Schedule of PSU activity", "documentation": "Tabular disclosure of the changes in outstanding nonvested performance-based units." } } }, "auth_ref": [ "r81" ] }, "us-gaap_ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfNonvestedRestrictedStockUnitsActivityTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Nonvested Restricted Stock Units Activity [Table Text Block]", "terseLabel": "Schedule of units activity", "documentation": "Tabular disclosure of the changes in outstanding nonvested restricted stock units." } } }, "auth_ref": [ "r81" ] }, "us-gaap_ScheduleOfPropertyPlantAndEquipmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfPropertyPlantAndEquipmentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosurePropertyAndEquipmentDetails", "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPropertyAndEquipmentDetails" ], "lang": { "en-us": { "role": { "label": "Property, Plant and Equipment [Table]", "documentation": "Disclosure of information about physical assets used in the normal conduct of business and not intended for resale. Includes, but is not limited to, balances by class of assets, depreciation and depletion expense and method used, including composite depreciation, and accumulated deprecation." } } }, "auth_ref": [ "r11" ] }, "us-gaap_ScheduleOfQuarterlyFinancialInformationTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfQuarterlyFinancialInformationTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Quarterly Financial Information [Table Text Block]", "terseLabel": "Schedule of selected unaudited quarterly consolidated financial information", "documentation": "Tabular disclosure of quarterly financial data. Includes, but is not limited to, financial information for fiscal quarters, cumulative effect of a change in accounting principle and earnings per share data." } } }, "auth_ref": [ "r181" ] }, "us-gaap_ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRecognizedIdentifiedAssetsAcquiredAndLiabilitiesAssumedTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Recognized Identified Assets Acquired and Liabilities Assumed [Table Text Block]", "terseLabel": "Summary of the identifiable assets acquired and liabilities assumed", "documentation": "Tabular disclosure of the amounts recognized as of the acquisition date for each major class of assets acquired and liabilities assumed. May include but not limited to the following: (a) acquired receivables; (b) contingencies recognized at the acquisition date; and (c) the fair value of noncontrolling interests in the acquiree." } } }, "auth_ref": [ "r167" ] }, "us-gaap_ScheduleOfRestrictedCashAndCashEquivalentsTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfRestrictedCashAndCashEquivalentsTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesTables" ], "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": [ "r24", "r170", "r1113" ] }, "us-gaap_ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": "Schedule of material long-lived assets (excluding financial instruments, customer relationships with financial institutions, mortgage and other servicing rights, deferred policy acquisition costs, and deferred taxes assets) located in identified geographic areas and/or the amount of revenue from external customers attributed to that country from which revenue is material. An entity may also provide subtotals of geographic information about groups of countries." } } }, "auth_ref": [ "r63", "r135" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfSegmentReportingInformationBySegmentTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureReportableSegmentsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Segment Reporting Information, by Segment [Table]", "documentation": "A table disclosing the profit or loss and total assets for each reportable segment of the entity. An entity discloses certain information on each reportable segment if the amounts (a) are included in the measure of segment profit or loss reviewed by the chief operating decision maker or (b) are otherwise regularly provided to the chief operating decision maker, even if not included in that measure of segment profit or loss." } } }, "auth_ref": [ "r60", "r61", "r62", "r64" ] }, "us-gaap_ScheduleOfSegmentReportingInformationBySegmentTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r60", "r61", "r62", "r64" ] }, "us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Schedule of Share-based Compensation Arrangements by Share-based Payment Award [Table]", "documentation": "Disclosure of information about share-based payment arrangement." } } }, "auth_ref": [ "r499", "r501", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r527", "r528", "r529", "r530", "r531" ] }, "prim_ScheduleOfTheCashPaidForAcquisitionsTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "ScheduleOfTheCashPaidForAcquisitionsTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsTables" ], "lang": { "en-us": { "role": { "documentation": "Tabular disclosure of the cash paid for acquisitions by the entity.", "label": "Schedule of the Cash Paid for Acquisitions [Table Text Block]", "terseLabel": "Summary of the cash paid for acquisitions" } } }, "auth_ref": [] }, "us-gaap_ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ScheduleOfUnrecognizedTaxBenefitsRollForwardTableTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesTables" ], "lang": { "en-us": { "role": { "label": "Schedule of Unrecognized Tax Benefits Roll Forward [Table Text Block]", "terseLabel": "Schedule of reconciliation of the beginning and ending amounts and aggregate changes in the balance of unrecognized tax benefits", "documentation": "Tabular disclosure of the change in unrecognized tax benefits." } } }, "auth_ref": [ "r835", "r1084" ] }, "us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r69" ] }, "prim_SecondAgreementMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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": [] }, "prim_SecondaryOfferingMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SecondaryOfferingMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the information pertaining to secondary offering.", "label": "Secondary offering" } } }, "auth_ref": [] }, "us-gaap_SecuredDebtMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SecuredDebtMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Commercial Equipment Notes", "documentation": "Collateralized debt obligation backed by, for example, but not limited to, pledge, mortgage or other lien on the entity's assets." } } }, "auth_ref": [] }, "dei_Security12bTitle": { "xbrltype": "securityTitleItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r855" ] }, "dei_SecurityExchangeName": { "xbrltype": "edgarExchangeCodeItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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": [ "r857" ] }, "us-gaap_SegmentDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r272", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r298", "r304", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r332", "r333", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r808", "r944", "r1114" ] }, "srt_SegmentGeographicalDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "SegmentGeographicalDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Domain]" } } }, "auth_ref": [ "r302", "r303", "r700", "r703", "r705", "r761", "r763", "r766", "r780", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r799", "r817", "r843", "r991", "r1114" ] }, "us-gaap_SegmentReportingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SegmentReportingAbstract", "lang": { "en-us": { "role": { "label": "Reportable Segments" } } }, "auth_ref": [] }, "us-gaap_SegmentReportingDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r271", "r272", "r273", "r274", "r275", "r287", "r292", "r296", "r297", "r298", "r299", "r300", "r301", "r304" ] }, "us-gaap_SegmentReportingInformationLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_SelectedQuarterlyFinancialInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SelectedQuarterlyFinancialInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails" ], "lang": { "en-us": { "role": { "label": "Selected Quarterly Financial Information [Abstract]", "terseLabel": "Selected Quarterly Financial Information" } } }, "auth_ref": [] }, "prim_SelfInsuranceLimitPerClaim": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SelfInsuranceLimitPerClaim", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The amount the Company self insurances per claim.", "label": "Self Insurance Limit Per Claim", "terseLabel": "Self- insurance amount per claim" } } }, "auth_ref": [] }, "us-gaap_SelfInsuranceReserveCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SelfInsuranceReserveCurrent", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "label": "Self Insurance Reserve, Current", "terseLabel": "Self-insurance reserve", "documentation": "Carrying amount of accrued known and estimated losses incurred as of the balance sheet date for which no insurance coverage exists, and for which a claim has been made or is probable of being asserted, typically arising from workmen's compensation-type of incidents and personal injury to nonemployees from accidents on the entity's property that are expected to be paid within one year (or the normal operating cycle, if longer)." } } }, "auth_ref": [] }, "us-gaap_SellingGeneralAndAdministrativeExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SellingGeneralAndAdministrativeExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome": { "parentTag": "us-gaap_OperatingIncomeLoss", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r140" ] }, "us-gaap_ShareBasedCompensation": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensation", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": 1.0, "order": 3.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation", "terseLabel": "Stock-based compensation expense", "documentation": "Amount of noncash expense for share-based payment arrangement." } } }, "auth_ref": [ "r9" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAdditionalGeneralDisclosuresAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1": { "xbrltype": "durationItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Compensation Arrangement by Share-Based Payment Award, Award Vesting Period", "terseLabel": "Award vesting period", "documentation": "Period over which grantee's right to exercise award under share-based payment arrangement is no longer contingent on satisfaction of service or performance condition, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, combination of market, performance or service condition." } } }, "auth_ref": [ "r833" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardDiscountFromMarketPricePurchaseDate", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Discount from Market Price, Purchase Date", "terseLabel": "Discounted price from the average December market price at which shares purchased by participants in LTR Plan (as a percent)", "verboseLabel": "Discount (as a percent)", "documentation": "Discount rate from fair value on purchase date that participants pay for shares." } } }, "auth_ref": [ "r80" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeited in Period", "negatedLabel": "Forfeited, Units", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period." } } }, "auth_ref": [ "r520" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value", "terseLabel": "Forfeited, Weighted Average Grant Date Fair Value per Unit", "documentation": "Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event." } } }, "auth_ref": [ "r520" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period", "terseLabel": "Granted, Units", "documentation": "The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r518" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Granted, Weighted Average Grant Date Fair Value per Unit", "documentation": "The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan)." } } }, "auth_ref": [ "r518" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number", "periodEndLabel": "Ending balance, Units", "periodStartLabel": "Beginning balance, Units", "documentation": "The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date." } } }, "auth_ref": [ "r515", "r516" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Number of Shares [Roll Forward]", "terseLabel": "Units", "documentation": "A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value", "periodEndLabel": "Ending Balance, Weighted Average Grant Date Fair Value per Unit", "periodStartLabel": "Beginning Balance, Weighted Average Grant Date Fair Value per Unit", "documentation": "Per share or unit weighted-average fair value of nonvested award under share-based payment arrangement. Excludes share and unit options." } } }, "auth_ref": [ "r515", "r516" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value [Abstract]", "terseLabel": "Weighted Average Grant Date Fair Value per Unit" } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period", "negatedTerseLabel": "Vested, Units", "documentation": "The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period." } } }, "auth_ref": [ "r519" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodTotalFairValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Fair Value", "terseLabel": "Total fair value of Units vested", "documentation": "Fair value of share-based awards for which the grantee gained the right by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash." } } }, "auth_ref": [ "r522" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Vested in Period, Weighted Average Grant Date Fair Value", "terseLabel": "Vested, Weighted Average Grant Date Fair Value per Unit", "documentation": "The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement." } } }, "auth_ref": [ "r519" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award [Line Items]", "documentation": "Line items represent financial concepts included in a table. These concepts are used to disclose reportable information associated with domain members defined in one or many axes to the table." } } }, "auth_ref": [ "r499", "r501", "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r527", "r528", "r529", "r530", "r531" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Authorized", "terseLabel": "Share-based awards grant", "verboseLabel": "Common stock available for grants", "documentation": "Number of shares authorized for issuance under share-based payment arrangement." } } }, "auth_ref": [ "r834" ] }, "us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Number of Shares Available for Grant", "terseLabel": "Remaining common stock available for grant", "documentation": "The difference between the maximum number of shares (or other type of equity) authorized for issuance under the plan (including the effects of amendments and adjustments), and the sum of: 1) the number of shares (or other type of equity) already issued upon exercise of options or other equity-based awards under the plan; and 2) shares (or other type of equity) reserved for issuance on granting of outstanding awards, net of cancellations and forfeitures, if applicable." } } }, "auth_ref": [ "r80" ] }, "prim_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharePurchasePeriodAfterAnnualReport": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/20231231", "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/2023", "localname": "ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails", "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails", "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": [ "r503", "r504", "r505", "r507", "r508", "r509", "r510", "r511", "r512", "r513", "r514", "r515", "r516", "r517", "r518", "r519", "r520", "r521", "r522", "r523", "r524", "r527", "r528", "r529", "r530", "r531" ] }, "us-gaap_ShareBasedCompensationAwardTrancheOneMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheOneMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Tranche One [Member]", "terseLabel": "Year 1", "documentation": "First portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationAwardTrancheThreeMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheThreeMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Tranche Three [Member]", "terseLabel": "Year 3", "documentation": "Third portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationAwardTrancheTwoMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationAwardTrancheTwoMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-Based Payment Arrangement, Tranche Two [Member]", "terseLabel": "Year 2", "documentation": "Second portion of award under share-based payment arrangement differentiated by vesting feature, including, but not limited to, performance measure or service period." } } }, "auth_ref": [] }, "us-gaap_ShareBasedCompensationOptionAndIncentivePlansPolicy": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ShareBasedCompensationOptionAndIncentivePlansPolicy", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation, Option and Incentive Plans Policy [Policy Text Block]", "terseLabel": "Share-based payments and stock-based compensation", "documentation": "Disclosure of accounting policy for award under share-based payment arrangement. Includes, but is not limited to, methodology and assumption used in measuring cost." } } }, "auth_ref": [ "r498", "r506", "r525", "r526", "r527", "r528", "r531", "r537", "r538", "r539", "r540" ] }, "us-gaap_SharePrice": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharePrice", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Share Price", "verboseLabel": "Share price (in dollars per share)", "documentation": "Price of a single share of a number of saleable stocks of a company." } } }, "auth_ref": [] }, "prim_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardPercentageOfTarget": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardPercentageOfTarget", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationPerformanceStockUnitsDetails" ], "lang": { "en-us": { "role": { "documentation": "Percentage of earned award to target award, based on achievement of performance goals, under share-based payment arrangement.", "label": "Sharebased Compensation Arrangement By Sharebased Payment Award Award Percentage Of Target", "terseLabel": "Earned award, percentage of target" } } }, "auth_ref": [] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SharebasedCompensationArrangementBySharebasedPaymentAwardAwardVestingRightsPercentage", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Share-based Compensation Arrangement by Share-based Payment Award, Award Vesting Rights, Percentage", "terseLabel": "Vesting percentage", "documentation": "Percentage of vesting of award under share-based payment arrangement." } } }, "auth_ref": [ "r1056" ] }, "us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardPurchasePriceOfCommonStockPercent": { "xbrltype": "percentItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/2023", "localname": "SharesIssued", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r20" ] }, "us-gaap_SignificantAccountingPoliciesTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SignificantAccountingPoliciesTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPolicies" ], "lang": { "en-us": { "role": { "label": "Significant Accounting Policies [Text Block]", "terseLabel": "Summary of Significant Accounting Policies", "documentation": "The entire disclosure for all significant accounting policies of the reporting entity." } } }, "auth_ref": [ "r147", "r236" ] }, "prim_SignificantRevisionInContractEstimateEarningPerShareBasicImpact": { "xbrltype": "perShareItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SignificantRevisionInContractEstimateEarningPerShareBasicImpact", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The earning per share basic impact of increase (decrease) during the reporting period in the amount of gross profit earned on contracts, if the revised estimates had been applied in the prior year.", "label": "Significant Revision in Contract Estimate Earning Per Share Basic Impact", "terseLabel": "Basic EPS impact to year" } } }, "auth_ref": [] }, "prim_SignificantRevisionInContractEstimateEarningPerShareDilutedImpact": { "xbrltype": "perShareItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SignificantRevisionInContractEstimateEarningPerShareDilutedImpact", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The earning per share diluted impact of increase (decrease) during the reporting period in the amount of gross profit earned on contracts, if the revised estimates had been applied in the prior year.", "label": "Significant Revision in Contract Estimate Earning Per Share Diluted Impact", "terseLabel": "Diluted EPS impact to year" } } }, "auth_ref": [] }, "prim_SignificantRevisionInContractEstimatePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SignificantRevisionInContractEstimatePolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for significant revision in contract estimate.", "label": "Significant Revision in Contract Estimate [Policy Text Block]", "terseLabel": "Significant revision in contract estimates" } } }, "auth_ref": [] }, "prim_SignificantRevisionInContractIncreaseDecreaseInNetIncome": { "xbrltype": "monetaryItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SignificantRevisionInContractIncreaseDecreaseInNetIncome", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesForeignOperationsDetails" ], "lang": { "en-us": { "role": { "documentation": "The net impact of increase (decrease) in net income due to revisions in contract estimates.", "label": "Significant Revision In Contract Increase Decrease in Net Income", "terseLabel": "Decrease in net income from revision in contract estimates" } } }, "auth_ref": [] }, "prim_SouthernCaliforniaPipetradesTrustFundsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "SouthernCaliforniaPipetradesTrustFundsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureMultiemployerPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the multiemployer benefit plan of Southern California Pipetrades Trust Funds.", "label": "Southern California Pipe Trades Trust Funds" } } }, "auth_ref": [] }, "prim_StateNetOperatingLossExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "StateNetOperatingLossExpirationPeriod", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of time State net operating losses generally expire.", "label": "State Net Operating Loss Expiration Period", "terseLabel": "Expiration period for state net operating loss carryforwards (in years)" } } }, "auth_ref": [] }, "us-gaap_StatementBusinessSegmentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r201", "r272", "r275", "r276", "r277", "r278", "r279", "r280", "r281", "r282", "r283", "r284", "r285", "r286", "r288", "r289", "r290", "r291", "r292", "r293", "r294", "r295", "r296", "r298", "r304", "r316", "r317", "r318", "r319", "r320", "r321", "r322", "r323", "r324", "r331", "r332", "r333", "r670", "r671", "r672", "r673", "r674", "r675", "r676", "r677", "r678", "r679", "r680", "r808", "r944", "r1114" ] }, "us-gaap_StatementEquityComponentsAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementEquityComponentsAxis", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Equity Components [Axis]", "documentation": "Information by component of equity." } } }, "auth_ref": [ "r20", "r38", "r200", "r225", "r226", "r227", "r244", "r245", "r246", "r248", "r254", "r256", "r270", "r308", "r309", "r391", "r534", "r535", "r536", "r565", "r566", "r593", "r594", "r595", "r596", "r597", "r598", "r601", "r618", "r619", "r620", "r621", "r622", "r623", "r639", "r682", "r683", "r684", "r696", "r755" ] }, "srt_StatementGeographicalAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementGeographicalAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureReportableSegmentsRevenueAndTotalAssetsByGeographicAreaDetails" ], "lang": { "en-us": { "role": { "label": "Geographical [Axis]" } } }, "auth_ref": [ "r302", "r303", "r700", "r703", "r705", "r761", "r763", "r766", "r780", "r784", "r787", "r788", "r789", "r790", "r791", "r792", "r793", "r794", "r795", "r799", "r817", "r843", "r991", "r1114" ] }, "us-gaap_StatementLineItems": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementLineItems", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r244", "r245", "r246", "r270", "r646", "r689", "r697", "r709", "r710", "r711", "r712", "r713", "r714", "r717", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r730", "r731", "r732", "r733", "r734", "r736", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r755", "r844" ] }, "us-gaap_StatementOfCashFlowsAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfCashFlowsAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF CASH FLOWS" } } }, "auth_ref": [] }, "us-gaap_StatementOfFinancialPositionAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfFinancialPositionAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED BALANCE SHEETS" } } }, "auth_ref": [] }, "us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfIncomeAndComprehensiveIncomeAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME" } } }, "auth_ref": [] }, "us-gaap_StatementOfStockholdersEquityAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementOfStockholdersEquityAbstract", "lang": { "en-us": { "role": { "label": "CONSOLIDATED STATEMENTS OF STOCKHOLDERS' EQUITY" } } }, "auth_ref": [] }, "srt_StatementScenarioAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "StatementScenarioAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDerivativeInstrumentsDetails" ], "lang": { "en-us": { "role": { "label": "Scenario [Axis]" } } }, "auth_ref": [ "r257", "r494", "r935", "r936", "r965" ] }, "us-gaap_StatementTable": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StatementTable", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails", "http://www.primoriscorp.com/role/DisclosureLeasesComponentsOfLeaseExpenseAndOperatingLeaseLiabilitiesDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Statement [Table]", "documentation": "Schedule reflecting a Statement of Income, Statement of Cash Flows, Statement of Financial Position, Statement of Shareholders' Equity and Other Comprehensive Income, or other statement as needed." } } }, "auth_ref": [ "r244", "r245", "r246", "r270", "r646", "r689", "r697", "r709", "r710", "r711", "r712", "r713", "r714", "r717", "r720", "r721", "r722", "r723", "r724", "r725", "r726", "r727", "r728", "r730", "r731", "r732", "r733", "r734", "r736", "r738", "r739", "r740", "r741", "r742", "r743", "r744", "r745", "r746", "r747", "r748", "r749", "r750", "r751", "r755", "r844" ] }, "ecd_StkPrcOrTsrEstimationMethodTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "StkPrcOrTsrEstimationMethodTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/ErrCompDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Price or TSR Estimation Method [Text Block]", "terseLabel": "Stock Price or TSR Estimation Method" } } }, "auth_ref": [ "r865", "r877", "r887", "r913" ] }, "us-gaap_StockAppreciationRightsSARSMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockAppreciationRightsSARSMember", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Stock Appreciation Rights (SARs) [Member]", "terseLabel": "Stock Appreciation Rights (SARs)", "documentation": "Right to receive cash or shares equal to appreciation of predetermined number of grantor's shares during predetermined time period." } } }, "auth_ref": [] }, "us-gaap_StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesConversionOfConvertibleSecurities", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, 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": [ "r20", "r37", "r76", "r161", "r366" ] }, "us-gaap_StockIssuedDuringPeriodSharesEmployeeStockPurchasePlans": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r20", "r126", "r127", "r161" ] }, "us-gaap_StockIssuedDuringPeriodSharesNewIssues": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesNewIssues", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails", "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r20", "r126", "r127", "r161", "r691", "r755", "r781" ] }, "us-gaap_StockIssuedDuringPeriodSharesShareBasedCompensation": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodSharesShareBasedCompensation", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Shares, Share-based Compensation, Net of Forfeitures", "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": [ "r20", "r126", "r127", "r161" ] }, "us-gaap_StockIssuedDuringPeriodValueConversionOfConvertibleSecurities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueConversionOfConvertibleSecurities", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Issued During Period, Value, Conversion of Convertible Securities", "verboseLabel": "Conversion of Restricted Stock Units, net of shares withheld for taxes", "documentation": "The gross value of stock issued during the period upon the conversion of convertible securities." } } }, "auth_ref": [ "r20", "r38", "r161" ] }, "us-gaap_StockIssuedDuringPeriodValueEmployeeStockPurchasePlan": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r20", "r126", "r127", "r161" ] }, "us-gaap_StockIssuedDuringPeriodValueNewIssues": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockIssuedDuringPeriodValueNewIssues", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "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": [ "r20", "r126", "r127", "r161", "r696", "r755", "r781", "r853" ] }, "prim_StockIssuedShareBasedCompensationRestrictionPeriodForTrade": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "StockIssuedShareBasedCompensationRestrictionPeriodForTrade", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the period of restriction on trade of shares issued as a result of any equity-based compensation plan.", "label": "Stock Issued Share Based Compensation Restriction Period for Trade", "terseLabel": "Period of restriction on trade for shares issued to non-employee members of the board of directors under the Primoris Long-term Retention Plan" } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramAuthorizedAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramAuthorizedAmount1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Authorized Amount", "terseLabel": "Aggregate purchase price up to which shares can be acquired under share purchase program", "documentation": "Amount of stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchase Program, Remaining Authorized Repurchase Amount", "terseLabel": "Amount remaining for purchase under share purchase program", "documentation": "Amount remaining of a stock repurchase plan authorized." } } }, "auth_ref": [] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodShares", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Shares", "terseLabel": "Number of shares purchased and cancelled under share purchase program", "documentation": "Number of shares that have been repurchased and retired during the period." } } }, "auth_ref": [ "r20", "r126", "r127", "r161" ] }, "us-gaap_StockRepurchasedAndRetiredDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedAndRetiredDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased and Retired During Period, Value", "terseLabel": "Amount paid for shares purchased under share purchase program", "documentation": "Equity impact of the value of stock that has been repurchased and retired during the period. The excess of the purchase price over par value can be charged against retained earnings (once the excess is fully allocated to additional paid in capital)." } } }, "auth_ref": [ "r20", "r126", "r127", "r161" ] }, "us-gaap_StockRepurchasedDuringPeriodShares": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodShares", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Shares", "negatedLabel": "Purchase of stock (in shares)", "documentation": "Number of shares that have been repurchased during the period and have not been retired and are not held in treasury. Some state laws may govern the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r20", "r126", "r127", "r161", "r692", "r755", "r782" ] }, "us-gaap_StockRepurchasedDuringPeriodValue": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockRepurchasedDuringPeriodValue", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stock Repurchased During Period, Value", "negatedLabel": "Purchase of stock", "documentation": "Equity impact of the value of stock that has been repurchased during the period and has not been retired and is not held in treasury. Some state laws may mandate the circumstances under which an entity may acquire its own stock and prescribe the accounting treatment therefore. This element is used when state law does not recognize treasury stock." } } }, "auth_ref": [ "r20", "r126", "r127", "r161", "r696", "r755", "r782", "r853" ] }, "us-gaap_StockholdersEquity": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquity", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets": { "parentTag": "us-gaap_LiabilitiesAndStockholdersEquity", "weight": 1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest", "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": [ "r127", "r130", "r131", "r149", "r719", "r735", "r756", "r757", "r839", "r854", "r959", "r973", "r1095", "r1118" ] }, "us-gaap_StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityIncludingPortionAttributableToNoncontrollingInterestAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheets", "http://www.primoriscorp.com/role/StatementConsolidatedBalanceSheetsParenthetical" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity, Including Portion Attributable to Noncontrolling Interest [Abstract]", "terseLabel": "Stockholders' equity" } } }, "auth_ref": [] }, "prim_StockholdersEquityLineItems": { "xbrltype": "stringItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "localname": "StockholdersEquityNoteAbstract", "lang": { "en-us": { "role": { "label": "Stockholders' Equity" } } }, "auth_ref": [] }, "us-gaap_StockholdersEquityNoteDisclosureTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "StockholdersEquityNoteDisclosureTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquity" ], "lang": { "en-us": { "role": { "label": "Stockholders' Equity Note Disclosure [Text Block]", "terseLabel": "Stockholders' Equity", "documentation": "The entire disclosure for equity." } } }, "auth_ref": [ "r158", "r238", "r378", "r380", "r381", "r382", "r383", "r384", "r385", "r386", "r387", "r388", "r389", "r390", "r391", "r600", "r758", "r759", "r783" ] }, "us-gaap_SubsidiarySaleOfStockAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SubsidiarySaleOfStockAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Sale of Stock [Axis]", "documentation": "Information by type of sale of the entity's stock." } } }, "auth_ref": [] }, "us-gaap_SupplementalCashFlowInformationAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "SupplementalCashFlowInformationAbstract", "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "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/2023", "localname": "TabularListTableTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Tabular List [Table Text Block]", "terseLabel": "Tabular List, Table" } } }, "auth_ref": [ "r906" ] }, "prim_TaxCreditCarryForwardExpirationPeriod": { "xbrltype": "durationItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "TaxCreditCarryForwardExpirationPeriod", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "documentation": "The period of time when tax credit carried forward will generally expire.", "label": "Tax Credit Carry Forward, Expiration Period" } } }, "auth_ref": [] }, "us-gaap_TaxCreditCarryforwardAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxCreditCarryforwardAmount", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Tax Credit Carryforward, Amount", "verboseLabel": "Capital loss carryforward", "documentation": "The amount of the tax credit carryforward, before tax effects, available to reduce future taxable income under enacted tax laws." } } }, "auth_ref": [ "r86" ] }, "prim_TaxesCollectedFromCustomersPolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "TaxesCollectedFromCustomersPolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for taxes collected from customers.", "label": "Taxes Collected from Customers [Policy Text Block]", "terseLabel": "Taxes collected from customers" } } }, "auth_ref": [] }, "us-gaap_TaxesPayableCurrent": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TaxesPayableCurrent", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/DisclosureAccountsPayableAndAccruedLiabilitiesDetails": { "parentTag": "us-gaap_AccruedLiabilitiesCurrent", "weight": 1.0, "order": 4.0 } }, "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": [ "r29" ] }, "us-gaap_TimeAndMaterialsContractMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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": [ "r819" ] }, "srt_TitleOfIndividualAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Title of Individual [Axis]" } } }, "auth_ref": [ "r968", "r1100" ] }, "srt_TitleOfIndividualWithRelationshipToEntityDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/srt/2023", "localname": "TitleOfIndividualWithRelationshipToEntityDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityDetails" ], "lang": { "en-us": { "role": { "label": "Relationship to Entity [Domain]" } } }, "auth_ref": [] }, "prim_TopTenCustomersMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "TopTenCustomersMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesCustomerConcentrationDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents information pertaining to the top ten customers of the entity.", "label": "Top ten customers" } } }, "auth_ref": [] }, "prim_TotalAssetsPercentage": { "xbrltype": "percentItemType", "nsuri": "http://www.primoriscorp.com/20231231", "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/2023", "localname": "TotalShareholderRtnAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Amount", "terseLabel": "Total Shareholder Return Amount" } } }, "auth_ref": [ "r898" ] }, "ecd_TotalShareholderRtnVsPeerGroupTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TotalShareholderRtnVsPeerGroupTextBlock", "presentation": [ "http://xbrl.sec.gov/ecd/role/PvpDisclosure" ], "lang": { "en-us": { "role": { "label": "Total Shareholder Return Vs Peer Group [Text Block]", "terseLabel": "Total Shareholder Return Vs Peer Group" } } }, "auth_ref": [ "r905" ] }, "us-gaap_TradeNamesMember": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TradeNamesMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureBusinessCombinationsPlhAndFihDetails", "http://www.primoriscorp.com/role/DisclosureGoodwillAndIntangibleAssetsIntangibleAssetsDetails" ], "lang": { "en-us": { "role": { "label": "Tradename", "terseLabel": "Tradenames", "documentation": "Rights acquired through registration of a business name to gain or protect exclusive use thereof." } } }, "auth_ref": [ "r96" ] }, "ecd_TradingArrAxis": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrAxis", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement [Axis]", "terseLabel": "Trading Arrangement:" } } }, "auth_ref": [ "r926" ] }, "ecd_TradingArrByIndTable": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TradingArrByIndTable", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangements, by Individual [Table]", "terseLabel": "Trading Arrangements, by Individual" } } }, "auth_ref": [ "r928" ] }, "dei_TradingSymbol": { "xbrltype": "tradingSymbolItemType", "nsuri": "http://xbrl.sec.gov/dei/2023", "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/2023", "localname": "TrdArrAdoptionDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Adoption Date", "terseLabel": "Adoption Date" } } }, "auth_ref": [ "r929" ] }, "ecd_TrdArrDuration": { "xbrltype": "durationItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrDuration", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Duration", "terseLabel": "Arrangement Duration" } } }, "auth_ref": [ "r930" ] }, "ecd_TrdArrIndName": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndName", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Name", "terseLabel": "Name" } } }, "auth_ref": [ "r928" ] }, "ecd_TrdArrIndTitle": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrIndTitle", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Individual Title", "terseLabel": "Title" } } }, "auth_ref": [ "r928" ] }, "ecd_TrdArrSecuritiesAggAvailAmt": { "xbrltype": "sharesItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrSecuritiesAggAvailAmt", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement, Securities Aggregate Available Amount", "terseLabel": "Aggregate Available" } } }, "auth_ref": [ "r931" ] }, "ecd_TrdArrTerminationDate": { "xbrltype": "stringItemType", "nsuri": "http://xbrl.sec.gov/ecd/2023", "localname": "TrdArrTerminationDate", "presentation": [ "http://xbrl.sec.gov/ecd/role/InsiderTradingArrangements" ], "lang": { "en-us": { "role": { "label": "Trading Arrangement Termination Date", "terseLabel": "Termination Date" } } }, "auth_ref": [ "r929" ] }, "us-gaap_TreasuryStockAcquiredAverageCostPerShare": { "xbrltype": "perShareItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "TreasuryStockAcquiredAverageCostPerShare", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockholdersEquityEmployeeStockPurchasePlanSecondaryOfferingSharePurchasePlanDetails" ], "lang": { "en-us": { "role": { "label": "Treasury Stock Acquired, Average Cost Per Share", "terseLabel": "Amount paid for shares purchased and cancelled under share purchase program (per share)", "documentation": "Total cost of shares repurchased divided by the total number of shares repurchased." } } }, "auth_ref": [ "r78" ] }, "us-gaap_TreasuryStockValueAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "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/20231231", "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": "Utilities" } } }, "auth_ref": [] }, "country_US": { "xbrltype": "domainItemType", "nsuri": "http://xbrl.sec.gov/country/2023", "localname": "US", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "label": "United States" } } }, "auth_ref": [] }, "us-gaap_UnamortizedDebtIssuanceExpense": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnamortizedDebtIssuanceExpense", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureCreditArrangementsDetailsCal2": { "parentTag": "us-gaap_LongTermDebt", "weight": -1.0, "order": 2.0 } }, "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/2023", "localname": "UnbilledReceivablesCurrent", "crdr": "debit", "calculation": { "http://www.primoriscorp.com/role/DisclosureRevenueContractAssetsDetails": { "parentTag": "us-gaap_ContractWithCustomerAssetNetCurrent", "weight": 1.0, "order": 3.0 } }, "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/2023", "localname": "UndrlygSecurityMktPriceChngPct", "presentation": [ "http://xbrl.sec.gov/ecd/role/AwardTimingDisclosure" ], "lang": { "en-us": { "role": { "label": "Underlying Security Market Price Change, Percent", "terseLabel": "Underlying Security Market Price Change" } } }, "auth_ref": [ "r925" ] }, "prim_UnitPriceContractsMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "UnitPriceContractsMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureRevenueDisaggregationOfRevenueByCustomerTypeAndContractTypeDetails" ], "lang": { "en-us": { "role": { "documentation": "This member stands for Unit-price contract.", "label": "Unit price" } } }, "auth_ref": [] }, "prim_UnitedStatesDefinedContributionPlanMember": { "xbrltype": "domainItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "UnitedStatesDefinedContributionPlanMember", "presentation": [ "http://www.primoriscorp.com/role/DisclosureEmployeeBenefitPlansDetails" ], "lang": { "en-us": { "role": { "documentation": "Represents the defined contribution plan for employees in United States, who are not covered by the collective bargaining agreement.", "label": "401(k) Plan" } } }, "auth_ref": [] }, "us-gaap_UnrealizedGainLossOnDerivatives": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrealizedGainLossOnDerivatives", "crdr": "credit", "calculation": { "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows": { "parentTag": "us-gaap_NetCashProvidedByUsedInOperatingActivities", "weight": -1.0, "order": 2.0 } }, "presentation": [ "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfCashFlows" ], "lang": { "en-us": { "role": { "label": "Unrealized Gain (Loss) on Derivatives", "negatedLabel": "Unrealized 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": [ "r10", "r748", "r749", "r750", "r751", "r772" ] }, "us-gaap_UnrecognizedTaxBenefits": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefits", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits", "periodEndLabel": "Total", "periodStartLabel": "Beginning balance", "documentation": "Amount of unrecognized tax benefits." } } }, "auth_ref": [ "r543", "r551" ] }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromPriorPeriodTaxPositions", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Decrease Resulting from Prior Period Tax Positions", "negatedLabel": "(Decreases) increases in balances for tax positions taken during prior years", "documentation": "Amount of decrease in unrecognized tax benefits resulting from tax positions taken in prior period tax returns." } } }, "auth_ref": [ "r552" ] }, "us-gaap_UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsDecreasesResultingFromSettlementsWithTaxingAuthorities", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Decrease Resulting from Settlements with Taxing Authorities", "negatedLabel": "Settlements and effective settlements with tax authorities", "documentation": "Amount of decrease in unrecognized tax benefits resulting from settlements with taxing authorities." } } }, "auth_ref": [ "r554" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromCurrentPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Increase Resulting from Current Period Tax Positions", "terseLabel": "Increases in balances for tax positions taken during the current year", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions that have been or will be taken in current period tax return." } } }, "auth_ref": [ "r553" ] }, "us-gaap_UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsIncreasesResultingFromPriorPeriodTaxPositions", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Increase Resulting from Prior Period Tax Positions", "terseLabel": "Increases in balances for tax positions taken during prior years", "documentation": "Amount of increase in unrecognized tax benefits resulting from tax positions taken in prior period tax returns." } } }, "auth_ref": [ "r552" ] }, "us-gaap_UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations", "crdr": "debit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations", "negatedLabel": "Lapse of statute of limitations", "documentation": "Amount of decrease in unrecognized tax benefits resulting from lapses of applicable statutes of limitations." } } }, "auth_ref": [ "r555" ] }, "us-gaap_UseOfEstimates": { "xbrltype": "textBlockItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "UseOfEstimates", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "label": "Use of Estimates, Policy [Policy Text Block]", "terseLabel": "Use of estimates", "documentation": "Disclosure of accounting policy for the use of estimates in the preparation of financial statements in conformity with generally accepted accounting principles." } } }, "auth_ref": [ "r57", "r58", "r59", "r183", "r184", "r187", "r188" ] }, "us-gaap_ValuationAllowanceDeferredTaxAssetChangeInAmount": { "xbrltype": "monetaryItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "ValuationAllowanceDeferredTaxAssetChangeInAmount", "crdr": "credit", "presentation": [ "http://www.primoriscorp.com/role/DisclosureIncomeTaxesDetails" ], "lang": { "en-us": { "role": { "label": "Valuation Allowance, Deferred Tax Asset, Increase (Decrease), Amount", "terseLabel": "Change in valuation allowance", "documentation": "Amount of increase (decrease) in the valuation allowance for a specified deferred tax asset." } } }, "auth_ref": [ "r558" ] }, "us-gaap_VariableRateAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Axis]", "documentation": "Information by type of variable rate." } } }, "auth_ref": [] }, "us-gaap_VariableRateDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VariableRateDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureCreditArrangementsNarrativesDetails" ], "lang": { "en-us": { "role": { "label": "Variable Rate [Domain]", "documentation": "Interest rate that fluctuates over time as a result of an underlying benchmark interest rate or index." } } }, "auth_ref": [] }, "us-gaap_VestingAxis": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingAxis", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Vesting [Axis]", "documentation": "Information by vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076", "r1077", "r1078", "r1079", "r1080", "r1081" ] }, "us-gaap_VestingDomain": { "xbrltype": "domainItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "VestingDomain", "presentation": [ "http://www.primoriscorp.com/role/DisclosureStockBasedCompensationRestrictedStockUnitsDetails" ], "lang": { "en-us": { "role": { "label": "Vesting [Domain]", "documentation": "Vesting schedule of award under share-based payment arrangement." } } }, "auth_ref": [ "r1056", "r1057", "r1058", "r1059", "r1060", "r1061", "r1062", "r1063", "r1064", "r1065", "r1066", "r1067", "r1068", "r1069", "r1070", "r1071", "r1072", "r1073", "r1074", "r1075", "r1076", "r1077", "r1078", "r1079", "r1080", "r1081" ] }, "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding": { "xbrltype": "sharesItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfDilutedSharesOutstanding", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": null, "weight": null, "order": null, "root": true } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r259", "r267" ] }, "us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract": { "xbrltype": "stringItemType", "nsuri": "http://fasb.org/us-gaap/2023", "localname": "WeightedAverageNumberOfSharesOutstandingAbstract", "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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/2023", "localname": "WeightedAverageNumberOfSharesOutstandingBasic", "calculation": { "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails": { "parentTag": "us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding", "weight": 1.0, "order": 1.0 } }, "presentation": [ "http://www.primoriscorp.com/role/DisclosureDividendsAndEarningsPerShareDetails", "http://www.primoriscorp.com/role/DisclosureSelectedQuarterlyFinancialInformationUnauditedDetails", "http://www.primoriscorp.com/role/StatementConsolidatedStatementsOfIncome" ], "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": [ "r258", "r267" ] }, "prim_WorkersCompensationInsurancePolicyTextBlock": { "xbrltype": "textBlockItemType", "nsuri": "http://www.primoriscorp.com/20231231", "localname": "WorkersCompensationInsurancePolicyTextBlock", "presentation": [ "http://www.primoriscorp.com/role/DisclosureSummaryOfSignificantAccountingPoliciesPolicies" ], "lang": { "en-us": { "role": { "documentation": "Disclosure of accounting policy for collective bargaining agreements. A collective bargaining arrangement is a written and legally enforceable employment contract agreement between management of an organization and its employees represented by a union.", "label": "Workers Compensation Insurance [Policy Text Block]", "verboseLabel": "Insurance" } } }, "auth_ref": [] } } } }, "std_ref": { "r0": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "1", "SubTopic": "20", "Topic": "940", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481913/940-20-25-1" }, "r1": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "25", "Paragraph": "16", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479405/805-10-25-16" }, "r2": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "7", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-7" }, "r3": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "30", "Paragraph": "8", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479637/805-30-30-8" }, "r4": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479613/805-30-35-1" }, "r5": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "SubTopic": "230", "Topic": "830", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r6": { "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" }, "r7": { "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" }, "r8": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "14", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "230", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-14" }, "r9": { "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" }, "r10": { "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" }, "r11": { "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" }, "r12": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "470", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481544/470-10-50-1" }, "r13": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r14": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "350", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r15": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "30", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481097/715-30-50-1" }, "r16": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "60", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-1" }, "r17": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "30", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r18": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11B", "Subparagraph": "(c)(1)", "SubTopic": "10", "Topic": "310", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-11B" }, "r19": { "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" }, "r20": { "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" }, "r21": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "10", "Topic": "815", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-2" }, "r22": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "SubTopic": "80", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-2" }, "r23": { "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" }, "r24": { "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" }, "r25": { "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" }, "r26": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r27": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(a),20,24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r28": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19(b),22(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r29": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19,20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r30": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.19-26)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r31": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.20)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r32": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.21)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r33": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r34": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.22)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r35": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.24)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r36": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.25)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r37": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-30)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r38": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.29-31)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r39": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "210", "SubTopic": "10", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02.3,4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r40": { "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" }, "r41": { "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" }, "r42": { "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" }, "r43": { "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" }, "r44": { "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" }, "r45": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r46": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r47": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "230", "SubTopic": "10", "Section": "45", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482740/230-10-45-15" }, "r48": { "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" }, "r49": { "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" }, "r50": { "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" }, "r51": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "270", "SubTopic": "10", "Section": "45", "Paragraph": "14", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482989/270-10-45-14" }, "r52": { "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" }, "r53": { "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" }, "r54": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "18", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-18" }, "r55": { "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" }, "r56": { "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" }, "r57": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-4" }, "r58": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-8" }, "r59": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "275", "SubTopic": "10", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-9" }, "r60": { "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" }, "r61": { "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" }, "r62": { "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" }, "r63": { "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" }, "r64": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482573/350-20-50-1" }, "r65": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-1" }, "r66": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482686/350-30-45-2" }, "r67": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r68": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "((a)(1),(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r69": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r70": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "350", "SubTopic": "30", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r71": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r72": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "360", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r73": { "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" }, "r74": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-2" }, "r75": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "470", "SubTopic": "50", "Section": "40", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481303/470-50-40-4" }, "r76": { "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" }, "r77": { "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" }, "r78": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "505", "SubTopic": "30", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481549/505-30-45-1" }, "r79": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "715", "SubTopic": "70", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r80": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r81": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "718", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r82": { "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" }, "r83": { "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" }, "r84": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "45", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-6" }, "r85": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "15", "Subparagraph": "(d)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15" }, "r86": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-3" }, "r87": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "740", "SubTopic": "10", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-8" }, "r88": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "05", "Paragraph": "4", "Subparagraph": "(a)-(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479515/805-10-05-4" }, "r89": { "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" }, "r90": { "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" }, "r91": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r92": { "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" }, "r93": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "10", "Section": "55", "Paragraph": "37", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479303/805-10-55-37" }, "r94": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r95": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "20", "Section": "50", "Paragraph": "4A", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-4A" }, "r96": { "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" }, "r97": { "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" }, "r98": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "805", "SubTopic": "30", "Section": "25", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479668/805-30-25-6" }, "r99": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-1" }, "r100": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "2AA", "Subparagraph": "a", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-2AA" }, "r101": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-4" }, "r102": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "810", "SubTopic": "10", "Section": "50", "Paragraph": "5A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481203/810-10-50-5A" }, "r103": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1" }, "r104": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-1A" }, "r105": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4" }, "r106": { "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" }, "r107": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(a),(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r108": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "4B", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-4B" }, "r109": { "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" }, "r110": { "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" }, "r111": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "815", "SubTopic": "10", "Section": "50", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480434/815-10-50-7" }, "r112": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "820", "SubTopic": "10", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r113": { "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" }, "r114": { "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" }, "r115": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "1A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-1A" }, "r116": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-2" }, "r117": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "45", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482925/835-30-45-3" }, "r118": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "835", "SubTopic": "30", "Section": "55", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482949/835-30-55-8" }, "r119": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "210", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03.17)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r120": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Name": "Accounting Standards Codification", "Topic": "942", "SubTopic": "470", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480848/942-470-50-3" }, "r121": { "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/2147480981/942-825-50-1" }, "r122": { "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" }, "r123": { "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" }, "r124": { "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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r125": { "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)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r126": { "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" }, "r127": { "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" }, "r128": { "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" }, "r129": { "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" }, "r130": { "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" }, "r131": { "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" }, "r132": { "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" }, "r133": { "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" }, "r134": { "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" }, "r135": { "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" }, "r136": { "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" }, "r137": { "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" }, "r138": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.5-03.1,2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r139": { "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),(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483621/220-10-S99-2" }, "r140": { "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" }, "r141": { "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" }, "r142": { "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" }, "r143": { "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" }, "r144": { "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" }, "r145": { "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" }, "r146": { "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" }, "r147": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "235", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//235/tableOfContent" }, "r148": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "270", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//270/tableOfContent" }, "r149": { "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" }, "r150": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//350/tableOfContent" }, "r151": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r152": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r153": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r154": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//360/tableOfContent" }, "r155": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "360", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482099/360-10-50-1" }, "r156": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "440", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//440/tableOfContent" }, "r157": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "470", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//470/tableOfContent" }, "r158": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "505", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//505/tableOfContent" }, "r159": { "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" }, "r160": { "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" }, "r161": { "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" }, "r162": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "12", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-12" }, "r163": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "2", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r164": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Paragraph": "9", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r165": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r166": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//805/tableOfContent" }, "r167": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Paragraph": "1", "Section": "50", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-1" }, "r168": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "815", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//815/tableOfContent" }, "r169": { "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" }, "r170": { "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/2147479853/942-210-S99-1" }, "r171": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r172": { "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)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r173": { "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/2147479853/942-210-S99-1" }, "r174": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r175": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r176": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r177": { "role": "http://fasb.org/us-gaap/role/ref/legacyRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r178": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481440/840-10-50-2" }, "r179": { "role": "http://fasb.org/us-gaap/role/ref/otherTransitionRef", "Topic": "840", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481295/840-40-50-1" }, "r180": { "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" }, "r181": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "SubTopic": "10", "Topic": "270", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1" }, "r182": { "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" }, "r183": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r184": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-1" }, "r185": { "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" }, "r186": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-1" }, "r187": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-11" }, "r188": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "SubTopic": "10", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482861/275-10-50-12" }, "r189": { "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" }, "r190": { "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" }, "r191": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-6" }, "r192": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "SubTopic": "360", "Topic": "958", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480321/958-360-50-7" }, "r193": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r194": { "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" }, "r195": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "275", "Publisher": "FASB", "URI": "https://asc.fasb.org//275/tableOfContent" }, "r196": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Accounting Standards Codification", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//606/tableOfContent" }, "r197": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(1)", "Publisher": "SEC" }, "r198": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(a)", "Subparagraph": "(3)", "Publisher": "SEC" }, "r199": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Name": "Regulation S-K (SK)", "Number": "229", "Section": "1405", "Paragraph": "(c)", "Publisher": "SEC" }, "r200": { "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" }, "r201": { "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" }, "r202": { "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" }, "r203": { "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" }, "r204": { "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" }, "r205": { "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" }, "r206": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(13))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r207": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r208": { "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" }, "r209": { "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" }, "r210": { "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" }, "r211": { "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" }, "r212": { "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" }, "r213": { "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" }, "r214": { "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" }, "r215": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.5-02(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r216": { "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" }, "r217": { "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" }, "r218": { "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" }, "r219": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "210", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483444/210-20-55-10" }, "r220": { "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" }, "r221": { "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" }, "r222": { "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" }, "r223": { "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" }, "r224": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "220", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482765/220-10-50-1" }, "r225": { "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" }, "r226": { "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" }, "r227": { "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" }, "r228": { "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" }, "r229": { "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" }, "r230": { "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" }, "r231": { "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" }, "r232": { "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" }, "r233": { "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" }, "r234": { "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" }, "r235": { "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" }, "r236": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-1" }, "r237": { "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" }, "r238": { "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" }, "r239": { "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" }, "r240": { "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)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r241": { "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" }, "r242": { "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(n))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r243": { "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" }, "r244": { "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" }, "r245": { "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" }, "r246": { "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" }, "r247": { "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" }, "r248": { "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" }, "r249": { "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" }, "r250": { "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" }, "r251": { "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" }, "r252": { "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" }, "r253": { "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" }, "r254": { "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" }, "r255": { "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" }, "r256": { "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" }, "r257": { "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" }, "r258": { "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" }, "r259": { "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" }, "r260": { "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" }, "r261": { "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" }, "r262": { "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" }, "r263": { "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" }, "r264": { "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" }, "r265": { "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" }, "r266": { "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" }, "r267": { "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" }, "r268": { "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" }, "r269": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "270", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482964/270-10-50-1B" }, "r270": { "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" }, "r271": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//280/tableOfContent" }, "r272": { "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" }, "r273": { "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" }, "r274": { "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" }, "r275": { "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" }, "r276": { "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" }, "r277": { "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" }, "r278": { "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" }, "r279": { "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" }, "r280": { "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" }, "r281": { "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" }, "r282": { "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" }, "r283": { "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" }, "r284": { "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" }, "r285": { "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" }, "r286": { "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" }, "r287": { "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" }, "r288": { "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" }, "r289": { "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" }, "r290": { "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" }, "r291": { "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" }, "r292": { "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" }, "r293": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r294": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r295": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r296": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "280", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "32", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482810/280-10-50-32" }, "r297": { "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" }, "r298": { "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" }, "r299": { "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" }, "r300": { "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" }, "r301": { "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" }, "r302": { "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" }, "r303": { "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" }, "r304": { "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" }, "r305": { "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" }, "r306": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-9" }, "r307": { "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" }, "r308": { "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" }, "r309": { "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" }, "r310": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479344/326-20-45-1" }, "r311": { "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" }, "r312": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r313": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "326", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479319/326-20-50-13" }, "r314": { "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" }, "r315": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482598/350-20-45-2" }, "r316": { "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" }, "r317": { "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" }, "r318": { "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" }, "r319": { "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" }, "r320": { "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" }, "r321": { "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" }, "r322": { "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" }, "r323": { "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" }, "r324": { "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" }, "r325": { "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" }, "r326": { "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" }, "r327": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-1" }, "r328": { "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" }, "r329": { "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" }, "r330": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "350", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482665/350-30-50-2" }, "r331": { "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" }, "r332": { "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" }, "r333": { "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" }, "r334": { "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" }, "r335": { "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" }, "r336": { "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" }, "r337": { "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" }, "r338": { "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" }, "r339": { "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" }, "r340": { "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" }, "r341": { "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" }, "r342": { "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" }, "r343": { "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" }, "r344": { "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" }, "r345": { "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" }, "r346": { "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" }, "r347": { "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" }, "r348": { "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" }, "r349": { "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" }, "r350": { "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" }, "r351": { "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" }, "r352": { "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" }, "r353": { "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" }, "r354": { "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" }, "r355": { "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" }, "r356": { "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" }, "r357": { "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" }, "r358": { "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" }, "r359": { "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" }, "r360": { "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" }, "r361": { "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" }, "r362": { "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" }, "r363": { "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" }, "r364": { "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" }, "r365": { "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" }, "r366": { "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" }, "r367": { "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" }, "r368": { "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" }, "r369": { "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" }, "r370": { "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" }, "r371": { "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" }, "r372": { "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" }, "r373": { "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" }, "r374": { "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" }, "r375": { "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" }, "r376": { "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" }, "r377": { "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" }, "r378": { "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" }, "r379": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "505", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481112/505-10-50-13" }, "r380": { "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" }, "r381": { "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" }, "r382": { "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" }, "r383": { "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" }, "r384": { "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" }, "r385": { "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" }, "r386": { "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" }, "r387": { "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" }, "r388": { "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" }, "r389": { "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" }, "r390": { "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" }, "r391": { "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" }, "r392": { "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" }, "r393": { "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" }, "r394": { "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" }, "r395": { "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" }, "r396": { "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" }, "r397": { "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" }, "r398": { "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" }, "r399": { "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" }, "r400": { "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" }, "r401": { "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" }, "r402": { "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" }, "r403": { "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" }, "r404": { "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" }, "r405": { "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" }, "r406": { "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" }, "r407": { "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" }, "r408": { "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" }, "r409": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "710", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//710/tableOfContent" }, "r410": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "710", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482969/710-10-50-1" }, "r411": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "712", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//712/tableOfContent" }, "r412": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "712", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481565/712-10-50-2" }, "r413": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//715/tableOfContent" }, "r414": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r415": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r416": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r417": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r418": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r419": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r420": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r421": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r422": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r423": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r424": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r425": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r426": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r427": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r428": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r429": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r430": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r431": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r432": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r433": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r434": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r435": { "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" }, "r436": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(ii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r437": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iii)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r438": { "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" }, "r439": { "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" }, "r440": { "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" }, "r441": { "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" }, "r442": { "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" }, "r443": { "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" }, "r444": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r445": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r446": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r447": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r448": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r449": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r450": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r451": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r452": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r453": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r454": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r455": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r456": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r457": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r458": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r459": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r460": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r461": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(l)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r462": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r463": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(o)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r464": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(p)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r465": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r466": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r467": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(r)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r468": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r469": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r470": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-4" }, "r471": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r472": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r473": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r474": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r475": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r476": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r477": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r478": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r479": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r480": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r481": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480126/715-20-S99-2" }, "r482": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "60", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480266/715-60-50-3" }, "r483": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "70", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480794/715-70-50-1" }, "r484": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1" }, "r485": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r486": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r487": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r488": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r489": { "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" }, "r490": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r491": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(e)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r492": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r493": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-5" }, "r494": { "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" }, "r495": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-7" }, "r496": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r497": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r498": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//718/tableOfContent" }, "r499": { "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" }, "r500": { "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" }, "r501": { "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" }, "r502": { "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" }, "r503": { "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" }, "r504": { "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" }, "r505": { "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" }, "r506": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r507": { "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" }, "r508": { "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" }, "r509": { "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" }, "r510": { "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" }, "r511": { "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" }, "r512": { "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" }, "r513": { "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" }, "r514": { "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" }, "r515": { "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" }, "r516": { "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" }, "r517": { "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" }, "r518": { "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" }, "r519": { "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" }, "r520": { "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" }, "r521": { "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" }, "r522": { "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" }, "r523": { "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" }, "r524": { "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" }, "r525": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r526": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r527": { "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" }, "r528": { "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" }, "r529": { "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" }, "r530": { "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" }, "r531": { "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" }, "r532": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(1)(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r533": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r534": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r535": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r536": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "65", "Paragraph": "15", "Subparagraph": "(f)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480336/718-10-65-15" }, "r537": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.C.Q3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r538": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.1.Q5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r539": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.2.Q6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r540": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.D.3.Q2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r541": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 14.F)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479830/718-10-S99-1" }, "r542": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//740/tableOfContent" }, "r543": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "10B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-10B" }, "r544": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "25", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-25" }, "r545": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "28", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482525/740-10-45-28" }, "r546": { "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" }, "r547": { "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" }, "r548": { "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" }, "r549": { "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" }, "r550": { "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" }, "r551": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r552": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r553": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r554": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r555": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r556": { "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" }, "r557": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "19", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-19" }, "r558": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r559": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r560": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r561": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "20", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-20" }, "r562": { "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" }, "r563": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r564": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r565": { "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" }, "r566": { "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" }, "r567": { "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" }, "r568": { "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" }, "r569": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r570": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r571": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r572": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r573": { "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" }, "r574": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "740", "SubTopic": "270", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482526/740-270-50-1" }, "r575": { "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" }, "r576": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r577": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r578": { "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" }, "r579": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "5", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479907/805-20-50-5" }, "r580": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r581": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-1" }, "r582": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "805", "SubTopic": "30", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479581/805-30-50-4" }, "r583": { "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" }, "r584": { "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" }, "r585": { "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" }, "r586": { "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" }, "r587": { "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" }, "r588": { "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" }, "r589": { "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" }, "r590": { "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" }, "r591": { "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" }, "r592": { "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" }, "r593": { "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" }, "r594": { "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" }, "r595": { "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" }, "r596": { "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" }, "r597": { "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" }, "r598": { "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" }, "r599": { "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" }, "r600": { "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" }, "r601": { "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" }, "r602": { "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" }, "r603": { "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" }, "r604": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-2" }, "r605": { "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" }, "r606": { "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" }, "r607": { "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" }, "r608": { "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" }, "r609": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-3" }, "r610": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "820", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482106/820-10-50-6A" }, "r611": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "825", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482907/825-10-50-10" }, "r612": { "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" }, "r613": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "830", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//830/tableOfContent" }, "r614": { "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" }, "r615": { "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" }, "r616": { "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" }, "r617": { "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" }, "r618": { "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" }, "r619": { "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" }, "r620": { "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" }, "r621": { "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" }, "r622": { "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" }, "r623": { "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" }, "r624": { "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" }, "r625": { "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" }, "r626": { "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" }, "r627": { "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" }, "r628": { "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" }, "r629": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "5", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479041/842-20-45-5" }, "r630": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "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" }, "r631": { "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" }, "r632": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r633": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r634": { "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" }, "r635": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r636": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(g)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-4" }, "r637": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r638": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "842", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479741/842-40-50-2" }, "r639": { "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" }, "r640": { "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" }, "r641": { "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" }, "r642": { "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" }, "r643": { "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" }, "r644": { "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" }, "r645": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "912", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482312/912-310-45-11" }, "r646": { "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" }, "r647": { "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" }, "r648": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "928", "SubTopic": "340", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483147/928-340-50-1" }, "r649": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-03(10)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r650": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(26))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r651": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-04(27))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483589/942-220-S99-1" }, "r652": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.9-05(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479557/942-235-S99-1" }, "r653": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "942", "SubTopic": "360", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480842/942-360-50-1" }, "r654": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(12))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r655": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(15)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r656": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r657": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r658": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r659": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(23)(a)(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r660": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(25))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r661": { "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)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r662": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r663": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r664": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(11))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r665": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(16))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r666": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(18))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r667": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(22))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r668": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(23))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r669": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-04(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483586/944-220-S99-1" }, "r670": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column A))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r671": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column B))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r672": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column C))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r673": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column D))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r674": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r675": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column F))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r676": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column G))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r677": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r678": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column I))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r679": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column J))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r680": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-16(Column K))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480149/944-235-S99-1" }, "r681": { "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" }, "r682": { "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" }, "r683": { "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" }, "r684": { "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" }, "r685": { "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" }, "r686": { "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" }, "r687": { "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" }, "r688": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "944", "SubTopic": "825", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r689": { "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" }, "r690": { "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(h)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479886/946-10-S99-3" }, "r691": { "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" }, "r692": { "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" }, "r693": { "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" }, "r694": { "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" }, "r695": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-3" }, "r696": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r697": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480555/946-210-45-4" }, "r698": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r699": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r700": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r701": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r702": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-12" }, "r703": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-2" }, "r704": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r705": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r706": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r707": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r708": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r709": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r710": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r711": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r712": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(12)(b)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r713": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r714": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(13)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r715": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(14))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r716": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(15))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r717": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(16)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r718": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r719": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(19))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r720": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r721": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(2)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r722": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r723": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r724": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(3)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r725": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r726": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r727": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r728": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(6)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r729": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r730": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r731": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(c))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r732": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r733": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-04(9)(e))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-1" }, "r734": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r735": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.6-05(4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479617/946-210-S99-2" }, "r736": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-3" }, "r737": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "7", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483581/946-220-45-7" }, "r738": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r739": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(2)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r740": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r741": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r742": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r743": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r744": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r745": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(a)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r746": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r747": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r748": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r749": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r750": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r751": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(7)(c)(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r752": { "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/2147483575/946-220-S99-1" }, "r753": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.6-07(9))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-1" }, "r754": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(1)(d))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r755": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r756": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(6))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r757": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r758": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r759": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "235", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481062/946-235-50-2" }, "r760": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r761": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column C)(Footnote 5))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r762": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r763": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column C)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r764": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r765": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r766": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column C)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r767": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column A)(Footnote 3))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r768": { "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/2147480032/946-320-S99-5" }, "r769": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5", "Subparagraph": "(SX 210.12-13(Column G)(Footnote 8))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5" }, "r770": { "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/2147480032/946-320-S99-5A" }, "r771": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5A", "Subparagraph": "(SX 210.12-13A(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5A" }, "r772": { "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/2147480032/946-320-S99-5A" }, "r773": { "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/2147480032/946-320-S99-5B" }, "r774": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E)(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r775": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5B", "Subparagraph": "(SX 210.12-13B(Column E))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5B" }, "r776": { "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/2147480032/946-320-S99-5C" }, "r777": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r778": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "5C", "Subparagraph": "(SX 210.12-13C(Column H))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-5C" }, "r779": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r780": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column F)(Footnote 7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r781": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r782": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-2" }, "r783": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "946", "SubTopic": "505", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481004/946-505-50-6" }, "r784": { "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(Footnote 4))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479851/948-310-S99-1" }, "r785": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481027/954-310-50-2" }, "r786": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "954", "SubTopic": "440", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480327/954-440-50-1" }, "r787": { "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/2147479438/970-360-S99-1" }, "r788": { "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/2147479438/970-360-S99-1" }, "r789": { "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/2147479438/970-360-S99-1" }, "r790": { "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/2147479438/970-360-S99-1" }, "r791": { "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/2147479438/970-360-S99-1" }, "r792": { "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/2147479438/970-360-S99-1" }, "r793": { "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/2147479438/970-360-S99-1" }, "r794": { "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/2147479438/970-360-S99-1" }, "r795": { "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(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479438/970-360-S99-1" }, "r796": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "976", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482856/976-310-50-1" }, "r797": { "role": "http://www.xbrl.org/2003/role/disclosureRef", "Topic": "978", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482707/978-310-50-1" }, "r798": { "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" }, "r799": { "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" }, "r800": { "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" }, "r801": { "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" }, "r802": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r803": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483426/235-10-50-4" }, "r804": { "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" }, "r805": { "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" }, "r806": { "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" }, "r807": { "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" }, "r808": { "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" }, "r809": { "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" }, "r810": { "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" }, "r811": { "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" }, "r812": { "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" }, "r813": { "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" }, "r814": { "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" }, "r815": { "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" }, "r816": { "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" }, "r817": { "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" }, "r818": { "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" }, "r819": { "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" }, "r820": { "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" }, "r821": { "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" }, "r822": { "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" }, "r823": { "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" }, "r824": { "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" }, "r825": { "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" }, "r826": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r827": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r828": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r829": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r830": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r831": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-6" }, "r832": { "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" }, "r833": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r834": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r835": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "217", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482663/740-10-55-217" }, "r836": { "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" }, "r837": { "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" }, "r838": { "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" }, "r839": { "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" }, "r840": { "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" }, "r841": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-1" }, "r842": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r843": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480493/946-210-55-1" }, "r844": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "310", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Subparagraph": "(d)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480833/946-310-45-1" }, "r845": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.12-12(Column A)(Footnote 2)(i))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-1" }, "r846": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "2", "Subparagraph": "(SX 210.12-12A(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-2" }, "r847": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.12-12B(Column A)(Footnote 1)(a))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-3" }, "r848": { "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/2147480032/946-320-S99-5C" }, "r849": { "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/2147480032/946-320-S99-5C" }, "r850": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "320", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "6", "Subparagraph": "(SX 210.12-14(Column A)(Footnote 2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480032/946-320-S99-6" }, "r851": { "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/2147480191/946-405-45-2" }, "r852": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "10", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-10" }, "r853": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-11" }, "r854": { "role": "http://www.xbrl.org/2003/role/exampleRef", "Topic": "946", "SubTopic": "830", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "12", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480167/946-830-55-12" }, "r855": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b" }, "r856": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "b-2" }, "r857": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Exchange Act", "Number": "240", "Section": "12", "Subsection": "d1-1" }, "r858": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 10-K", "Number": "249", "Section": "310" }, "r859": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Number": "249", "Section": "220", "Subsection": "f" }, "r860": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "16", "Subsection": "J", "Paragraph": "a" }, "r861": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1" }, "r862": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i" }, "r863": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "A" }, "r864": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "B" }, "r865": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "C" }, "r866": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "D" }, "r867": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "i", "Sentence": "E" }, "r868": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii" }, "r869": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "1", "Subparagraph": "iii" }, "r870": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Section": "6", "Subsection": "F", "Paragraph": "2" }, "r871": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 20-F", "Subsection": "F", "Paragraph": "1", "Subparagraph": "ii", "Section": "6" }, "r872": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Number": "249", "Section": "240", "Subsection": "f" }, "r873": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a" }, "r874": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1" }, "r875": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r876": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r877": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r878": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r879": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r880": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "2" }, "r881": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "a", "Subparagraph": "3" }, "r882": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form 40-F", "Section": "19", "Paragraph": "b" }, "r883": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a" }, "r884": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1" }, "r885": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "i" }, "r886": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "ii" }, "r887": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iii" }, "r888": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "iv" }, "r889": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "1", "Sentence": "v" }, "r890": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "2" }, "r891": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "a", "Subparagraph": "3" }, "r892": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Form N-CSR", "Section": "18", "Paragraph": "b" }, "r893": { "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" }, "r894": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v" }, "r895": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "1" }, "r896": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "ii" }, "r897": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iii" }, "r898": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "iv" }, "r899": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "2", "Subparagraph": "vi" }, "r900": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "3" }, "r901": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "4" }, "r902": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "i" }, "r903": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "ii" }, "r904": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iii" }, "r905": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "5", "Subparagraph": "iv" }, "r906": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6" }, "r907": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "v", "Paragraph": "6", "Subparagraph": "i" }, "r908": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w" }, "r909": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1" }, "r910": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "i" }, "r911": { "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" }, "r912": { "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" }, "r913": { "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" }, "r914": { "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" }, "r915": { "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" }, "r916": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "ii" }, "r917": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "1", "Subparagraph": "iii" }, "r918": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "w", "Paragraph": "2" }, "r919": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "1" }, "r920": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "402", "Subsection": "x", "Paragraph": "2" }, "r921": { "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" }, "r922": { "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" }, "r923": { "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" }, "r924": { "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" }, "r925": { "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" }, "r926": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a" }, "r927": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "1" }, "r928": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "A" }, "r929": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "B" }, "r930": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "C" }, "r931": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "a", "Paragraph": "2", "Subparagraph": "D" }, "r932": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-K", "Number": "229", "Section": "408", "Subsection": "b", "Paragraph": "1" }, "r933": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Regulation S-T", "Number": "232", "Section": "405" }, "r934": { "role": "http://www.xbrl.org/2003/role/presentationRef", "Publisher": "SEC", "Name": "Securities Act", "Number": "230", "Section": "405" }, "r935": { "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" }, "r936": { "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" }, "r937": { "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" }, "r938": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(d)(iv)(02)(B)", "SubTopic": "20", "Topic": "715", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r939": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "13", "Subparagraph": "(b)(1)", "SubTopic": "10", "Topic": "606", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479806/606-10-50-13" }, "r940": { "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" }, "r941": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1B", "SubTopic": "825", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479383/944-825-50-1B" }, "r942": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(2)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r943": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(h)(3)", "SubTopic": "10", "Topic": "805", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479328/805-10-50-2" }, "r944": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4H", "SubTopic": "40", "Topic": "944", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480081/944-40-50-4H" }, "r945": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(a)", "SubTopic": "10", "Topic": "740", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r946": { "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" }, "r947": { "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" }, "r948": { "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(17))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480566/210-10-S99-1" }, "r949": { "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" }, "r950": { "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" }, "r951": { "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" }, "r952": { "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" }, "r953": { "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" }, "r954": { "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" }, "r955": { "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" }, "r956": { "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" }, "r957": { "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" }, "r958": { "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" }, "r959": { "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" }, "r960": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "235", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.4-08(h)(1)(Note 1))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480678/235-10-S99-1" }, "r961": { "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" }, "r962": { "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" }, "r963": { "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" }, "r964": { "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" }, "r965": { "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" }, "r966": { "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" }, "r967": { "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" }, "r968": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "13", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481990/310-10-45-13" }, "r969": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481962/310-10-50-2" }, "r970": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-1" }, "r971": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-2" }, "r972": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "310", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "4", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481569/310-20-50-4" }, "r973": { "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" }, "r974": { "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" }, "r975": { "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" }, "r976": { "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" }, "r977": { "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" }, "r978": { "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" }, "r979": { "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" }, "r980": { "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" }, "r981": { "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" }, "r982": { "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" }, "r983": { "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" }, "r984": { "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" }, "r985": { "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" }, "r986": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "450", "Name": "Accounting Standards Codification", "Publisher": "FASB", "URI": "https://asc.fasb.org//450/tableOfContent" }, "r987": { "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" }, "r988": { "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" }, "r989": { "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" }, "r990": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r991": { "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" }, "r992": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r993": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r994": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(10)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r995": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r996": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r997": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r998": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r999": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1000": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1001": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1002": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(a)(9)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1003": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1004": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1005": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1006": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1007": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1008": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1009": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1010": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1011": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(b)(8)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1012": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1013": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1014": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1015": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1016": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1017": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1018": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1019": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1020": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(e)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1021": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(f)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1022": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(g)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1023": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1024": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1025": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1026": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1027": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1028": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1029": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1030": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(h)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1031": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1032": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(j)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1033": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1034": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1035": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1036": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(k)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1037": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(n)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1038": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "1", "Subparagraph": "(q)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-1" }, "r1039": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-2" }, "r1040": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r1041": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "3", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-3" }, "r1042": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1043": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(1)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1044": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(2)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1045": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1046": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1047": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(5)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1048": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(6)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1049": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(7)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1050": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-6" }, "r1051": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "8", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480506/715-20-50-8" }, "r1052": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "35", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480606/715-80-35-1" }, "r1053": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "11", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-11" }, "r1054": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "7", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-7" }, "r1055": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "715", "SubTopic": "80", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480576/715-80-50-9" }, "r1056": { "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" }, "r1057": { "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" }, "r1058": { "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" }, "r1059": { "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" }, "r1060": { "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" }, "r1061": { "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" }, "r1062": { "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" }, "r1063": { "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" }, "r1064": { "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" }, "r1065": { "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" }, "r1066": { "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" }, "r1067": { "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" }, "r1068": { "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" }, "r1069": { "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" }, "r1070": { "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" }, "r1071": { "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" }, "r1072": { "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" }, "r1073": { "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" }, "r1074": { "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" }, "r1075": { "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" }, "r1076": { "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" }, "r1077": { "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" }, "r1078": { "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" }, "r1079": { "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" }, "r1080": { "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" }, "r1081": { "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" }, "r1082": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "718", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Subparagraph": "(i)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480429/718-10-50-2" }, "r1083": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1084": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "15A", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-15A" }, "r1085": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-2" }, "r1086": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-6" }, "r1087": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "9", "Subparagraph": "(b)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147482685/740-10-50-9" }, "r1088": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "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" }, "r1089": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "740", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SAB Topic 6.I.Fact.4)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479360/740-10-S99-1" }, "r1090": { "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" }, "r1091": { "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" }, "r1092": { "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" }, "r1093": { "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" }, "r1094": { "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" }, "r1095": { "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" }, "r1096": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "830", "SubTopic": "230", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "1", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147481877/830-230-45-1" }, "r1097": { "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" }, "r1098": { "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" }, "r1099": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "842", "SubTopic": "20", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147478964/842-20-50-6" }, "r1100": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "850", "SubTopic": "10", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "2", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483326/850-10-50-2" }, "r1101": { "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" }, "r1102": { "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" }, "r1103": { "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" }, "r1104": { "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" }, "r1105": { "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" }, "r1106": { "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" }, "r1107": { "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" }, "r1108": { "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" }, "r1109": { "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/2147479853/942-210-S99-1" }, "r1110": { "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(7)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479853/942-210-S99-1" }, "r1111": { "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/2147479440/944-210-S99-1" }, "r1112": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "1", "Subparagraph": "(SX 210.7-03(a)(16)(a)(2))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147479440/944-210-S99-1" }, "r1113": { "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/2147479440/944-210-S99-1" }, "r1114": { "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" }, "r1115": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "944", "SubTopic": "40", "Name": "Accounting Standards Codification", "Section": "55", "Paragraph": "13H", "Subparagraph": "(c)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480046/944-40-55-13H" }, "r1116": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "205", "Name": "Accounting Standards Codification", "Section": "45", "Paragraph": "4", "Subparagraph": "(a)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480767/946-205-45-4" }, "r1117": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "210", "Name": "Accounting Standards Codification", "Section": "50", "Paragraph": "6", "Subparagraph": "(a)(3)", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147480524/946-210-50-6" }, "r1118": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(4)(b))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" }, "r1119": { "role": "http://www.xbrl.org/2009/role/commonPracticeRef", "Topic": "946", "SubTopic": "220", "Name": "Accounting Standards Codification", "Section": "S99", "Paragraph": "3", "Subparagraph": "(SX 210.6-09(7))", "Publisher": "FASB", "URI": "https://asc.fasb.org//1943274/2147483575/946-220-S99-3" } } } ZIP 115 0001558370-24-001719-xbrl.zip IDEA: XBRL DOCUMENT begin 644 0001558370-24-001719-xbrl.zip M4$L#!!0 ( $B-6E@@O\M+<1P #E" 0 1 <')I;2TR,#(S,3(S,2YX MWIWNEQJ*[ILE6'2VJ/_>2 2$B"FR)E M@*PJ^==O)GB(!P!>*A<[EA'V=(E()(XOD4@@@<1/?WQ9N]83Y8+YWN>#D\/C M XMZMN\P;_GY( P6HQ\/_OCS?_WFI_\>C?YV_CBQ'-\.U]0++)M3$E#'>F;! MRIKYFPWQK%O*.7-=ZYPS9TDMZ^3X\/WA\>&/UFCTLV1Q3@1D\3U+\CH]/$D2 M+F)NOO?).CTZ_7!T>GSZSOKQT_NS3^^/K8?;A.X6:K9@580OPODD[!5=$XL$ M 6?S,*#7/E]?T@4)W0 :YOTK)*[D!.UU*;8H1Y!)#@A?TN".K*G8$)M^/E@% MP>;3T='S\_/AAK.USYFP?;XYM/TUUN;L!/YW8$&_>N)3C>(C0I=YWW*L7^;< M/?3Y$E@>GQUA\APZ+R'G=*&E_G $J0DA)CA!2INE>W\4)69)F:$.S!,!\>RT M#B^N@?AO$ZCQCK+8NN/'(YF:D@I'10@\3X[^=CN92E1WQ*R:>%2L MM^V'7L"W^3X1U#Y<^D]'<:($,LD0BM&2D$V:84'$7!84)^2(/;I$2=9VS<C(+MAHIR(6E2KA@GX(4,N8(@^0B3,<_IZ/ALM!-)E-EF0DR] M<'VJ$J'3XR/Z$E!/L+E+1TA&.0E DXC1*6J2N+]#SD&GZ#H\3BWV./:2HC>2 ME!RY8+::.204^6IZ.4G)\X6NU]0C3W&E*KO0Z3Z6-K'MJ/I8MO)%0Z_1R*<:XDQ, G[)(9"*&%?WQ]O#&/4MF!E_#!]47(Z11TG$.X,_:*/"6:=D82."Z0=<@'JTW>9@T/IG+@X\G-Y?CV=6E=3Z>C.\NKJSIEZNKV71 J0Y*Z4=QO[@!XWE-#5 IB(UX MG9KQFL[@G]NKN]G4NK^V;NXN[F^O!M2:HG;AKZ$?5FC)/-%&$*IR&O$\:X(G MH/GP>/7EZFYZ\]>K =VVZ!*QNG;]9Y,&5=,;D7S?",GQ](MU/;G_=="I!ALF M7*\)W]XOIFSIP?+8)EXPMN62C'G+!\#*9E0\4@&+:AM 0Z N:4"86[9M.K R MH/X.]/%)R>:)RK+\A94IS=H59R7E ?&N2 O+M'Z(2_W=(!=:N1C;_PJ9D*4_ MN#K$U41&+-^5LJ1/L/JGH% #3NQ@+ 38H1J%FPX+=2;@-B-1#[Q?>=9^:Z ,,---I; MXOYII BOPP#G,L@>L'_+9FF@;,7#B/$?RNHU*41BO"O&BLH!@J@H*UO6( &U M+!II&XH'LB6(F^? %QY2IUH'-\EJQ/M'E?43\;9BYA+WF+TU&?1R(XPO.'58 M,.8<1DVTM-0@JBQC%_$R-M03.&7>;Z2GVEO*[]63;G>&)ADY M.2GKA:A$N2Y*"D5AD)^MN%PY/: RHU4+ED3\RAGB-PLX-P#X1:/% ^ M71%(4\-4)XL1-\62*N49[9/$7"U@:TF^ Y8=CD0\0 =ZP8H&#)I5]WQ$/E/% M88GW]0]+6#_D. ]X-G;43@/?_K;R79B8!.XH!MN:'EM%1B.N[YJX;J>S^XL_ M?[F?7%X]3G]K7?WEZ\WL[P.V6KU[AXL7>K\X#P7SJ"@IV5*Z 2FPB\L:-6* MQG#"8D"CHTN]G??PEO)?C2[N8>BHKW41J NE$89IG>,EQE.,VP&4X0K?Q>8#J9TJ7 MRA&DH#""H[##=RRLA,< B1:2V] %M;_>N/Z6\@>7E"UP!841$H7]G6-A21X# M)%I(KJ*.HN?4@VH$2E"4-$98WI=A29A8,9(WX!8,P^5 M&C #I1&O=V6\E-ZJ :UV;BLU6@9*(UH?RFCI;O8-<'7P9:E1J\Y@!*_YE;T! MQ+TXN-1H-LAIA/7',JSU;^8- #?W>JGAU-(9P?M8!D]YQVO J;EO18V3ELZ$ MTXG"K%3X60:+!DBZ> 74&-7(801-81!6WRL:@-SOMK1&4;;A80(;PZ?O M8XMZ$(#F=U4T]P)U9 88W]6[N3+<_MN;1R%9(3]2F[*G:#5@RS *45RB:V+C M&GG;*6!DTT*,$M+-/Y'9$]C5QLI7QTKJ,\C9WN0LO2)_L;5=W4WB+JPJ9*8\ M.321F=T%?QO+'.1B;W)Q[7,*Z7$'^YYN,NG(K4(Z2@$6&TE'7*JU*W80D+T) M2/0: N47OF=3C'6)M>TD)$:.%8+ROI.@)"5;N:('8=G?^8CZ03V[,ZP0E0^= M1&6($[K?TQ4:*3#2&@&N?_%W *WE 8L'=P7C[IKI8I?7RF,$L>X5X3BH.8[% MZYLAN'E;0,_QOM07WW5L?^+:#5!59ZR MK1,U$%[+N]Q61'_WUN3R<6 <$N$ MQ^X<9BTRM3E]?F N%9/ :8"S*7L%VC5/3\'Z/RK#DH58LA3 /' &S-NJ:>[C M.YTDLZ/:1&'K8-X;S/)%R4YHYSB\ M)NAQ40/X]<&'#V2YY#3JS/M%_/E\F^Q!80%Q_ -\/P9_FH6A"\<*X2CMJNV$ M(U\J[IWP.&V^M>QD/RW WL+5F9T\AR._#/+2Z?!UDM3\+95B3B/^C<,,90D& MB#M!7/S='&H=APK(2_-!)>2*4_D#]BU.;=\1CGZ')VW8[3I9C.C6/,N-)SL2 MO@.6K;"\(!YQ&/&BE/C8@OX]AN8,*G N+<$5..-C+%$A2>JNF 'V.@"+@H8#L*WN76G7TSI"(WCU M(MP-4+6"*MYP@*$U\P/B1@N,\^TOU%]RLEDQ>\PIJ8UG(VX5H"LVSLJ@[W9, M< S+0I-%TGQK[MI3W(T95.!;O@JBPQ>G MR*28B,J2!0W MP8^X[AKB;R10P7T]>]+YUV, _9=(T.:(%82&I&L&2=RP*H5 M5HF5(E,>0FZO\#%5L%2FU/8]1YZ 7U .2WYY_SE+41OF/911(2%J-5^4D(Q- M%@WRI"1IFOW>2JMC)?6Q_H>L-_\;7_W.40_BMO>;X#IY:L7$)##["E M!GQ;[ODF_^+]&"^ 09CIRACH.I0&-(^/CS_BLY-)_NR?\FZ,9):%< "K^PNB M=9^(;<+%"/([\YNQU6^+#N_(-CTBICGG97ZI2'\V=^CP9M[ 6FX^#) M;*(1J/>J:).1HVM H=VTHPFU9B U(72B"+NE.S8T %9O+E(CE$LS0G)2AB3* M/$!0%X)[6$;PS)+RD;JXVIGY:2"@B$ZSI=&.B7$/3 _JR)(%Y38QXJ*LP,^$ M+DJ$X/_'I@;^9PX-?J0+ZT5^(=Q&TIPX/)\=^GQY=/+QX\GYZ=P/_^ ?UR^+)V$Y)2 2]S[LHB,$!A)&S%KHQK MF;# FRN?#P1;;UPH^>A-6@6@-6U5 ><>-@HDJFFC\D+8PS:Y9-ZT39"%NG6; M\]/1BW ^D61-Q8;8NVK(*@AJ'R[]IR-J M.T=8^0-+V"NZ)A/?EFPB:J$CQS]DHP^AJ+AR#4IU*&M2:D*.?S0K-=?E3L"/ ML%.1U^GH^&QT=J*O0%5.^5NTJPA@_S'"WL-[=/A4F*H:Q6PNY[E<(^0S.CD= MG7QH78^S(SPOC'[8>G606?#7*,F'M3C#6IR=-!.&F-U[^?9,""W];YMH@VR69(?S6J0MDCPH%$/)/11Z^%7AY:C!A7AO+7VA;S*TJD;;=B3 MN9"7 CX?+(@KXLUEG*S^,86RG-"E]XO9BEX0L7H@S+GV^=C^5\B$G%VC=;S 3:2?6(!71]8 MT:P'"GRG(.%T \EH5<+T*,EA5F:^,XO(0QY[N$S]$)6?=L.%[Z(+$I;% MYX0O"F[I-!K*6W9O9Q%O<]7E-MJV!'733+U! MN=SZ^ )%@-'E_3#(/#.D;7N3++UM>3XNKZ:M541OW+J=TD)GYHT0(77DZ1#M MH<7H%!LP![TTX\2AJ?+JPJ'0#=EAFU1_U\2*3MH7OO*EBWB<4N>:^^LD\H-. ML!OEZ ORMZ![UN%ZPF".<<@.G?M%TO7<\I30=L)NU;MC-M MUXUG<]SBO*31OS?>)5U0SO']D)=HK&4FUCN:VEIM,K8?BFL?%E.$;XOMG1,7 M1\3G UOV^?[TMND9G=V&FKZ"2:Q+HM%?+ MO'V9S7*1QA^9^'87XIB%%96_2?55QA"M16RP3I@7T"7EKZ2=JYMU05R*9WS_ M3@E/IM9L[7^A'AJ@=+JA-L!*'1!IY$26- UI5=D=>RJDA]T8&RN*^J:-%?8!YN(^W_:.BB??9PPCV(M1&X]H"7IWS+^W ?='ZU?8 :X#P/< M?W6@J*1!)H(WF1ZC+>+ */&[R(:Q$":M426\J:RE509. L/D+E@P%MG1$U__ M+FBM^N3]:%X2M3>[J;<+"HQO+$Z@07+Q*/=)0I"PW4LKYW3AYUYS3*5S[VP- MZKHLM!WZ2B/OS;HP:>JOE"U7H%C'3]"T)4V4JK3B1&;,%O8,!6=&62^:&0;S-)50SQ3XY]KE_BNND M!J/*D+4OH\?@VI#G_.169OI636$CP4C2RWT2O"(QXINUMK1(:4#_]BL6@Q::D#G8;QRTJ8<[-C,.*TA0LU,_ MQ+.2'BS@&1AX'B-Z+=6<13_&=+%7Y!AUXU96 ;ZJ(8>@X MPK=Q])URP^H0]J.%12U<#BDU]KR0N-G)1"264@R<)$M=3AT8M!_6I3VKEO95 MA0[*+FECJ_&6\&\TN'!]@1>!.+.I^"JH@_OX >5K>9@@W;OSU[!:DYLQLQ4) M+OS0=<[3F 3..5Y:#9C--D3>T:NE%O_#5>KG%IC&XE%-,55T_9M:2FZP!WG' MA:(7#/]_O_B5"AF"]?SJ\69\/K[[\X7/-WY45I5/K1VS?BBODA3,@]VMG[\2 MSK".C]"Z:^K R'!1_PK\G>^4%OEZX73,U_N!TPW9RK_(-F])5I'U;G=)/S]E MU9VTDL LLNDTG/^3VL',5QWE2B?E5EF[(5W2AWL2]3L,2[);\>7E69?8RT&; MN#&=.QKW&R])*VYE-,S3.Y5>MN/18 SP_)6(;'U4.'E0&^;I M)=;Y WA%5+6I;X7?3D8]RI?;V(>1AT6=5&$E%;OW/[/OG(D'7'9!Z1+[X:>Y M6BPBU9QZ17 V5CE/Q@LP<6^9YW,9Y@=^@#F3@M6933^Z(W-$*'M<%V=VYER] MX#*!XM$9>3FSN(ZHF^EUC8+47]K=EW#Z4<>]!#R0$S= <\X8F: M0 ;EE ^H%P^A:6AZ9S37.G17G'1KTO;%#:12@=&L!7\DWV)E]D@%Y4]2IXUM MFX>PDE (1A?H>:72C-&F=)+*R:U$J^\)?,HY3J#N0YA M+UM8/A*<'/F49Z#C\VA22&']L>LK"^ZMV#_X 388;X='9N=#-)"Y@X>X* E"GNZAU:3M MKST:/UN=V%JS%:<"+U+E RBD?N5+)C:^("Y>'4L=*OG#%YUY]<,'D3A%T(,R M?2:;M%FY)M!YD#E!'U]73+)>O=C2:>OLUC-[Y=F/CDI.6F7BT>)IK#C@1N9\ M0AW"M[^VJ5"%Z8([]VS*#08O!+%-HUA+'\+&I0$=._\$ R!^SZ&!SMU[0?W5 M.[?,@\;#N"\@=BC- MATJNV))MEJ4O6[*J6A=#1]=O;V7.OC2[O&^:;TALQ>>L=_V>:ZV\_9UITD/C MTCT_7N,D>K^ J1:/14YA@1-]2MI?G[R_^MD45J6,+QXRE,%I=\[WS/H0Y>48(VQ$[QPI.J=F;[:[\L^V'-MSLFD)L.,LID;]SZ M.I.J#YUE%*7Y=%J>L+<[(E'E<:5^#5H!3TE%)^Q%#%Z^D4:ZWK:Q?*\+_Y.[ MU26W*?3WP+3T_56*^:L3B6J_@84H\_!.E)N?&^N3][?)UR'NR8$5QTET'15^ M??%=W'\0$]?.KSWK$O=R^;G/35V8QNS2OJYZ-?!*V\J-:]!;3;//7E'9YJ_1 M^YIR^CHMEQ['+MPUT2;W$0VEBM];DUP^C-7F:7(#A MT42]M\C72P$!L&Q*'1EQ"X/&X3#)77V6<1,E%/0)(VX:Y"A^9MY;7H;T3Z%'3X]/?ISYXW 9B@#?]RD> M56K/H)?C?I\S_,3WEC/*UVCCOX8%4>#?-RE+5&/T@F%2V4C :\)X?*].\9A-C5R=]&,7_)LJT)V1,87FB 7)O\&B:70^ $8[#IU,LG9B M43%&QBY(;$"FT&G/#\RE8A(XI7%@(NJAK"N6@8D5C1OZ^!:-W.-/S.GL97M3 ME,_:3+HN,5]#&>[33LH_4*/HM-S('C\3'@5.3R)(1G:I#*<3Q0%]I/AB;':TOVXY_5/R M>V_P7T+"X1]W^_I]6RJJ?]U;/H"E-1FK2;\75;-/XQ%\ M"U82ZJSRH?GL\[%UZ/NGS$H'!&.9QP&%A\8(:&@,W4.?J.O+X:$(P-\DMB2YQ0YS M'65/R!WJ'G*8S?XM.27AMJ.'2DK/E>RV.KOQ*?9,\^L4K[/+6]&JPO9-/?+^ M:>KLJ9&J-J2GQ93;'YTY?2^:;+\W/#,J/=>=KUK*]]+5UU0:UK[-,&PVAN"H MJVRR4TL')M]+1T6OH\KSZJ?')V=@'IT>GYZ5)BV7]^KXX\T3UTQ%VH+!7=$U^_C]02P,$% M @ 2(U:6*HQD&CQ%P !(4! !4 !PMSJSBR_[Y5^S^PN5_V?LB)'WF>.F>WG->95"6Q*\Z9F?MIBH"<: >#5T > M\]??E@ ;; 028) A55L[.5AJZ=?=:DFM5NO;O]_GEO:*B(L=^_M>_TMO3T.V MX9C8?OZ^Y[O[NFM@O/?O?_W];]_^L;__^_G#K68ZAC]'MJ<9!.D>,K4W[+UH MC\YBH=O:'2($6Y9V3K#YC#2MW_MR]*7WY53;WP]IG.LNU'%LC1$;?.DO?[D( MZ3GV5VUP,#@^&/0&A]KIUZ/AUZ.>-KE;%KR#_LUP;DD+VW]^I?_W!$UJ -1V MV3^_[[UXWN+KP<';V]N7]R=B?7'(,Y#H#0^BTGMA\ ]3?M&' L]H)G&NOW5^UB@[WLNGB\LVAOV M[86@V?>]!<%SH# 8]@=!_?^9>B!(JB,7CNTZ%C:I7,]UBR*9OB#DN7L:I?[S MX28!@E)R"'8-ARR^&,[\@!8Z$*'&>"HDV(.M@%M^=,>S&QA M./,%02_(=O$KV@+F5/I*,4!W7ZXMYZV\,G.HU@CV$OII.:Y/T-2?SW7R,9Y- M\;,-9M;0;6]D&(YO>S I3*#+!D;N W(]@@WH.^WO)?)T;$GQH:(&&V'1R/BO MCUU,;?#$*@>>0ZH16 _H%=D^ L7TB&YX(]<%TUH*739%%4#>8OT)6\!_5"G2 M-+*-P)T09X&(]S&RS2O0M 4U,J6 9A)L!.(/QS'?8,T)/;JQ8;'TC)\L%*C: MM>_1,0: //P76S.5PEZLI89,%#.@[D3_T&DG;1.^$!^952F\5 .-L "V$R;V M1H2 H(+)M13@#')JP;O0K4'%$ .2BL"D.R/3MY!YI\.88XHVGMTZ]O,C(O-+ M]%3.OI5IKQ$&W2*@Z-+%LF,'*TCVY>I] 2MG.B['8*]UNI1BWZL:_Q4TVR"[ M G-]AVT\]^?L$]@Q)NV?MHG(O6-?T-VE14U;$D@57*NB]4:8%^S"'O7WDFQ( MH],(H$O\BDUDFRY=SNC$!CZ[$T2F+SK\5@:A$&%IR(9N&;[%EA>W\%L(DS9= ME1LEQDOT[@$ 9"Z_8H^VT^OU>SUM7UN2@[\OQO?3\>W-Y>CQZE([']V.[B^N MM.DO5U>/4PF4#".@M!PCT1&+^KL<"/49KIKM/C*#O[C_K^H+Z X<' MR/+'AZ>'AT M](?S\XK%?:I8(=3; $*;_H=N= M5]VB9GKD7>B$?,"@_E6W?,21E%#=)"/.@!%'2D@P2TZ;LBT.54&9/R # 028 M?-U[Y&6/QM2R":#'/0#:WT&9BD,+93A02(:1(^8W[+U<^*X'RPW"F) K48&: M[9!O4:"AM(=9TH85""Q O ^F%#6+?D+00L=F;"?BO83(8-*GGF/\^>)8T$V7 MFG?O@R.T_&K-X1*\[T\NV2J 1&!?V)R_,\H1'**=TB M@CGCQ(>\?7J^:9,-@EP5=&*[(SK5)[T0\@B=GL;19LD4"%D6G MX#8XWO7?7:(-IB(%5W#%^B&8+>F\LP ML!AC^'[^G%IM$'<1B IZB)G'+MYU(1]E:H4V2%42G8(3K;#?C'1,4P)%_H" M>[H5@\-S*.56;)%T"X)5<*0^T+!P&RW#Q4>&X<^I') )ZP)L8'X,8E[%%LF[ M(%@%?5"QGK,50LI]]UO'I>N^\0R6@GSOL0R5%FE"%8(+C7,@;9US*FC_"?NZO[QZDVOM9N[B_&=U=[JE[. *&M),C1_+4RM0+ 5E%>8*B;1\_71M&1A*8][@?R9_ M\5> DGJRSY-@VAZ@&M@*ZL:%X\)RE<:C,N<4(J_80.X4EL=_WX#O%+&IZ >RP<31U#$CF? M^RZVP0C!YO0)5BE,"*N47P^(;5^IEO.6;N($DCPY'@R&9SNK!251YWI[FK # M.LN2Q YRGW3CST>BVR[,7-"S'SJV0U<%SPX(56Z3!I1 K.")Z#7L6_"S'<37 M&!\I8(*]#7^I)T%!/35H?FM7EGT*GAP%17:E3\WAG-[+<4S! MPX8(=*+S<53\N4>DZJ?BI'DH"_)-P?EKR:40QCDLS_FN)DYI]91$T,LLAD1B M^]'(85)Z/FV1DZ6AS,G2Q?AN\G#UR]7]].;7*]7/F5)XDG/>FEFCB14 Y]B3 MO^"!537[5SC6S/_XKA>F&<@"OIW&DB/I!&SI:<,V04 E-I8'];!%07>E]#GM MSLL['XWX5J&9:2#VOH"(\3^2,OZCZ2_:]>WX-W7S/E+\:WGJDF\+P-A,?HB5 MG"""'1J>3:A?XA(%_X5_!P<.5^_&"\T;_ #,NIK-D,&]1%9S)^HW"[3/$^+0 M6X+F^<=/EP:U+[U!(S""KUG)!,0)*&A0&E&P-1M5AGL*SC.7"&RT@1GKX6\+ MA9-H/.$^]]I(?E7UE*BD"#=UHC ;1+2AR MQ#,P.;4ZH!!%.""TQ5TIP[#^0Q::7YN],$>7=;"FR[(,Z84[('H)X')7"9MS M@AMT&A7R?,=*=D#4HJA5OZV_LE'T8' \2R1+7&9*Y(6^"55.\N54@5SJE6M# M"4;DWDKLPI%Z*Y6B!"-R$^[)*\7F:QWTRQ^;.Z+HKO2C_AXD!\R\1%Z,2(NE M7R%#0BTX4795N DSEMN>?X;%K]-BO2B./U2#4Y5FB$T4@;\^N'Z?^02,2-5. MZH$@&T)U.%-;'=92#0KKPEJ]3BJ"" \B[U%/(6=B*I*U](0RBK!6M:NZ(,*& M2!U4\BUS+-PJ2TN1:6*]=I(;9X/^L.E[UW7-%$*U18X;D<9DQ_BKM>O(S*592FN65#XU1X@CD?9LR]\I[,5()O@++"1U MQG!7(H7IM%@SJN5)I!O9KLXF+4MPA3(CY&I5H,52%P0;B5.E5T%RETI%=B)\ M$AU0@M+LB-2$[\5L)+HRC4LW]BMRRX11I1!03T64#:,2Y9Z"5\:B9^8?'7:; MEJ#HGBT*TF0QM@:_\/(-R)!(L.6$/J?54]/NB(HT9?(IRX[<\*J2&U_.2C3C MT _Z#?PQ$#+=?$M3CEB+%60+C-D%@\)]Q%+4G' )M%A7*F*&BED/(AVGES!3 M8DY$-$2<0A=4I"0W%+Q;RN'1-;9UVRBQRDTAH)Z"*+O*%>6>@G?=XV/DEB[& M8!D&RR_N=65N^23@_J!_U/2FJ*2PLNU)/G8%;X8\H$4X:XYG(L+FEN^ L.6P M2P;[-_)6_%)W;US7!Z[ ?!A_#4E@P*=7[( R%&2"@O8^H=;YTN<5[X#,I:#G M+A6;V$XLNT^[':EM5OZ\C!H=$+@L>J$H_T9M?@CHVB&@S#Z!%:Z+6&Z3G$=1 M\BLF&3(8] \5O0U47ATDF;"%,/\M3?X">I!7KPMJ4(@'N6'^C4X'T7O$XI8@ MO5(7Q"_/ !5C^^-:'#-L[-Q7W'DD2:4+ZE$!1W*#_QM>1@3NL/$L[B(;VZ6< M<4NWVR5V%XZK6S^(XR^@QB5-TVTYKD_0E$J4?(QG4_QLXQDVZ+%$<%,$T$X<"QM@-9)\N:2/ MNEEB&:D.>X->7]O75BW2]%1!HYHSTV+-:JMVM:AA*+QJ6Z.-:_\,F__?O5;F MK.)8FI(TZWX7(^C06C=&,/41\@'RS7S;5*1NR\Q>FA4KS@;GG!EM6/O.4PLR1G@<',&B)&#?TUN?]D!LUYW.%YS M[KJ4[K''@.11L6KJC619.0@$_XA@KMXP<^(%4XU1!(CN%&/C+RU$4*9^FZ1; M#?@=>=GH 1D.++[_0N:-">R"53B]%QY>O GATK>\WK!E)2_B0!E_CDQ^MIXM MM?9' R\UAEWB (U^3NK!D0*WR+C!9E3SRC@LK[;.E8'-Q6, MV:X2=CBSY7L;MMMH:Q192K>VJ]&"7&ZY+4[D.;6T_3D*FF9V;C"PBNN#=HNV,C!FI.N MM_9.=%W5%>)Z_HL'2NIZ1AZ%K;;UJ;EU,U?LZ07E%#0ULV_21U2C59;K35(. M-*=QTW=-=ES)*V"_V'L2.[Q&3^<1W<'4$6S(;;SK8T$!;N<_AK%?TYV@!_2* M;!\EXQ;DK@8=]8;K5X-"JO!71%C3&>4=N"+$?12'7OL/9,R[]2A2L_9+>\O( MJFA=$G73'9,)<9Z)/N>YR,0JJV=/)$28O,I7&*Y(3&:S;VG!@ 2R']<.D=<# MP=JM480R>$5"%9O4A)\V3$\6,F/*GFW5^!5:(V])B"(1?+4G@5B;R&/+$-G9 M_%!@-K=6Y'=T2E^^5B8_IV]6K>;"9U93T6N?CNNRO$,NJ$MZSTO12NK[Z:!_ MUG2R)1G9K:Y_5@E_RW-[$6V(#GNC05]0$=+)=$$')) 7G-"W:^VCL,)X1*&< MG3_>3.@0$=5TV]269'? OG.#+/GW.K.KU)]7+[TSF1D;,BNI-XA%A+26%$\6 MG^J[,)AY_#GE.PW761!D8,8T^-M"3!:V.8)A[^&_V'?9(/&JR.^^[FR5$T6S M]&]W1HA=R%Z%. ;NO&O?H]E_8H#EIHJ330=?U!J;*E;M:4"!H4XLWN@,3 MR3KG0+VNWL.L@3E9)$2J@CJ=')_U^L?'A[W#P[/AT?%1[3;H&MLPSF[Q*]K0 MD[BPPILZ]Z 4CV_(>D5WL)QZX._%OY/71OA 4?1(\#3M%R_02-:V K;]X?M:+<[=1BXR9WL$\",\G4_ MH3%?6,X'0@^(>;:$$>364\\(Y HI\59$(7P*IE%+CY_-.:'.KK3CHBT 3L'\ MCR'D&QNL*7L-4,3@K)=.@#WM*1!M(R5)&50*ILAZU-]1-,5FBR^EY(Z+3A21 M@CF;@C13DC-^=J4=%V8!<.)[J.VN=(.7LT>$T >A6'9XN77MV>:Z-B"IQ6GN MP!)6X,GE9)&:1UV\\>RAEE)2O?&5QN[XD!(%H7IX0AS'ZD*+@.16A7=;>#DX ME(P$XQK%"]T:;,DPTM\#ZI_VL4C_V,O@MNL1GS(V>@QL-*-2,I=JTJ5/C!9F^ MA'[$IT(&)P][5EN]I\V3!]T\(M@V\T*T;6S!JJA1-]=D@=#@8$-[F'>81O/_3G[ M%+VL_A,L-4VE?D%]M!:-[4B"ES;Q&R[-I8D/+X.&O0CM>-0/C75$@Y[L&\NN MK%O]73#UM_1U>L31H CMI<]=6@E7KWL)*=@Q4:]G07+JV159@2>6DU5R0?6Y M1A1LCO]3CDJ24T/@U&$']"4+O.KW/:4P9GFZ9.G$N77^ZM0))X /86C?M7Y 6TTK2%<%7,*"* M!THN5:(DE5;I1I4\J#ZH2LH6Y+PXGUNI57(M 5ENL]_HH ]0_*I;?B 8RW+> MZ+%!_D#GU517"<1G=.)*>!0R*/0 M"G6H"K?<*D]ZK%>O&?!'<"VND%:DUVZW1DA@ECNVV9KE%YK-1!X7KH9RDE5# M)>X[U+EN$.*'ZN/AU%=[RH'OL66%L^]A^#GT.CNVR ML)T[;#.=RW+;E299=YYMX?YR#*4X@:2P#T'8O884O4KA)Y)SE^.%ZE<;TN$] M(,.Q#=A"![+SKA&@T*VIIWL^?5<^45A*B:0HJZ-=%6F#J'J5YY*(20T5Z!1;KO#5L1R_ MY Z:JMJZ%L45=PU.$#$X>]H*R;=8R6IAE>JG42+X@U<9S/_XKL=NQ90P;NND M6JQ>E;-%]9,G$:!TDT-3-]U"#ZS8':42*L4C^:E:\NR1.UE:JMAVK[)=XE=L M(MMD$[I.;."4"R9W^J+#;U)WVU+>#EP29^F\(O(:T-=8 SMPW^TW)AMDCEY! M?9[1O3]_0F0\N\26#U\9"G?L>ZX'" $<9ZA)4@'U.3H['!Z>'AWWSTX.A[V3 MX]H-#J?+&WT]UUULR,%.IY$<,\<1_.1[-+'3H\.^ 2QDAE> XRGO.2I4GG!7]&I+G!*_YY4V47T[ M"(0:&N]__3]02P,$% @ 2(U:6-'+^T!14 F7X% !4 !P-N/_ ZXNXW8W8[I:Z[1G;9\\&]6IK M5RUR)?5X]Y,# HIDN4& 4P"DIG_]5>%! F ]\:JDA(@9MTC6(U^5E969E?7S MOW];^Y,G1"(;G]Z_?WY^?O?M MD?CO0K*D(YQ\?%^T?I,W9[]Z\:Y#N?'W[[,?RTVQ9&@<1+$3N/NA#T!Y_IBV M/OWQQQ_?I[_NFD:8UY .>_K^OS_?W+LKM';>EB:(\$]1^N5-Z#IQRE,ERA-A M"_;I;='L+?OJ[>F'MQ]/WWV+O#=_^Z?)Y&<2^N@.+28IU#_%VPWZY4V$UQN? M 9-^MR)H\2=!X&4>ACC_%_]V4T6]S'H?MU M%?H>%<[+?R0XWKZ9L.F^W%U7D&)#AP1';D@V[]QP_9XU>M]H^)3H6D+ROB7V M%Q1>/XP2@LZ2" .V1+"8Z7 5V[ MKA/$4]<-DR"F.F9.6>-B%.7?1'?(1?B)@7N/W(3@&/^9HG#EN-BG/+I L8/] MAJ3I"12X5#U/HCA<(T+7@$NEGJ3P#T!"^;QPZ34GX0:1>#L-/*82-DQ5#$ N MZ;0VJ'7E8/)WQT_09^2PSZG*;$4(^8A0].[<7U$>7.%5*USU1H:"\QG]L/Z5 M[H-N>..[G2,N&!X*]E/_D:X\YYY:L\]S3#?)F]CKG ;22:!0@BJAJY"LG>M@ MP?YIO5.8SF&##G?H"04)FB.2PD,WJ]FCCY<9L*VPUQL9*LZ]HWX$%%@XB=]N M\V\RCT5ZT"^L_8]RE UT'L!$M,3T'3*$)Q5/S4"F&3\8'A7__<%QV$\]B@QSE! M'HZGA%"0.C@,2(:#@=VM0]B9]0EUC2=G8!@8GSN!XV$GR'[)71RX<_R5T]B@ MQ@4B^"GERG40Q21I+^#R$0'A6'Q9[*VI(NJ5!IHSVJ#1#:(#LO/*)@PR'W'Z MS>6W#0HB9H',Z"[M,,=-^OT-=AZ[6"4=3&O':MR$]%";ND>7[<5%,AP,['*S ME/+C(8P=/]N5S[:?4+@DSF:%W2E!3LPF\8% MZ>]? MQ2AS68!@XU2FZ*7LDAG\<&/:X#"CQZ<+ZUW,AYXUCC;R6RW9Z-_.%@ M8%4+<%9V2J=9[Y(:!E\;?%M3P#);W*X>@@ M;?YG'1D4K9UW*"'AAOV39G:\1Q%:O,_;OW_&%(^W 3V@AL^(O%'RB >@3\AN M/#;AV_P#Y>7I#V]/3]]^R+A9GZN$28%&,X8XC,@>P^O=Y+A^+Y: ME$IY5BSQZ/L4Y5)/'LW; $7_9L0)@[=>RN.&$(J&Z1S<=/2W:[1^W"]64UAY M8W0-Z(J.1]SD$;W=D:8AN)*1>A2&;*FWEX;J.#R :1-,;:%T309?\X8,G-9K MNS0E8NT\Y.V^Q3&;8-]]4NH_R=3=Y',J(29:@B'$>!"ZE=E]EI088<@"= 5MA=B*^U1(+N7URFIHDV743'P@H1K0\*'FG D$9TJW# G-VVD*_@ MA@HT)\,>LY]T()\\A!,MB$-"S9Y?WM"_J.%!#9EX^\N;D\&E)W4B*59(M9%8 M3@Z:#8O+G*"-@[V2JS1>(9)!)5\3&CV%6&OV;;%.A.0/C:$8=)74X2ZO#$UX M0:R1TO+5WTKJ+<4[R+[EL&BE%"_!<1L&KG25B#L(%X>\2S=[QP&E0]WY;>T9 M!<3E!2&'%,0Z*"U1/5FIMY6+":]USUI3."\8/2F$,)>(#U D0K[!BAN*)6'7 M<#@AV$T)D?\[X'+6?^2Q_N?WU8/C_O"K/E!V[%23'C%__/''DY/)V\E^9/JA M&'Q"1Y]DPT_8^,7)2II#67](C$)2FGG_823C_\OKL?=N^BP*&D9K#4 M!%S8[D#725N^'PBC?-HO0;1!;GIU\J+BF"IC)6K+QTS6NH*=P2K6(6ZH,7_+ MU2QTVQRL: G ;%$K =UO\P,)1/DZY&409]8)7\I%3;GB(&ML$36AL(L;:Z/7 MC;AK4#G4@6%0D1<#74B]'-CNQ=[ AMFMURQHM\^\XJP#K3Y"*U?9RP+V-5"X M"T3:5HBML'73Y6%*_% #EL&6B2;P9=-/"+3=Y9(\1MC##MG>.S[*+\[+EHJH MO7B9R'K8P'@/Q:VSIG\^$">(J*7.\IADZT7=44P#K:ZM5Y(&;T)3H(9?4F(L MRLM)#_K.UE:$W'?+\(D>QW F9/2/O6S1#[_?H*7CIYOAEK-^."T.I$70IG?( ML^FXLE__F0MSO4%3.9;3*.1/-IA\"LW/E=^Z)\J#%T) +C\:U%G+HNSD$B\@5"F<;]+A; Z\XXW+ LFZIYS=' M%/9YJ974*J^ULXN3W/2NM]/!JUO#FD_44#&S%>NY FK%9N:!",-;4VP$]QHB M+NNC]M:(>MG /@-!+OKE-F+LZJTZ\\HHB!Q*8+#GC>$#75D*=6 M^.J3($9D MXY!XRTZP0C_]83.!$YO?<"!T[M FO_ P75+K+2O.6(5(:)-H]^4B;M2[G3-? MRHJP 3@#^_5Y\!?VCA'<5C>-2N'!.QQ]/=N>H";D1J5\GZD@P*T19>6;C):;T4/DZ56[@,! M[[1"E=$"V_?0Q[O:IX=EQ6&%;$55X8&PF/8(2-=1%7"K2^@F9 43T^*P='%C M%)W1735.")HM]E_S@@?F XBONA@-89U(.7#2]2;IH4F&@SYMUULC1H7:X V^ M_$SP*:]&!1Z#G[D^.W^$I*@\*,J,.FS$/7;PFPV$2!;RK( @/%T)VW+1DK9N MW=:AQY#0 *+!=PLI"N7M00GZX!O$'2MF*-@7=K_QO5#E7X>$]G/E6D(= MWNQ7,<3[W]OH=AYI0NXL@RKQ$E@[+U<5'*O:>O=LPMFV]'#"%4'_2!0' 8V> M0@VFV=1]V^IU,Y:%QO -KN6U$"IK>TU$K"Y)7EU3YD60 MK$59%Z'0J3I91;U2BUVV[&1=-%#G=VJ[T#3Y$>I#-/C2DJ-07E,JT 'N;V=. MA&7A?44OPWVMTL\"#>8A2:4WWH&W^Z-4&)5GPC4804@;PS'ZV>MX+ P;PPAD MORLA5:F'888,E&6Z^_-7C BEU6I[@YZ0K[=:)9UU%JVB.Q![-#H$T]@R%8YA M9*-*1^EP!>NQ56&P2H&UN92EV*FL5RE6=MB,VAZU@'GZ]FR!96?3FR WNLGQ@ M:,\6UX&'G["7.+S=6MB.ZQ@4MK2%T6\X7MTA/WM;;84W#Z'DREJ#$?2HH!ZC MC0M5Q9ZP,52#NEP%:!3NUP;@V[U*Y_AI+?L50CK1-%%S\64R20<@Z,JOT0D[ M&*';Z@ M1F=9"IUF=Y"$4:44:G5O09Q.DPW-^!@V@]-&$J(68K5\1&V$(*6.E)7,-/"F MGH3XGTB8;"(ZA)]X#"56<(YE?26H>-^,/92MG872T^2Z M21T]3F\CKF,"I_*HVW T<32H^7@=9]KT+W1A)VC;3N?IC4Z5N%9S^EA.\0Z6 M,2+K"_08*ZY'\)I*\I7YC0&@J,C-YC761K/+C&PIM4,=&"RD7?. KB98BX"U M>PXHOP L2V0Z;"@V8;E-K2,GM]LY3341[- >E]$X5,\_O)W- ;AB4PL M2KR M?W<(9J^[WM%M4B+P]69":> UM(R65-0/&VJAUIV82R@;JN8>7,0/@2T+.!]( MJ^+]B3A!C%(K,)&=Y [:":6 V](V9E(1Y[34PZX[(9>1-U3./KB8<\ MR[D M3*N"/GUVB* M^L!C3Y@J/0-]3"6D;5^3M5V?(LD(^P=]\,5=P[527::.0F]Q(UGY!Z1)^R*=AM>,ZYJ%C4<%IV(VI\Y .)GAH1M98CQ M6[?9=!2D#36F'W3?X<-;[#Q2..U>#BT')=/47[S RIQ 12^]R#B_'RP:Z.<- M\/HUH4.'ET:UF20*XHL@&_[RJ H589Q=A,+@6\HNU^ 3"I?$V:PH2**T=F%; MK@Z6MAX*NZST=5/ M$?:!:DU55%&TFT"/HEA^0;S40IQ;7FUC#P]YLGRYC0J7#E/DN00,)3,.GQA? M!K&2$U\'S:[GB1[=/>PGK/+F/3.2<7TULL3')$X7XVQQZ9" A_-$!#)",V0&M[#UB<5RHI(!WNKNND. MQ3BK3ZB1L.#;+29 @> ^)RHK+"#K(Y0H92_KV.N\<"OIH8EYYR_< MZK(CU(9H^.($"'SWCR ;:Z-"A(6:VH0[2(D:84!\>H0MA?G M/LIZ0,%8Z1E3]#+#OEL_F0Y+0B.(!E]"$A0J>9YJT&N+Z>?W-:K>T(_I#]6O M<@@K"#X_/[_;$+RFRS5R0[)Y1Y?P^Q3#W;6)<^8X\+''K,?=E]%L<1^'[M=5 MZ%-8(I9=$F_?5'B)OL4H\)!7H\S)R7W][.;Z8OIP>3&Y M?Z#_?+Z\?;B?S*[HI]GY?_XZN[FXO+O_Y\GE?WVY?O@?.N+:#Z(*$CM.?3@Y M^9@2Y-&)T)M"[(:YP%"@],!2XP2+K-[HO1T0,XZQ6$@8*%+C%7T*!+16M?8" M6]&>Q$T>T=O=4BL+/D]'\,E?N74AQZ2F$H;E3 TDJ:(6M.V'$R55E\^CR0:9 MB)6Y(L#&*C;O.)Y&S0"I+U3K[!^!;)?N^BO3< MP=YUD.<^25F@Z#,D.SZT9(<"%:NLN4,QA1IY1<1"68',/EBT>\_)*^^:[MP]-&RRK[=WDCM<71- M_U3:7*6&_3#$\7WM'?T :JYQE9M?]0,6!<"+?V)U^^G)X-)/F_[R)LJN7N]_ M]\,(>;^\B4DRN'%,!84@>FJX0-F_U\'A&>+1Z<;P*F]C49 %.R P'IBSIPA"TE2::,+A)VWW>. M*&Q>>C'X%CVGOX@M5JV^0XK"]_WNI6IDP7,VVWX:LO:@,P [R4B"-3AZ@"-X MEJ:HGH?!$Y7E](I#]G?,GBS?WU-HL(@UQAQ2 /YB97%K$ &\A&0RW;&(: \* M7$EHDT5;>1R5R)0*%#V$ G=TBM9C_56'.T375H1CE%=KS4C 2H,L,S:GY!7Z M\/N>=DBQ^VMOJJE_.G4FBBRK()6O4_J_5,;8-[]?X"?LH:P>Q9/C4TR^T/DC MGG!HM!^2JS]TSE4-!.%HAA2K.[1)B+MBPG6@.67[A;S?D%S\L5^S08[H<7 S MV[8:L+/H"&6+UY%670X6N,%AX6<3?;S^XX3,/?OJ)\E$0Y0Q(!ZQ$'VV'D:9-T?1F09EQ]/OCOY M.'D[V0](/Q1C3LJ#3OXE&_9?P698NBOD)3Z:+0KXIVYFUV97H$J?I#F8QL,, MNRPY4$GR,X6MX61F-F1;>6D*L;2J0'E0L3\)DJ?::_2#DN!'7-_-0V\ M*[P2$_Z@"8!0OCF)#[#HAYCIBRS4LI&2L]X(0$"^$4'K>$!3[3>*K#UY%VOY M>SJ85,[!QMOUX+E^@@6SA_QAA9CASCRCU-XOPY^"_$#A.J,C?^6MJ":CP-1A M7#8WQA'.N74/?>[!_A-YU_3@%N,%1MXTBE K&HUJZ5-2<_I:LD2<5@MYF M@:F7-75!1S2 (T0<4LQ)2-? VJ&6$_LGU7 *(3$>!4 RE*D0&.-HTUMRGZS7 M#MG.%O>8BBM[QBZ(2\^LA#YF11[R;R(JU0BG3QD4 =FL? "5Q*@#VN>CX;P]$Z4"JJBF#L25Y1+;/];P#=,8T8LRLF MMD>M>SVN0W+NF>C@5[M^%*Y\5"C8WV%'0\3M9"*M9^M^@($7"\(&,- M4-L7]/8KBAE$;%'M%Y+J!*G?W=IITA1#OC5IJ'F@'#!59L,#(FO>D5*O'X!# M9!/N&F (Q_H_A)<%W_#\4K7 M<.>Z_%N,!N#8UGAMML$;\HJ]=X3'!5%C /=/NEV5&5J0N72+XNQ>5*S-JW(7 M )<*NN58&;F^]>>O*$;[/M6;K "A$D%!O@>KPJX=SCZ*G-HB1H/ M7>BJ!L79]@P%[HHRZZOL045E-S#>+CE3JM6P5$A9KDE6!Z\ 3IIJI.X&(]-( M5Q+E'*OC9C=,26TSNCT\H8#=/I4_I"EH"R#]2%?N*HX>/C; UH_JY6=IC^$5 MG,!ETTK![?&!Q1L&EYE:*_< J]'J B?E3ADCN]SAF80,0GEM3%4OB+KM4.XJ M+%*A9"&(\T=("K!X57Q%C8977P(GI5I]B5 8G-BL#/=L40%%^ 24I*W]B*18 M:@IZ2\#OP4WQ$&X>4+ #2)SL*FAH.3:IE(N=_T OYWX.<24!8'K6T])C!D) M1YZ10,DAS4BH_@XX(Z$*Z)C:(8P['U%JQX$..G 3JXXH-P#2-]18R,\DL/(Q M#N"[39BDS!9TH]WMLCQ#0K,C@(P,/8:9(-5WT$D(QCFK;^(YY'^00Z+KX+<5 M=E=ET#ZA@(5,T/T&N6E^^9S:"70D9YGFGZ?>)"-F=C,A@$R.+H2@&V(,+CSY M7LH!9@>Q=[;= =U8 70R#X LD3:BT@D-X.0B'."W1^Q4=\^N= &0/=)R_ZZ@ M S\8/2L4."]?!GEF748S75#&IHSE:7<'$K4T96%GV6JC:U!5Z^6>47B>.BE8%^/*04:LA(<23#*1:SFX3 MQ$?WL>I]FP:Z='0HCP[ET:$\.I1[?62'KXM4CF6=CM8 M;#;J)!UV4AX7OF=Z1XZ\>EBE:EB.BC<+[MAE.E: GS:X#0-2?&1K+I*YKCL< M?]C%NP/\;%OBZ!5!_TC8HX(2U[963S">[ET!>+$-)%3%O$/\+)_A"'ZBYQKV=BNKC,U M9&%QB6Z5=P'CXNY5J-E?%#>1<8^E-'4/D_RGGP(KK'9*1D#A@(U$W2E&2-&%P9[KX--$DSC(0B.61^,F?4!0)"U5V9] ,NLC\;,^FB#6:K-L$MF?03!+$Z!^N-X M,$T0,NK5;A&B#XZ%XTMJ0[ZD-O7I0HZ=>Y>@YSGV4703>^*;^++6 ,P(;7': M%S"6( 1C)VJA# Z"9CW$3&X )!_U0BON'MA>,Q]?(E.&\XX$^W#D]#%*'2(" MZ=+H!\F8[4MV-,@ )Y. O0E&,63_L-#[$[L\R@5>P'.#_@"V"VW)KB3MZZ,( MAZ][+^8.T-EB_V5*"*7?7-85P$INQ$T][. PLJ2R6[L\\'@&N5%W "K73'[+=];UT82S6HOSR'FX?L1!"K( MDU3,%2:N1 &B'ENNEF3R42-#[PPR(I ]G M!BZZIW-'"PH\'9Y^C4-VV5, (4_Q-QX*@*76 9O;T0#.FA> >.X[490_MLM. M&?'6X S6:D@ ME^'6J =+>"(B0%)"&'W(-,PS^Y^^9I=)Y\M5 I05!YGL-D! M&"I6MJ"69+-YS8 #3W5^F[CBNSZP[?'5YW*$:?E(=G]7EN?DU+\UQ=_PK_ MZL/^EBLG/A&=;4N?](KSZ YC/Y9W%.%892D>,[:-4=! M*PZV/3Q:&@2TSWC.E@0AZ5.N^S3KZ'OL8N!-[Z$S)H= 9V; M]$FOB9O=2#SC9DPKRI&3346#L1PU$7)/+?*RM'RI5'-GF_IX'L+<;BM011&UD(75;=3= "Q+4WZKD>H]])YE\MPA:AIC-T9I M3D\.C)>]];Q#A1M[-^H/R+&N8E$#[."XRB5R=8N8/[6$AOEZXPP!R&G=P=KC M( B'MQQG\QURPV6 _Z3&@$=1P@OL[,R! H5JM@']+5DC[[9)OD4WLP&HA&4J M,;W1XF4*5ZX\2PFB \@8;U( 9ZJ>%VU?4LJCY@L5UH00VB%K24=!%&':Y7)8FKX"M3HG:.-@[_+; M!@41HNUG\0H1KCQ;A@70<>:8%:^0<,G<@(Y;1R;1$J(>DRTQ MVZ1)<\'R!CD1&L:(X,\)H,3R,5H/?&*^3"6ZCVD-81A49AM2.O_ZHA1EA8PO M72ZSQJD]\[!R@D]AZ#UC%A <4%J%, PIPS^\4!D6$A>.9(N3 )3/Z^AU'5*. M?K0N1WHT@NI/K$MHP*:Z^@">8D;LW#254BRM^T?G&_SA&S"B'\N M:#;.H/GB]L(G+2@$1S'M;A&*;W+_AO!R%5/:/-&SQ1(I@[KMAAQ4>.P',MH1 M"XX<<4@V)^$5*PEZ':2503,J/J& E74O:N7 M024.9*RA+06/30PO'1*PLDLS_2V&2Z08727BBA?T*"ELT2S&G]$^2= MAY%)&H%P@$'E!^3=$2%IX$C$_$^PB:F"Z*]J6R;] AOJ='TD4K[.*R VC\EU/.J@0PKO9T34YCTL, M2_F'0PA@;;I!1<^><[U_0O8M=!0$PB*D%RC[]SKX+21?*6SGS@;'!_:^9I]! MV6_/T:Y)#3AV5K>BVNA66%?S#2IB(#WP75%R:!7S$*IN-^AW&[3RA64/NQ9! M7JJNZ> :?S^S#RJ!]MWT@]$5M"!77KUYH*?<*%N(9H\5B8885*1 ^N$EQ($C M%T64LW!6[$5]+^ BPTBS[Z"28-_YK4D5:$]+G=$/:_:"A1O>^*[I^U(?=-^7 M.F-?K"?91/\VN;DY'Y^9$@YCO4+Z^,R4"$L0FWD9JCQX-CXS-<@S4ZFV9!M\ M^O9/2*3O($D: ZHBJQ2FO:]0C ^T97%3+[T\/O$P/O%0ZP:H(*XNOP=\XF%\ M-J#']R":(0B'M_Q3K^(M> /G@F(D0!55=3G=",\!$LR;/?=^:.LT'@I0+5$5 M+]LAVOOC.W)QPBC:/*UCH)*4NNOMJ*]F=.F!%$8< M!GQW1P,&0!4C6VS/?5+HE8FG3;$$Y6L95 F,->BA0(5BURL9L\7D[#4<]I0L/?SL MCT3TR.12X)TE]Z#?9C1 SAJ[NU83XD'+_)CZE-RQ<^\2]#S'5!7=Q)YI_L=' MW?R/?+)).MLDG>[?)G3",0MDS (9LT#&+)"CR@+A:4YQ&HBL-2#?A'X>B PA M:"OCP.LW)H*,B2!C(LB8+&##=S$F"QQ1LD#+Q(\Q6;E&:#'Z"6%)W?"58T M=TB\#PZ4$)?%K#L9V7H(Z*C#V!TR=XQLCY%MI9/?7]$MY@JOQ.'L@R: W![Z M,>P#+/HAYB<2)IOK0%(D@M,(T(';B*!U/* _B:/*#3 ;PEJN0!-,RYJFDRWF M^-()-,CV@M],ZD>4VA$ CH^!H_XX!Q'-8)CN( #\5VWY;XIRWTZ)R\6"'GQY+;B,DC>V>*/=*2978D.%CF+ZRSW$A$,=W+ MK?RYB4)RB.QW0G!Q'(!IG3H3=GN0B']NB+=C7 M NI27'(JP9.5"^PG]-L#@+N1%O'H%LU(@/(BII-%B2G>.YTCD@+6<(,1#P,S M#;:CC42,-FB#400^;PMI/@S@W4(E]9IN(P'B1\G[7#NUY_YN(,#:OR?^[U"W MF:B2NS9*MWMFCSY>9D=;L_24[T].Z^DI^>@L(64_P239%\*.^PBZ_N7Z2>CY8O88HS<:6BYG92 !"BX-(EAE5X!P9M8C31N^ MB"\"4"Z0F,X35"[0&0DPR[R9$_2$PR3*ZD48&(NF P,(0_8K+ET0:8B:''48 M=_5=/H<>7F WA7&V*)KR7,B-A@$0B^Q' )J3!+;J2)/QSI-UXCLL[^KGEN#T.A. \,3PRJ4UU:#[-TW=G N.B'W^^<8,F3B=IOP[.R MK[/P 2MKF-KA -?W>?"K70:+&HXPN^3I%X+LX%D[BQX-Z.O(Y1X\'%(_'>!@=#Z/C870\ MC(Z'4=@&VW@8M6_%G5YSDHTNL] MM38P[O!H"5B%"U4L>DB(_$)UW44^C;B *J\5@*LU7$'8923R@.ZC_EV R'*K M)"&W&0!S4DY#+M063OQ_A*38H'G:6-0(C$M05_V*$!F@+CX[48S(/2)/V$53*A+IAK #4*Q -#M:]ALJY6:G6C3Q MZ?M&P&T8-&:)?E_+3DA]KNBC!.=\_T*O_0O.]*:6_'B9?[S,/S@_K_ W]JH2 M52!:U_C%S0&<,MIH*)T9BRK[QPM3"UNLV*<6(A5MGI3JLGC(.=@:AJ M<:^,H57NW5!52 $[2[#/]+_T-"=H"^ H9R"#9?8($+++$$2WEU7H>]?K#0F? M4@N,?]C0Z@' 7FG*'!E:5EDT6RSH472'AI0Y@K8 CH -V2) J)^:/A$]8:3Y M2G)BJYL#*-)D2&\U3E;70!9 UEL#@K8 ZB8U7 ,"A&Q[VG>BPNIOA?2$&,DW M#GD7 *6'&K)'CM=89!HO,HT7F<:+3!;<#"I_ODY':QY]?:PJ MZ:/:&OKX_/M"C#X1\:N1JDZ03\%23JL0@Q-MF[IN5K$1>1=H0Y";O5Q,__91 M2O# FZY#$N,_L^LC(L0$'.YN>,A';ZDL=$<".%(C!/(6B21!W@7R0;_92D_1 M.@*.?8G0(O%O\$(4AM+J"=DIT(Q_9>S@L+&L042)$)4FD-T!4L94T; 9T_X4 MAMXS]GT*^G404[,;4QLM+78<%3^9A;C_>ACB+@9*0]S[62;9-.4&1Q3U+F#6 M"W+76H]W#;N/8W,9,EXS[,EG9"1;XS7#\9KA@,=:$-<,#19_H;E47B-..VM. M(B',?)]033D?GPNH0$#!&A#RK\6;/<1P#@ %3%E=E^O )2S?X@)E_RI(+^H$ MP+=BQ! 1'O#8E#[O3)!WD9"L(HOX42MY%P .$B,6\;& QZ#K]<;!)#V-BOW4 MHL8 O!Y&3*G##_147?]L>KH^J$:K/%T??G=$Q^PKQ@UT@Y_0 27U3M[J 8:^ MK2B$YVR;W9KVG4AV-#<: >!!79>EU;N-!CA;OHTJA'0/)[LC+SWK&X\"PQO0 M0+@UN"S_ RVZN87YM[ [Y61'V%=XH M4@UE/0 % %PX/?!8B"XX^OTXHRJG@"WY<"W9,-@&2.R9J H:@7PFX+QU4C(7KD- MR\7"[DWE&DA2)XNH,0Q?BDR<9%SH,;,BTR%7CHM]JAA9L98YP4_4@#ES@J_L M_[/%;RAB:7#79Y=WU].SZ>U_GE,5%Y)4RTKNR78S, #'BEP ]Y=HNT'8]E,7 MH?]$K9TJ,E*?BZ*/109V+^"U6D(YLZ6J7EY40=.0XO'[WXYQD.V MEX("ZS7=GK'C[S*'J4'K!&FYNP3]1Q*@#R>G/SR$TV291#$=X(.LW$#CP0"X M47159W,DX1S&/M.SQ])9*D('!ZT .$+47!)";_ER0=FF5?F8A:WMU5F4PU^] M7< QWX_/95Q%X]PA9,NJ :[#1'@C3]X%@(YKS,4Z+G!4V9? R3PI[ H@!3F* M$O8J%WOI*Q F[:DZ 5!T!JQ280.'64Q[/^3:6W(JWCKJ2N&0.FPVO0K5B,$)W MS"$&8.@N=3K8O8R&"HI@MY_MG9R,]=HH: ]!K.I)6NVC%165,)QO3R0PY M]AO"RQ6[;_E$-\8 (@B-F57& PYK& *%?W<7X\@\&6$SBX X&_I+O!7YN8V& !!^,,F?,L*M,[8*#L3S,*8 8\0*.7%"ZBK1H!^ R(0&9PP0ZIL=>2+;DJ#4Z'F@C2/V1.P=5_ M7JRVA_&'Y.R/[3C;+>)P;)N]N^$&.X_IWGT;9J H[$]EOT&=*2<=6*)*C""R M[0I_2TN[J(_JDAZ#LJH+GXL$%XA,.G,B'-UOJ!GFS8)R($+)+$G/09G6A7-% M R=(S"MC)@3Y5,A!W>Z#LK%K[XH,,6NV3J:N^[%SC,<>E+W-_3$=8PUG'=\5 M-G@T6VC<[Q0W'Y21[;TR8D3@\"9+G8P*YU%)LJ2VI[K;H+SJX :B$B$X/+M M"T0HF%E5$70>1O(:M9+V@W*IN?M% Q,X[/E$<8_8$Q\HF@67WV(J0PF.5@RY M3'T+V*31;U!V-7?$&& $AVUE'[I&"&%@9C3WG?"!ATGW(G9QAQ@1J+BT">[( M!ADT*-[>,6**'B#N0J[G\:&]'Z0GNT[+MU]$E:Z#.<&!BS<"AZ%9UT$9T-RG M8884G 5Q]-6(/KRF4N/.@W.LZ7T2,%JSB+>=. MX'C8"2J;*#8OY?*=1BD7^F4^6_'K?KZQLDOG]L58V<6^C3=6=AFNLDNA7%@Q M$I/"+;Q^ -+M&]=EX>'3 P.N0H+P,JAY",6$E[>'5T%<+$X[VLM1 F2A'1@N MXST',Z,%Y/+VSY(;X8;G*/2B_?CM3_W'K$;[R6$"3LHWWM$4<(;R/&, M;J\\V/4U\&[PFKD53D\.GT/;CSHI#7L,W@,.-::!]ROREFR=N/2GS/&RPS:2 M^Q@:CS?6#NC*,]&2I6.%@;'"P%AAX"@J#"C*8*77=YD W;LH<.BF*RAW)V@' MJ/1=!RI-@NCPC,FG_Q)$&^3B!48>5W$IVMHOI">5L!W5Q1CTX0#$)-I?^Y,X M_KCM+-?44PK&WLG'!;\'>MXC-PP\#8(*&EHNKJ=/40'\0(P M5(U.()RP';%; M%VI?J9@3U0T]TA]T/1(57YP\ZDG3N!-\.BW M&OU6H]]J]%N-?JO1;P6I,N9X AI/0-U*4E;<2?E:IZS#2SH@Z> +\7"40KD' M+G"VR&Z?8\>=AE#+GDEG.$::2>QE00F6/O^FQO=4$H'8!D=A+9* 5\F!E M1KTOV*AW-_QQN?,B=UTSJJE)OV'WAB,$:!GFA'O9-?A.5+I[9)H4S6*;?%]Y@TWN#IZ>'"7[9U.P"X6[V M2;C(OI[D *1NU!T(^6\E(."[57>2(?.5UAL-]+8@Q*<:!>N43\;QE<87\DHC MW,<%#5]I!/2XX)R$=)G%V[GO!"P4=OF/!&_2@HE;Q45AK9Y@4MG$JL$('YB\ M4@8RM'K"B&<8"*06]\!$-VZHE7*68)\E/; #QS6U_,*GK!2"_.EIC8X C&0# MZ:S<4-' SBK?=II#%=W@-;06LA!#729^72L>7W#A!D410M7SQR75$?2$X:+9 M8I;B\A"FAZIZ =V&8P (0>AQUQ O.%X*'N!W*$#/CL^JB!FPL=(+@%.Y.>,J MF,!A%=7Z+D)>=$71O'=\*E;"?4!LF^B/ ,"!J,="(ZSZ+HC' $B%Z-%QOSX0 M)XB<]!V>FZP.'&:/+W$6EF%? #=CY;PQQ ?.(A/!/ V"Q/&I9H@=/Z\L)C1. MC(8 \'J8I@%CA!9\CE+K-XFUGDDQ&@' \V'M^,G%"A8[J4KG05XX_\5Q,]W. M )X7TV>B#D)P^)>"RNJD3Q^C-&%/:&(>M /P-)BN47D .QP&5&U=!J6 [R& M )P?0@$JH$8#WI"Z-X@1TB=BQ\TTL?NL&:6K+-\ !D04_&]>7 !'WP$J-,IM;H!\"A MV>EZAYD_+0#6C&T@G)B=,LMN9M,=VH0D9L&/^RRH89BQ]/$P8VD_Y*08\P@2 MD-P5\A+FILQASK!(G\Y;A&2=)J&=;?,?I5E*34:R%-$[2R)J"D91P2=)MH.B M#YP4J.:,Y 8&^>C:=;9DH$@3'FIM8*0V:,E=A0M5+'J(#'RA6OPBGT9<88;7 M"H!AR!6$G:.?!W3?@9;+ )'E5DE/;C, 5IB)V?/J\ M0A+%X1J1RV^NGZ2EHME[F%2F'IQO C8V&@G \:DI?QOAV_>.EP,UIW8J"[8N MZ\<"42,(B1R&?!"A F=MI8_\SDFX$-8RK[2 D+#1<"U4\.A;QDN33:,]YTO; M:BH3/,G7[@HAXZ+)>M!&$):7)P>+'A$>PMCQ,X_6V?83"I?$V:RP.R7(,74% M'=0"X[F"V+?IW.FMM73V23;]Y'$[V0,P81 &-N=$)96^Q-J;,P M#)8W^ EY&;9Z/J1F@PY8X7G/,"I%BBK/AVT!NHW:L/&@W/,AQL.7?,X67AD2 M<COAB+'C;'VS#X0@F"O!0^_DT664/;A9]5XK&O9,J''\)A M2G>QJOP@S8>SYAMI2P&^OZ29$H12G/@8SF0"WT<7[.S]G"8@>\F2E)->T!" M:Z(S\@M0M'D(^)SX,4;KC1]N$6&7, Q#O=\=AGHK0T[2,8_)8C^DB)Y1+NPW M].878Y(J50;#K;.6W587-09H@2O84G4)\K&R;)34@9*&:L7-841MY6(FYT:? M#UXCY@+VYQDN5TG@21ZY%K8%$,55B/C14@"[,P"?FV75B.!L,8T6=,4QQX8-\<;Y#.[)/ H$&1[ MA@)*P%B^0#0Z@;#.--FA@4X/E/^,@P!%U/"K28.<]#J] 2+M&FO@T_O]WW# MI+;FF$10Y>FA:+UAS M>&K@P?=I"H^54-R6AP!FM_C39!?\F# HR+)*5_[:3.N6=%\, "&MR:3VV(* M>'7F@-[C98 7V'4R953&27?5ZHP$P+@W7->-T(3/[VOZWZXXKA@+P*&B(YXK M$.W[M'&(11V&* T'Z*EI45\ IXQV6EF$F,V8R&4&(,H=! VB(M\?1D6*02?Y MJ,<2&+E@)$5>F4<,'V Q,DT6&1V"// MQ0U0J*0>'41- 38@!%(IC:G -1SY<"@:(8NPP^:?U>7D-P<1>I[%6>M>!@ MTQD?(N2^6X9/[UWV>C#99FS(/^PYD'_Q^Y?[&L7+/P"@L%A"&$'+P )20D<3 M1Q< 3WY").S82%"*#]F6&TW7;',T.W1I#VK1O]NU8&CC#,?S M)\"$54.\0VZX#/"?2%2H7[.O16]NUPRNHP:*CX@0!O&:/<*67Q,L*JWY3A3A M!4:>QF//QN-8]-RVX:\IFK!YS3!6/.HK[V31H=LI%\LXV?3EWL>A^_7,B:K0 MF7ES_W+HS4V'?9N..RD/W+L_5VPB'K!@2@A[;4U4FLR@W\"/9ZC/V[9/V0++ M5IL%E3:Z*V'4@]E8&/5U2OBN/S%K= !R65=FU M.FCT45SL'PG.GH]AOTFJBW'; M4H>2*Z: MER(9/J$"/WCLT.^HOB<0H*#)5W"+HJ^1.Q%$6K&T$5,610LBRPI M.NHZ#%++YV'EQ.=AXGMG:)X0=\7LH+/MW"$Q=O'&.2PR!@\\ /Z.7D1R6"K" M.8W=KQR"#@S]$F'.MOLF^>-'TV>'> 7FZ:_1-(E7%".QMZ6'>0!X9HQ%L4=R MO#R9>J(G0K937(7D$^TK?/*HM^D ^(:L2]@A5>#Y)>Y0%%/]G,::Z.\L[&28 M>?:7PWI;0E\%*[I5S)>UFJ0SPD]**]5P54E')!(/S7+M;<GH M8WF!/I;]:3CZ<'+Z<1IXNJ=^7GOX7A4Y_'9?1DM7')U HFMJ;<"D0_6J;&I( MP[9@A>CML0@\+9W5SU0P-!]7UHV,U$;(6\ZV.[1%[^Z_2)-Z%7T Z-L^%T0U M94]*":N<_3O+OPV6$KU=:3&\UA:5B.]3:U=0AL >J;*MM8&A)3ERQ:$P".4F M$*!40J@044$352]J- ( Q<>5*HTMC(\0<.8]/(65$,NH\W*5\Q BU^# M4#1\*8I:A$MV'P1-4^\NY"WZ>HLTY=RV9#( "4 MT0$FL0T)^:KD.%O5]D2XF!^ =\F.UAA8T@MZOP8A3_>EZ#J@MCD.AU?3]>F/ M^1AU!")>)_=KD/"_IR2W)N'UZ8_YS'8$$EXG]VN0<$KH!<(VA9P#P3$?#H] MSCD4?PVBOB/\;XBY%)&77WU)-[8+)T97#B9_=_P$@3A\FD$)X$6"HSV=FE%Z M7"IET@!>'Z_ET-M$G4%;8:]C656/4/#6EC%\K^/(#7>!&3/L-:RRZC$.WBHS MAN]U'/OAKC)CAKV&598?(A."(GA+S RXU^%N@+N^S+CU&A975>.DSYU V:_J MP !X=N_8' ]R@L*1[ZF?CHL\/BDNO[$_1?*HVWE(^?EA2/G1)0 8BK_SNKNWH;Q_Z!2]=W]2%FG^H(0B)!%>(:4RA^'E$J+ M-'T%@IYI=&K/Y%^Q=J=#2[< B$&=H2# MHD"E"<>J0"^B*M!1E.JP41=H+-4QENIX :4ZYM04B\-U"G6JJ^?W7R+I#5II MCV,(K794ID-*A^YY&I&XQ$_Z:<]+^N'W.X8=1T?7?GO9991JR-IA G?Q'/QJ M5^-Q):9"06N"_)F28YVLA52L_6Y1X0@X7I"Q!NCPA'2^R0E9_=UBS%Y%R"J@ ML"VML7[!6+] 7(,R!?)13:A'KFE2KL_^X) EJM_/[6F.8T[GX4I83W2"X\EL M3*YRA87,S27R4W8[Q3'GLO03+N22Z05(V'C7^R55)QCO>H]WO6&EO=O/:A_O M>H]WO5^FB(]WO<>[WB];PL>[WN-=[]<@Y^-=[_&N]UB);+SK/=[U?A&'7KB7 M>,:[WN-=[Q=PY(:[P,:[WN-=[Y=R[(>[RL:[WN-=[^-W-\!=7\=ZUWN\&VGE M;N2@I>;&NY'CW<@75L3@-5V-O [HE^C!^88,KS[^]>2T?O4Q&VN2#G8$EQIC MNFTR@9#>3*PU>L57543^.RX9Q_LFXWV3\;[)>-^D>T+N],TG%"Z)LUEAU_$% M^E+2%LY5/ZG^E& P/.6S"R!E2+B7H15M[>M:I0CMJ"_&HC/J1\A]MPR?WKMA M$L1DFS$@_["G?_[%[^?3&K'+/UC6ODKY8&0MPVO7\5<(P<%10&0"WD"X2R:$ MNN*)JNF4XWN@-CM*W(11=$7Q/Z>0XB#!P7)&]6MZO(K.T"*L'%_H#I^>HJXI M5H2>S*:!5QTE<[-]1O$JI+^PPUOJ;)L^1C%Q7-%KCE8@@1 VU)(T*]2!X_=I M@#Y5B>S:DMN=N.U'!)#.87'AMI3+/1F/6KZNZ$>\%!6H:3,@ *5TO-*UHR(T MX:+0Y54USU! .1OST-':(PU'@A"T-]CC#+&#P^;SA!"*8G?<;C,@F!VJ$2'* M4M&&"N"$XPI1BCG^ 1IR"1#W L#F]F+/X;888W L374;W>QNZ"2FC%7U!6 ) M],)>%=[@F)Q;%:;K5M@+P)[F&H$&$X_+Q "T1A M];HSO%J-"$!G=R0"K<@ 3SYRF\)LW>MV!F"(=; .>-Q780Z/T17KHAF[]88 ML-1[8KH>_O!8G]L?#=>XHC, HZVO-:[ '!ZCFW$8!&L%YEM/K#T"GAI@O&O* M$CL#%_LX2T3MS&VJG " I'3N354B#4=6+A<+Y,;X:>_ROZ/$J,%=N(\8H1(* MP[;26)35W<7( ,S [E=3)66["RH=ESCQ;2$DO/O2:D@ )J5] 1*3Y[@DAWYY M3K=@'+>1E?(@ "Q0^])1)LAQR4/=S&8M+C#MR#QM.,T8:RHEZJ$!&"[V94=- MIN.2J-N0W1E*:+-''^54_8P!/< MOO 7^P\TC538R1,E&VR4@ ; "]A=L(.SAL/@#Y%L6S MQ:&-H9F3HS\, %]\"Q'GQ?+T<0?,?OI'\1WGC$.)DALS45$=IORSKG"TG 2 MZ#1=-E*Y:4F6OLT"#7CO4(3($V*+9^JZ)''\Z+>0?$4DDHA)UX,#"-*T$8^N MR0%8V>3F4+!D=\C.'4*VBZRNH,CT-QH!0#BF%S4APWEP'7"!(X=AP5)9Q.:_ M5C< (9#NURT/49B*^@8Y$2J9/-UIZ<.1 1S++:GH0UH UL]:&'T)D$,"Y,T) M6N-D'>5-FMN")G, < L,9 J:4.7818IM;,77G?5#'SXE5C9UC#)C)%&\#9_# S!O2;9=B!X=1 M J]VZWB-]3#-:0_.MB8XPV$U'](Y"3>(Q-NY[P2LSA.K[,3;<1N/ L#_;B[D M@B6LA_& UE,%(+1Q<+$C,..=MXTV&0" B[P9!YL@:X=YJ:,GTT?Z#*MT N"_ M[IQ)%03A*=)=VH;8#ZK795 5.4#P@8\E/ ::9Z^"RT@][2$V880L2*[J+TBK M2[&'8(,*/SCL,@[G0HG>GO;HVA\D6MN:=8G"AF^ *9Z%R_?O2-2GM M,2@3>_">:R$)AWL7R"7L!'0=? G([CT\"GR1V7<=W='?*6B/_G9.11&+WV1K M.-:@1_]>?>B-T.];Z^X.2IGJF"VR*AMHMKC!:QQGR?_9MZR&0G[C^3\2@B,/ MN^FO^1M=/-7B#"D(/_OC."7(,HI&].M:7:!2C#RH:?:70=DF085R(CC]; M7&'783!GC[0*DJDT^PS*QAZ<4)IHPMG>J])^;RJ5Q[E#+L)/DD=6M7L/ MRM<>O5':"/>]_*K68_ZVOC[.>Z"9=S_M !RU_3N1O9/"CC2 M)L!-("3"U@!BZT.MF[*D".D!GL'%)L;LD<1G+J3T,:RL/G^F%)G1$D8I,PWE MP7AP (%]0.)C3#[PTE:82E6,Y@SLMK)F.#2 [ 1 DF9(//!RQE\YG:=&Z[?IW2^H%_X8900"E'H?EV% M/B5TE#VZ>X$H>?S]"3IE)OH6(U9P'(Z>3O9CT<_E(?\YTDV MZ.1?\F'_E8ZP]H.H N1.'CZ@7*0J3\&*HE%/6K=@P5LOGT?."9X,\:A<0-U' M4AHYV^[;Y!'C%($]%H&GM2'T,Q6,;84KTF6> M]X.\Y:A@%!/LQNP516HU?PG88>+^"U?!:O8!L)GUN2"J$3TI);KG;$3B$E?I MISU'Z8??']BI:+:X#CS\A+W$\3G*6=)N> 4M<&6W4= 2_.SS@WF%[I"?';Q7 M>/,07M)MG9YY>3JWT0AV5:E2"(4<4N'5APV?UPV-9HNK)$X(N@X6Q*$K.G'9 MIU]#GWEMHAO?E=CUQF-85(\M1')_$#!&N)?+''6GT4'B1?4*AZ1Y/_QP?%_$ M!5T,*I:'L4*L49T!ZL4_N6$0HV_Q9>:DIA*!EGDIA/QW/Z0;XB]O*#L']PS1 MK7K-GM.CA+E-F.C,%ND>'_LTZC=T6)(B\?$)C+2#EDX@8D2 M'AG\>0#E3R3*,9/V &".=B'9 DX?X@N2D131&4FSY+P4X3DB*>1JAHI[ O#B M],A8,=X@&9RA?1U%B?XJ+5H#R)WI?846N )FWBR)H]@)F/FFR\%*%P"I*;VS ML8(P'%ZF$&8B=I$0"ER6_9+!7%CLF5I)B+MR(I1Z\D4^OJ:C 4@1Z5H"&M," MO'"DU!!B8"8:JK$ )&L,)!@J2@Q5?4O@]\Q?Y726+"OD"1'ZQV>'?$7Q.469 M(4&PBZ(O$2MQ=(%B1-9IHDI!L1(1'U9.?!XFOG>&"@R]LRTE9HQ=O'$.WS&$ M!QZ @M==224\XH+7?QF=^9&")ANC:"0 UY,&W11%=.B_P,L.*#X(1;!F=SOO M*B0/Q/&XUXG;C :@!'>G>J4-+8Y$#9R' =6(49K&F?V=OFM]C]Q$FF/==E ( M);P'U0X:- $D,JHPLBB*S"C%D[R WFG M,>W6HUH,MS0):[?&%ZI : :W59T Q+<[$G0QUR%'N:N0&@:Z=3L#B'7WSN1C MB'CSQ%(=-U7V A !'V@-FP50![UW*HS:W+-[OIY#MK,%Q8="GJ)2;F%Z9?6# MUI75MY,"I.SW23'EA,WY;Y,=7),"L,G_==:;_S=)X:NV'N^_ KG_>I\\1MC# ME&OW#H,RY:SD#I6D_8NZ&2O!TZ[;90\-NPLR6SP0AQXY4F>W_*:41D<8]YZ4 M(EGADP9:?41WZCI8G)(O; K 4M:7IGWT183.>/USO/ZIYP$?KW^.US_YHE.Q M>:67/KDM(6C4@:YZ\\@N M1_5,#3@>JA2+1S6BCW5$=_X,%@2OA,_RQ$&9G/4TX3'L+UTLW0-)[8F>O>?@ M-256U:.6QN>GBQB1:1 DCG^'-B&IR]\0$P)PNP\F?T/0\^CD[[\2A]!__.V M(G@P)X#HP)%+X0%) >W7K^_JEB!A9/B=]OCO=E6@G#U3[%D)#P;FY?UL_AO" MRU6,O/RV1\U R&-[Q04.G7-_VQD 7! <7,HZ)2 VJ<$F<]3Z%/'N,Y51FF.KT!F"9JF7QP.[4P0PL*SVJ6.Y0C G/ M/F.VWCGV;)INKWH #-\N]EL]9!OW/D-I8G^O]&W.^ [7LCNAR1LKOL[;G3WIG9 M2+WLC%%)&DG5WKF.C0Z*1&:BS22S0:94\J>_>/ !9A(D"#YPJ)H(=Y>D!,XK MS_GA=7#P+__KRRY$+Y@F)([^]0\?O_W3'Q"._#@@T>9?_W!(UV?__(?_]6__ MUW_[E_]^=O:_SQ]N4!#[AQV.4N13[*4X0*\DW:*G>+_W(O0)4TK"$)U3$FPP M0A__].V?O_W3M_^,SL[^39 X]Q+6)8Z0H/7]MQ_S#RXR:G'T(_K^N^__Z;OO M__3]_T#__..??_CQSW]"]Y_R=I^89&O2UC DT6\_\O][9OP0TS!*Q*__^H=M MFNY__.Z[U]?7;[\\T_#;F&X8A3_]\%W>^@]9\R\G[5]_$*T__N4O?_E.?%HT M34A=0T;VXW?_^]/-H[_%.^^,1$GJ13YGD) ?$_''F]CW4F'X5KF0M@7_[2QO M=L;_=/;Q^[,?/G[[)0D*$5F;("W8J 3^_)W\\ __]M\0^A<:A_@!KY%0\,?T M;8__]0\)V>U#+K?XVY;B=;V\(:7?\?[?17C#OTPNRU^X+!__B MJ&=8DK/KHI)].%];]A/F2Z<> ,-P3L#%<4>^$N*HP '(C@YZ=BO?!YR M (GIJ<&2/,H3['^[B5^^"S#A4/D#_^&,_R#LQ'[YVT7,X'_YG*34\].U;%UUFZ$)&UX&,QCLX^/W:0^=\N\Y': MBP)T%:4D?4.K:!W3G1AS_D6*,:)CY0(\,8HUVAY]#->MZO3(O4K]#*93U4K8 MVZD\:!E%!R]\P/N8UB&4IAE\CZK3Z]BSU#:P/:Q6TMZ>)JDB278ZE[O' ME,3!511 [7:UFQUY7:03;[>I%[>UWDBP;. /$"4\X7%(O2@@? MHEL!KZ8I?/_3Z7$+W.B]-;;U0VOFF;07:Q>KZJ; M5=M =C6-I#W=K:2*.-FI7&X5^3%E\"D6OX\I&](OXD.4TK>+.-![8%LOZ YI MI'75/QN[0'97,\%[>F^%R0()-BBF*&.%.*^I7/K)^[(*V!2!K(D\1V@9K?7M MH;MQBZ95!]8TANRZ;2+W=%I&'E7I3SS>+X. &2W)_KDA$?ZHM45]6^@>VJ!A MU3MK&D+VS"9Q>WIE1G.1_X X=70738:?&=\+]N,=?8I?HS8K5%K.Q"-/M:OU MQ[+9#+RQ1MBA?)&3YN,Y)SZQ'XJYQ!V]I_$+B7S]G%3;?"8>J=&SUBV/VL[ M-W42#^6@Q8PSYS"QE]['2>J%_Q_9-ZZ;-(UGXJ&U.M;Z9Z7E#+RS7MZA?%-2 M1XS\1.L@CM9+BCV-+QY]#-?[ZO0H$A>4SV!Z6*V$MCXE!F!.;2(7XCEXX?TV MCO1[W35-X+J23I_M#8Y;0??(6JU.4[:*)I#]KU[0 M 1*W*,JI3N5LCSLO#,\/"8EPHA^KCUM!=[9:K:K.5FD"V=GJ!>WI;((HRJE. MY6Q7.TPW;-#_B<:OZ?8BWNV]2(]PNM;0G:]1RZH3UC:%[(S- O=TRIPXDM11 M1GXR*-SB,&QSRJ-&T'VQ3JN@Z]38W6C8WANEV[CKG[Z5O"=$,#>6W=<75Q_8 RVD@ACCCU\?TRXZS9 M**Q^"M?S:K3(74WY"*9OU0EHZTRY'TVS]9=QNR9TMPKTFA6?@_>?JB9''B0_ M!.U#1R+V]2).#JTN)W.DO(B.7D&E!7AG.M;FR)WRCT$[U(F0?5TJ)SC9N42\ MV_$K)+'_V^/68Q:Z.Z2\>A,_E=-O@S=W@NMYYCH?G50T](#IGQWD[GMJ(7@@ MP62!)!ND\)G,DW&44B]<10'^\N]8OT@];0?>7^LU.W+1:B/07JD1M:\C2K)( MT$6,\ 1)F?+PXYHDOA?^)_:HOHI&0U.X_M>F7Y&XJ6D'TPM;I;5.Z,P.<"5E MQ$D[J*I1ZG7-_E)W;J%O"=<56[0[+JEQU RF([8)V[N@ANJ(@O347BA+RYCY M8;7M7#RQ1L-Z7U0:SL$;Z\0=RA^S@D,3>>22L0Z$8O6;R<>?P_6\6DV*9;/Z M(4P/JQ?1>LF<4YMH)UA.,W_!8?CO4?P:/6(OB2,KI\9:5I= M?F@:P_1#,Y%[+DL!TWPYR#S!B1U[D$S9HB]NXXF^"(2HYHE\YS_\S%0+_-0X/4>I1 MF6FFS\LZ;0?7>1LUJR+M42.8+MHL:D]D+X&HVJSJ8T@.QH=6+V=#))$@F:?1UL[27/@M4A.=MXWEYZ&0[3)/]+Z6[9 M'_Y6P.W=NL#@^UA6Q]24L._8%:9SVNC/?;9+/WBN;"6]]3;EW>WCW3VX.:QO-Q'LK.M7ZJ6@Q X^LRFE]"Z^8 M1?XJ"/:>-?;RN!L2X17[\7@2V=AP)IYWHENM]Q6M9N"!I[(.X(6<*!)4CUUQ M$,52]=F@J;5S$5O+),%ITC)#.6D$.Z;J=5+CJ=H";BQIY+3>@A7DT*\Y03P4V2B$3MO.(9(T&IX&U%%#Z'&E$[=?>"V*B^$@XFQH)7/E M/$']1Q=Q=^$EVV44\'^N_G$@+U[(!$J6Z85'Z1N)-G_UPH-N86+:%W9<=K* M&J=&'>'&;3?QK5V1/;$9?/X#+AF-H?,+IL_Q MG+2>!.D>L(\9?[;P3FYQ6E_AHZTM;"1KU%!%KMJ&<)&J65Q;YU2H+A"CN]#4 M\Y@&AL;1<>G[_,6*!-&"_ )%V,GJ^"*.Q*SI%Y)N+PY)&N\P%=.JUF@TZPD[ M-CMH7YECM'>#&[==A+<>8C(>\H7ZG,L""3X XGI2&\AUQ"AZJB]EP]1S$A"[ MIWCOD>#JRQY'"68SJ+MTFRF:-(.864_8(-9!>Q7$#+K!!;$NPMLZ=L8#94S$ ME%FP04?;($X@;$H+8,DD$2:(A0G\RB:)\[U)DPTB\('<&K(S"8YJ^W3,]4H8@?,]ASX_IV.Q BSJ-76#'EXF^U1%2WQYN M]!E);3\B2.(+),B+ :%@(";VC@;#"706RN)2V=,5^S1@!$3922#JC@GC\X,&4FMJT;%]21(+] @L%9 MO#YC+.3\W=$>_U1ZAYR\P\G%*DJ9"N0YE)KQ_=.K+WYXX!4X?HKCX)6$.A,9 M=H4=QUWT5\/9I!_24A2@I-E%(ARE]LX#!@Z\!W!]*TE7[]#=]BAU-4.:K"9]H4; MCITUL'5WA5&Q[9^^N;X",)WZJ^7YZF;UM+IZ1,O;2_3X='?Q[S_?W5Q>/3S^ M$5W]Q^?5TW\Z1@&S>SJ-'683Z08W=O2M9Q'-0U]K44B#N< SHKJYAF')PLE5 MGCS9]]Y[XXF^+?DJNL:PX[)9Q\KDMK8EW'ALD;=W!GA&UVTJV=A*[B5=*.GM M.>B\-<>B85?8D=E%_[8,]^-^<*.VD_1#Y[@7C."EN(]G V64!9/H[D+;J:84 M]("#T\F3'M^U[6'#5ZNF1W.+^L9P@:I=Y!Z#+Z>,ZF;]KB89(ZOJ&H/&TS#; M:6S5&C3PM6JJXHVD*%W7:!+:NT9O3A;&L&5]-APN; MFSC:/&&ZN\3/+?=TZUO"CKX&[2H[?*?-X$9=D[#6>WK%:2RG6F[K??+2 QU^ M)/R+U#+"&R_%C3DMHRB+D^3'XMK,/J8USQ).M&TY@G875;U0O%;.V@/&",;A M@O%&+GR,,5I4S&DU,<+,<[+E0]OD>K19=8XGCF?5*J2T9I1I&P./N$8==0/[ M')+*6N0=:G@O$]Q''NAM!L)1] Z$WA%.^7C8//0[N(]6[#"VYX :](,=O,:: MZ^^FU72"&]+FH@]V1TTY.7"=03JZ\B4I%!_=60O5.0>0^1VUKN)%K('._:P_5: 5PO6-,9+XI)]^[8 ^#"LT4:STP0WT.J$'&!OR?66TD![28[#Y2+>[4C*Z[7P7'B> MK<(FU3CR]>'3W -V.!EH6\UHTS:'&VXF0MMG,Q6T92EXE;JCE+7IM/55ZNC# M(\9L6$\Q^OC]<.EZ!+[>/?,%O8_?%P@'F>BT?%?OU\@QFR/_92\X-!) MR"^#0#PL[(7W'@E6T86W)VQ=I7P%FB_)J"-L6##7O9+SWMH++G1TD-TZ-;Q@ M@3@/1"*4<5D@%6C<9,1/JC\OY'[&]/B7!PY5%>ORE9^OYA=PAY M+N$E7A.?Z!]^,N@(.[S-=:\^"=76"VYX=Y#=UKUS%BCG@3XH7%#&QDT1R"G5 MQQD/1Y?1@Z M6Q<2<(' 5I$>]\$*") '6A6.2+)$'SC3;V3IV'C-S^1=W8MS9IWL*9>*=8A@ M"6,/U'C#!#P>Z'5KWD^$&]4-L@+9UW-6T'4$T[BOY#HOI5H/?T=01YX!)T"V M3]L*H[4?BNNZP49:4[V[5 &$B\+&D@];]<]UOL8XNIXD<0B-H03TH[_%P2'$ M=^N_>I3PL2\?Z*ZB5(C[Q/^HPSOCWK##NZ,5*K,KLZYP@[VK M;SL(P/7Q;E MG,K3TIP7^E5P.SXSG206:O5_NR$17J5XI\MV:N\%V_<-M59]OJ4+7%\W%=S6 MQS5^_89^Y3R08.(F'6!TS5=7SK(3LW.->X_>4;;B2'$@SE3O,7WD1YWM1[ - M/6'';@?M-8D NFYP8[B+\,.D"S V**9(,I+) XBQ0H*7Z_2!L6V02!L4J03H M XE0$(>A1Q/$5ODRGJ-B!:%RLBQ2&MKM5M-C-K&NTU83X\?-9Q';6J&' MB6E)'I7T7;B+RKDSR,[5,M.:YO"C=(V@:V]]>[V\>YF=;E\ MNN(/"K%_/EW=/CVBNVNTNKVX^W3E)DOS!4<'?,V^W;JJZD4-*OZ*&OLOT"=U MV5&"[>8]K%--[.Q,!FYX]%'&/O=1\$3\VT&ZIQC*>FDY:V=I7@YMY*B:#!R- M)YJ?)^G=FC]3+$ZG,7TA/DX>XU"_:&[H !L$VW6MSLQUK>%"FH',]E/41"2< MYD15F+K$>XI]XO$TMP7_+<3R1YZ(L-SQ_+??/6=ECR1XDVKR:1F&DM M_7\<2")NT3Y@<6V&SU5T*6:=",#&A.ZV4''!O#=<;+#0P?HJ1,8**;P62.&& M,G9(\'.TI)_0($_4BQ+/%ZISD*"9^GZ-^M-,$[P0,UP4!;&?/?\W1<"?/!)E M=_1T\&K:&38D=+-!99I@U!,N%'24WWI\9&R$NQ>,D,*)S1X8+_7BJJ/7G2:R MAM"6G^;E5@D+JZ0E1Z?/0)07=#6FJF\).\P;M*M]W*%L!C> FX2UKI9*&>FSK&K4^QGP=-9TH +H^ O_I91P&@C#!%* M0T0G:XWI7FG1(J-N*M36"38:F.E\\F*+M@?4N]]XUSCHNWN_96RUY3#O M+'#SRZL5U52=]7MEAEUA!W$7_:NIL>W]X 9T)^EM_;NXL'TQ%$V1RD>EVH(EI0"*/OHE+[?4E M[;7V'9,C=%P9W=JGF?JCL(.,8N,K;1_VRD9CF?PL!42EA/G*)6LOA.2)AHJ8 MLL;%8LKJ>:V[F#,P?6;8/8U?2,(7C.S7?%,EY0*Y V%FCVRT.<<1UN]C5C_GIX5BJWH,*23;):ST^?D44'F<%,14- MF_!%-)P/N%3%'0Y9%DA0!@$PP^@HJ,":]8RI*#Y!&L 3G4L2'E+M4D_?>EX8 M=*1E$PIE3>>#0\<"#XE$&6T06#24GAD=V'@TM+*@,>D73#9;)N62&N-.#BGK4FMK&3,T091R19BK(RLN:APK7 M2MZ*G4A7:TI)S?))8[B';^[&U,GBTQ3A9L6GUUIO \HU2Y6 M.Q&8/X@.LQ[JB*#NUKW3FJ5<#TN,=#7I=.0,^3B1#1 \CX"_CGM(1?(1=XYG MS3H:$)9FH[UIE?#N5&:)IVU6,4!4'8G986JK(M/.2R'AZFBF4=?V(V)K:^*+ M,Y=HQ]9 NR/@YCGRK-SWW5JFUBRCH.9Q]I:5?WU6(KXIH7'SP8OP5:IBDESVQ(X2][IC%_#Y"%I^M]KRE,)&]] M^A5#Y:4>RCO#P<]5B>I<(';1&A'\U(G^S_3VP+.[([64"S.:/O"#?:NXD_PD;,X]/= MQ;__?'=S>?7P^$=T]1^?5T__Z30$I.H\,N.(C[#++T1W';6MSTQO MZS #%V\4VSK54A!%)57T*Z=[O'$R34)P5<'+>.>12&,575O8/MNH8245N*XA M7!]M%G\L@$"]N>.&]1X)5=.'M"9OV-_IA6Q_8/FFDL>J?C1W@^JJ9V+9^6U)'G/P9 MB5#&P,U#TRD#;QSD%PP:W5?;&+;?-NM8?1&ZKB5<3VV1U]9%<[(HI^L$7WW_ ML#N(!X=T^ZG-6-NA/VS_[6R)"@:;=H;KY=U5L,;FDA/2G^HX*BY'^<,[EUC^ MNXI.MU8>XC"\CNFK1W7W-;M3@1T9EE8Y*E+7A03<*+%5I$=1.\$'?<@Y?H-( M-A_/F/X19:O%7SECE'%VD_\!V3RJ=9SL4XILT%62'+0WO8^:P(:%.GTJFX[* MYW #NE9*6W>4Q!9(DALC O>8DCBXBIH?K1M2IW./=?3QV-G<4K''U*,I(-4F M 0;YNGA#\]_,J&[A* 9S&$IR, MF"?$ZVR:4.3ND?PC=X]UUYM SI,L<>"T\RR!0&,# R0XZCD[*-#)/P86Y&L> MJ& PM"V,T<#ULJ()'"_BB%F4OR!PMY8_IX3-/Q^QSUJFQ&KB8$)SECC2S6*F M$XU6@K-#G8YJC3@Q*87@8:F(@4HY8*'41+:K&N:!K2LI\?DYC#3JYX@H%Q.R MZ^NO)-UN<1B(>^S.'AEI1/>!XZ9D '=>V]<7K2DE+\6 M+V\,%P?/'#\NV'(/*9(X@F'PMA5XG%G55]A;P.V>DIW T(_L/X&C_"]_RQ_/ MX4?^+U[(3"'0OPX 3=K#1"YC33GDM#9VBQ5![!^XQPH_Z/H-#9""N6="B[L_ MZ1:C%TZ43Q)RIJCDFD\CO 0%>"WR-ME\@??*TDONF0P+]@SXUM):12Z[)SVAG%!;?*QM]LVB,\U8>?98*SQJ0#DH<-%T/;4065H6C#A9[!-;3. MIJO/>Q2O%&=;+4PD5)&I(5\297(Y C0P9E69<>B+JN9BJYJZDX-) +!XZ5BY MML[?*-:8M*$Y;(!JTU,%'%U;N #2*G'?!;@X^U(?,^?4'87U^,H6[W([KB;& MM;H.X]?$O(A871?8D6FBKZ9DV$E[N!%J)/48E=J7CS^CZYN[7QY=^/(M3KFV M]S3FD162 &%<9<?W$8^"7F]T[(H\E-L:,$6\!N)%6PH M'-.^VM20@?C A'6-HW.P."TL'A57+/G? M^6\^-_=>,7<= J,/6;8?7J^Q+W[R?)GBPD>#;YP@]"5/-O")&)#8SR'.RM$O M=_PF\.]U&1 =N\)&T"[Z5[9$#/K!1;A.TEOO'BA,^(9IQD:\>:$R,Y>Z*X^)[//31V,NX, M.UB[V4 -7K.><(.YH_RVCL_9Y.L"YNZ7)-G'2WW%0FN(24_+"P.I%FUW5W@LV"!AJ MK49_2Q>X86\JN*UOE_31<>B77!R%]X2Z;[(0)WGB!5N-8Y2\>GMG3V_RC HO MV5[)"8?&1/4M88=O@W8G+U96F\$-TR9A;=U35A7.B**KVHGG-)/L\;2+XNA, MJ$=2O'.2OW-:[+78(\QNF[4<)'0B #LRN]NBN3RRKC?<.+;08>"JO^5V>\;0 M]5[[A":YV/*[J0DW@Y0ZU4^RV/G/# M@1J-FT-?Z3"G:*\3>^ 5U@XFE>/J_;2]^,#/P.C!5$84,=IDL.,\9F:J(PMXANM49S?&N[SRG:VY48./9SAJ)R"\I9+I!@"@8-QC-+ MH;\E>8EW+L2#(I.#5VC1K7-YCVGHK MTQM+@Y0Y6\3X9D")/BBLO^$%FJ>>)SDR$4_3K'B+XB* YDU\5]A^ZE33&R;, M6EK!8 )UW'5V8LQ70':N&4[_3<>V]\E\?8 M4J?]YA;T&LV;P_VHTYP"72?ZP"%>;!UF?("<=PRM?:'FOE9-0-NC^9SFK=?> MD4IE;I%N9)7N6Z4%B3FA@)DB$VV9%HR!@,2XQBFLT&\58+RG4ASQWO#?Y5QF M&07*&L=LE61$!R8F]+9,P^9*.Y'9[:]T4,EZW-SQ85.\451@1:!B17F++A2? MUF^PN-YR.) MN<5]NSTZ;;/.% <,M!A[PW5D8+#)1!W/*,<;KXYAPKQRD,9XG0C AHCNMK K MV@47'BQT<%]\:Q3,B%,O;,*,B2UE5-@%$'ZLHA>*.I0T-,*DC MY=GAE:U^(V%9(,HOB2FF I7QMJ:E> M1B<"L&&KNRU4:#+O#1=^+'2P?J C8\4KO67,BJH9"UDV8R'V&%W7SIC2)LJC M)7!J9S!]?8R#A#]F4%,^Q 0C.E$ #A+=K5%!"?/N@&'"0@GKF,AXR7'S,:LL M,R%2F,XTW!DE+[=3F_(VU5;TE.HO-QLJ@%NHGC"L)#XNWOSVPSCA,RL_3H:\ M3\&5XB=K?$/MV?-_>Z)>E/#96QRQ26:N?LW$LNX@KP\QF/@XC(V*5 !K2L#S M ?KKU3\I0-81B?AR!'GKE-]!RD*&HVB GU-$DN3@L>]:!E%V0UDN SV4X##$ M](Q%7H+%@;DGXO LS)42)7TWD2@81*+:QQDO*"8TDKEF0RSE),#*##J CMF MZKVQ#7ZPZ&X+NR,AN .%A0[NCW8@'5./92F!$8=$OXX!A!W7)&)+MI&.J+L3 MGR7F6-K0 (\Z4IX=5MGJ-Q*.%>+,]HAZ:H,>'U&O"PNZ/J)6=I9O^(R0S079 M')"8G#8=MX<-2JV:ZDZ2*HWA0D>[R,-L' G:8K$KJ#L_#AI6U_.8TOB5!6:" M#E& *5NUOL3AB[B@DRONURD^2;0^X'VVD+M;FT1K4WO8T=JJJ1JMVL9PH[5= M9%L/+BES7QTS6LWWI,;3MMB8BR-8H:I"U"H[\&'*Q]'F"=/=)7XV&6&U'6$' MK[GNNC&WOA?<<.X@^S"C<,Y$Q'AQ/80S11"W2CS0D#Q>N%J.R(.&J3(@NP_,>ERZB'>[.!*O*W;"LVH_ MV*%JK'G[$*QT@AN\YJ(//P!++DBP 33\CJ>\.OKZ4OFD1OE)LT/NUAR_&I5RV%H?0_@8=VN;5VJ1TUSP*%L('3_X6DMAM\RCB]J,EJGSMD80^/+TY1# MQV%*^%9\%"0&PW!;I]D$:X/.FGBMZ3&+D&V2>XBHO:,!B3SZA@I.B_$&8*L0 M'L,"!5%G236Y@M"'] &LO<.:IXZ6#(9 M=4+=/9['-("BL?-9M+*"4%07]6=J#LL-UB%F5(#'O9U5=$MJ Q* $<%2D6%6 MG!]4M/@FJPI5EX?B?/T]A6T$8=C9<1I+=2( &QRZV\(NDPTN)%CHX#XC#5)F M[5B6$IFU'PZY==124'699RZ0Y&J]QGYZM[[Z(M^E>F 3LKN(&XG_CU]G?O%" MCJ,/Q;41<4DA"JI_4%JN(C\\L,7AYI(D^SCQPI]H?-BS'NQW7[H"#DI'T'Q5 M( 2#C7P@3'2"J.ZE@HO4@&QCBVM2!;Y6RI5 7 M^SL@E6\CA01%P@4K9Y8?\ M%MKQWY0.3J:.[^J;P?DW0_DW(W\6)\&^^(;$L(1+0>NN!;H8BWI9^QY3$@>G M56&S[T#]7J6A-(XPN1"PQQ@WWXDZGDPK =RQPY$=^ERU&& P6" I.JJI2\UK M260*' U&4@W P?J?8"@4JQX"[O0"DJZCQ MC :"]4PP"WDIPNS/;(:<;C%ZP][QYNV -GM,/9J^%ZL]XPV)(C[.CFR[<8?7 M_N^Z<_$ZC)(HV<:O_%*],!H#["0.22 J.24I^Z?(IO"+BZDN!M;'PWXO'ZOW M0FZR:R;(*EK'=">6IBVWZKQXN;N\?/#U2.ZNT87R\>?T?7-W2]H=7M] M]_!I^;2ZNW7S'A6S%X.T>X\$;*6@,=EI*]B!KM&J^G!4I0GJD=7^L-.P&@F4*6JCD8RZH]?=XAU^\K[@I"V@:AI"CRF=;D?OL1VU@AQ9 M6EGM@XN31(*FRP ;7+'C&!-JIIR#4L%T?>!YLWF972?W0\EFF]ZM/V>/R-X] MIQZ)> ) OK'&DX4JC\VVO7G?CR+LD![ 6I6+J/;DX(+$$$I97V?EO,_B]=GG M_/UFE//G*\YB1YR'Y/%SSX44CBKIN[2;(!?D3SS'BLFP:K((OQZ_(>ZF$AZ+ M5 :O9?6_*"CRE58IWK46N^O0'S8@=;9$)='/M#-GQ:W?Z$EK>7Z'IUN[R]$+]=/*W^ MNGI:73VZ@(_BQM*]]^8]A_A"OH[+3%4^E:LQKV%7V*#117\5+TSZP86*3M+W MOPR7<7&RG)E8U0#[H4?Y_($A8A2GZ(W-NUQ=!KRC&R\BOXN=R8OB=(%O4T;! M/;-V_DK+W3K#12]\+,X=6N8-0]&�^#6E#%CT$(PP688=6SGJ=XZ8&*BWMY M(7TG,W0AQ=VZ-:>]MB'L^-#K5IE(D* MYJ^/9!.1-?&]*$4E1Y2S=))U48IT:@,.'@([=,?4IIUANWU>3!.S,>]O&K[8^\_/?QM&JL<.\/'@X3%9<6*'O M?DB:3&O7@9LOXB[BW3.)C)[.:ND".VQ-]%6CMJD]W* UDMK6>Y?*VZ) 7+:, MTK9!Q[CS[-RXP08M#EW3M#&1ND\%&&*/R?AA!\G 3S MQ#KR#-QX$XFH!AC4;6-XA^ZS#NO&<=RT[VP#>[@Q+/=Z4;XR9X5>&2^4,QM] M/#=)B)W8'HZ*V^XQ3=_N0T_DY_";N7N^^&T9R$WZP8YU8\V/2M8V=X(;W>:B M]RA+*SB(-*R"/"BO-E^7=B0Q4U\W7*-VZ3_#"!ACG98S6R#!KAH3H!:N3LSB M'B-^BN/@E80ATW@5I4P;\AS*FR])J7C+*-B5!FR4L+*("A.=",#%"3LU;",B MYR8BHN0G;X\YV>(QTK]M_.Q,Y!W$1N,8VHW"S*-CN &C.3RF'$@-5HR@;./H M)21^WR-A!ECZ/CUX8=OA97,/V*!@H.W1HT>ZYG##W41H^[,,D>E5W%42?BRX MX*"X#NTH_2N7+1,M5Q\'BESFHZ$]-=@1T--*-7G274G!C9R^"HT=5: 6H="- MY>2:,'Y.C9>BVL:P :19Q\KEW]J6<,._15[KLCX4!R1%2TIY50QG:6I5[=J& M/WWK.7EGX_"E:3H7_QP.4<6CRI"&EK$4!1.)E+QX*7G!JXAAS$'>YHV"GW&P MJ3R?U6$HZ4,1>D3WME8UZJW)04:&_DK9HT?.&RG,9Q)7[<-@+Y+O+K):!E1[ M>N\JMH8OFHB.W"Q),*[6>FR]/=C:";H;FNA<=[?EY!?'Y4T!W"$< M77%7\7H1[W8DS<=$^;3S!D=^ET5?5QJPH]G*(I5'M;H0@!OK=FI8[XB4W,2D MLL+O6["1T3:R=2;R#F*C<>3K1F'FT3'@AF%3>(!:;D$RC),R4'C#I7G ^YB* M(L8MKVWIF\.&@C8]*\6=-&WAAG>KQ/;W=3A%<5R<\0#AI>8CFEG/>?FNX=AE MT&T^'CT&&&<\4,$$U,@TA06 A/=]G*1XMP_C-R[".8[PFK16B&[M!#NHS72N M)%4V]H ;RH9RV_KPIT.8$DD?4W$%"9 /=[B%UZ'_'#W;]/Z=:>>Y^?LH5\PJ MG%#."M0P-ITU@ !6^+M<93DY>@?<$IDD;4N&Y0=*, & PMK'.V_F':'"P@V M2M@&P97T?YR#@<,!D:DL%;Y+MYAR'*"%YA;CHSTYV!'2UTZ5T=.2%MS8Z:V1 M]=@J&8M=.L$:57D#'6U=F0L.[JAH^X!#+\7!!3-#VW+2H!ML'#'56S>\UO6! MBPO&DEMO#J4L+,[./?Y8I\H,DDO_Q&*->J'!J9YI]WFZN,X.)JY^W'=^+J_5 MH,8>L,/=0%LUPAN:PPUJ$Z%M M/5?21HRXF[/E&MW:AJJ6+K/SU\8AJ:G]K#QV.+ M71;4LFHBG:W"=$_)3L3> M1_:?B#_^E_)A6E[GS*,1B3;)/::/6T\[9G3I!S,2.VO.P]&XD]N8#&)?7,<0 MDP_;;VZ M]E1P-;WLH S\EX\$O+CX^.4Q]%0:#I-RT>710&_C UB?)!@-$VH MM@^=EB1F&L M0ZM-_QF']1C#T=,6(R8/8>-N4 [!ZYBR7_.(X"^.(_X7]3ER MG(?(GH5(PL6#@PJC7)9K 0@0,QB0EG&20LB7\=LX#)BE>#76].TV3MM6SZV= M8*)H-YTK.8.-/> N2@SE[K4'E)'_(Y(,X#AQAVS8#OWGZ-JFF;&FG>?F\*-D MR=;X/N+,0(QO,.SA @O^X^!19I;P[9I$7N03+UQ%;):V.WJ/JV6$ZTX%-BY8 M6D5%AXXDX&*$K2+V^?0A]OE94<$8%9R1PAI]^!QYAX"PIM^ BYRV(=2X\XSC MI''P-.LYTZ@8;IAHBP'G(^9$=I@+*)Q["4GNUEF55+9>O8]#XK_)_V]]VM6T M,VQ0Z&:#RM.N1CWA@D)'^6V#0;!!\1J5C!9(,D&_9O^ZQH6I3;%G6N3[GVZ2 MJZ*$Z18( :.*5O#S>@C:2V3Y!2B(,+X%%5OZ>$#=W[$(O8 M]556;IZ_(S&]Q^S_@P=^%I$D9$U\>=,B^/LA$:46+G'B4[*O.6#I009VD-O: MI?H47C<:<,' 6A/[>]55+N PPKE%G(ST7K+E15[8/WS;[L4+^87W!YRDE/ E M2OWG\AO386T_DK!!9 A[5682/>C!!9=!M+*>B3"JLI 0_T&AOT"E!*BA%3!< M;&A4UJB_>_! ;3'W:.L",*'-= MBZE+8VO@4Q,SV<><>L1%37:?B\ ;IEO,)B)YJ3^>XCSUM&--)F.N1?Q"'G%' MD@F$0N5Q>II5V$ECUI^-9XFX6WWRBLRX2Y,I;5;R0ADS]?UYYW (S!XNYC4_ MQ7'P2L*03>=6+-"B#7D.\3))L.G*IA,!F(!J;PMU'F3>&^Z\R$('VU#(68D9 M?LD,26[@ECRN+!.+@J2DM(\G>#HM\F0&# W-8<- FYZUA9UF$^*M$O,?6.?6^N"H62O&6%P+F;TAS4;I<9>G0'7; =K7#<;%0D[YP [JS!GV*A1:, MD.0$+M0=68,(3BY X#JFF&RBBP.E.&(*4B]*/%^L*]E<1?P:JAL\;:C0AQYL MF.AM*14WK(G!!9+^*MG&4L89Y:R1REM,@U7NT"#'H=T.D>#CA*8>\< E;QIU[=.,17L)RN:%8O*1D=JC*4E3+)\\"_'&"\,W MA'F%'A^+*9+RU"@_TN8UPTI&Z!FGKYCUYFFV.R_R,LI<\ @QY;PHOZ;!Z?.' MT[*W.L41>%8%! ?H^8V)G13,P"U.)[-/]8WGO>4;DYHIWR\Q M_8UIJC[RM8K8Z.NQZ#"8\'7K#C/<;>U03/8Z] 4^U;/1Y*N:Z,UQDC?EEYKQ MJCP:B IN4V'W"Z;/<<,4;TJ+%(1=S.0N,24O'H\-PS//Q@XPX=M<5W5^IF\- M=T9F(+,U&)>DP4VT)E$;D8C-WPYR']2:RTF#"^ 1U5Z>5ML9;FWT2#:1*-X7I0_XA21BFG"1 M30[S0A,&BR1+.C"CM;=EBF63#1'@ZZ=>*HVYD$I*P5BH2,G8D%D;WRE/^1N=_SB0O=@Z-UKG=.@..[J[VJ%:K=RL+]RX[ZR!?0U_R6@A3I-2 M^4AKS@P]#G,K#M>6.%R_[O<-+)7:48*-$ M#^M4=ST[DX&+'7V4L=\P+'DN4,%U(>)'90P&2EQ;:;CMF"?O"TZR?!D<7+/X MR&=-_MLQ%@)5: Y 6WI_3948*) MH@-8I_*N>GDLR, &'UN[J,C3E09LY? 1=?NCE #<-C+M UH$7K06T !G. NR'5'"+&N3Q("+3( MJIN*:%8+(>=2<-A!Y;G@][N4/V1H=0Q1DS[1HHBS_$)T#S3J6\..B!8M MZUYF.6H*U[_;!.[])DG%4SEI,([JBX$)7\8[CQR?_G7I-S_GK=6\S8TKG>;E MT/6B#^G:"Y0S0;]*-C9NKLE'N ^W/]'XL%]%_B>\>\;T2'5M(YB>V:Q3D41P MT@)XKH!>7ONMG>Q.=X((OT"^DSL6/(\NNWS.YM3W-S\CP7?!SZXF30$87N-" MF1I=^@406S)=DVUC^!PU@1T\=?JHH:-^#C]P:J6USH_8LB7\3M#B%1FJX?(< MI]LR9L2Z]?K 2V\RCUM3CU_-]<6O/\=AP/JPZ?;-S<6TJ35#&X2K*Q1=_8Q^ ME30=9,B,J-5P2"%]H>H*N2?@;CJ,@DMK"4*D M"D+; H3"T)\6A*:QB5WPCK$^]QX)KF.JUJE M+'30F03P@;F'0O;9U<^'T*,HJ.3C\[J[(D%@SP00N?CJ:[)\1YZWP.*E@(DK M&TQO(O6(@JLM,DWN<\.HC%V?I#JST&&W\^A;N^>XSFOSXTU$?L?!*N"^NR8X MR$Z8Y6YF4#UI9I^Q> TZII0,Q04F=H]L55VNW LX$[DQE)T", K)4*E2'F2 M22[42;9))I=K/ 1KX"I>DDP4KWQ]5Z)F;EHUU<23$@%91M[3^)KOU*_*#?LV MI.Q.!3826EJE9?W91 (NDMDJ,NS9)&.)!$^D,(6"15.;2 7S/3.,8,$3?0^A MU3T#[1,WLH#5+R3=YE=!!;"VKVS-N\($ AO]E0=MC/H!7[AVU6+8U6I95UR. MG<]>R M#RS1-?\OKE2>5(FM'[:9^&V8:6Q5E]UX9H^+^>)8@[!H-)[6$"H%' M/C N .83R3<[$-1WGQD0MMBA$0PU?6<(B&V:C 2*ZN*A%1GK&KN'Q[$LIX/( M@A]8F!S+(K50J3B%DPIF)/$V&XHW\O(_6\._X.B C;;E3/O"!%0K"U3JDIET MA+N<["9^CU)$"A>YZ27XN([^:Y&)4UG ,=9!^EC"D4')C #LK.]!Y,"=-R^_ZG. Y>21B: MG\;5]8 =WP;:UI^2G32'&]$F0@\QCN74^\,F>T09\C B:FI[+$1K$$ M+2QQ8)9P7.2!,!'P#7G!P8JMIZ,-8=^*/)'K6LJA Z6Y($!GZVC*,IB2F0-B M=%=FD!(+@NN98(M*OOE).#@TF=!*Y92!E'81VZO**F&!O)U\48I/)_BIM_>" MJ;?!_.]E=6204-+<'9-G\$*LCOR50P$F=6Y,F5QXCK.,-RZ?OT M@-4$JHZ3. ,"\T ]L-'K XZ#!$S&;-*&B(PG)G"(N5DS,L,XOCT MIE3^$C^GJ_(U8'-0:.@X%S!HT[T>!'2]YA#\K;(/$?0W<;0Y8_&W0YP=4OC! MB_U)#!(6!@FX0<0QOWR2;^WY(%#@D\=F-$*.NS7_^IZ8L-PT'2<*QF3F@A#= M[%*/%V8TYH >'349(G1*EC7( @Y-'!AH5S%0%6E?'X0Q#978ZTJ"#: M$5:Z4)H+LG2VCFXR8DAF#OC279DA(JCD6I3I397BO?!0QHV9RD*Y FF8@@QC M"LOE:6D\<=$/#P%;XI!(7LR-HX#OC/#W;J(D#DD@]E#.91XC>MQBYQLDI4&5 MJ>!/'HENXB1918\IDYC_36S@RYK#]YB*.QM,!1LD&LXD?OMMCZO&,(:%6AVM-W;K#C$Q;.Q37FCKT!7ZM MR483^_J!&*6U5YOBG'_F],H)Q[1WE:8TA^2%"F9(< -V56E*@RA(V. 0;B8J M#5;(-NZ:L;,?)9@P.H!UJI.?SF0@3XSLE>D'*(MC1%%N/R[R/7'GX.+23@K. M9-DX.Q*1W6&7@4WQ1O"!K9XHBN+HS.>KN%!8[ B:!KQP7F>+.[:,HVH9$:L) M6BL5F #3TRJ-T[5F$C.E!A.=![)2_;Y\)U)P MIX%]%1IBFS@CKER74WB+Q_CR%D#FA!",EM^7Y_E6&QHG";\]NR8I-UWT/R8RG8$\'V0!<3:5"EBL'G@L",X!B_JH-40P%OQ1*0 2$H@Z M ;RTK)0!'FBY-MU!V,?+& $!*"6/XIQ)' R"4-V(S@ZB+&S6@E$=*,X*I&ST M&A:E% G.A CS@2E7QKM__ P$I63RU#EF9L#RYR?ORR7[)TF)SY^+9'\GF^9M M^^&HS@6G>EFM'JBL2,X!J?HI-D2T2:[H68B0_\:$6*!<#/F.J10$'ERYMV"@ MVFF=V:F:[44J1LY^2[TOKG>^+PHIDZT4_&XIS 39K:]6# M6F=R

Z6&",6+2M258%:4,OF0R0 P"=VMY:IXQ;>\]C1^(7)#2U0N@8)9 M5^LU]F6N?F:D!R_%_*6HB%^9;D^D&(CD7%#+WE[UL-6=WAQPJX=60X1?P5X% M+2X!JHH #[8<&XY6S5/.M1A2%:67.+AY5*8>B%IVHK:=IG&Z]5+T&A_"('MV MB9\*>OM]^":*D7[[^"U:XP!3+T1)ZJ4'AG5O*AW*OS7&:$_Q&?^=.+N!HUYP M6F-*^<-X7[*;H5&/JD]=J[,):!,8++X#;-I'>4I6?DY)7].1D#9\C6KS^R1&KO 12%3P>U?1,KHHYP! M%"@96_/*#I:7;-DL)S?%WB,!BGDI&LG9\::51SEH)?>8/FZ9..=>(DXG+DEX M2 U#WIX:;"CH:27-+E474G"AHZ]"@^Q-99QY+@,2O!=(37PSBILDN R4:*S=V@(TP[;JJ,*)O#1]I_'<&(X_D M=RS_=*1_QZXP8])&_Z(*@6$_X*4'NFK1I][ 3C)1#F/59\;VDB=*&--IRPI, M98.,#\H8(4D6W:U1Q@MQ9MF?IZ\>,+49U"_IMG.+D)O8BGK*2"1EM'K"/ MR8O8IN#_U[K=T94:['CK:27MDX'FI.#&6%^%AMCDRCDOD."]0(*[O+>4\T>E M -GNX/&6H'W )315@HW]5@8:^^5O#SP/8?F%'.]?'7\&,PAJ-> N7?D GH/6 MBV<-YIP2^I73FM9O/F&^[Z/3K?@4N.]4M:AXC_P(L/\<"=C3@R[CG4>BR7PH M6[]KO>CX<[A^5*M)[DF5#V'Z4KV(MMZ447,Q9ZR,\SROF0^VY>AZ0R*\8O-< MW6E-A^XPG='6#NHTT+0O/%>VUL!Z@[#KY(ZS1H*W#F?-R^,0@T[0ST*ZJ-#G(&2/*8D#%+]@BEZWQ-\J%>?X M/Y@G=/([N$F%?_9HN,Q\IH60$Q^63&&DG(D:Y54VB/-Q<$8RA?;7\B7H-Y2> MZCCI>%]J>)6@'1V[33 M*(>VY*Q1R1MQYLA@QI4+,/VLR[6Q^KI;<2A/Q-P^27L\ SG"Y.[1TY[O:1O# MA'(S'9NG;+SEG"9I%7D'G)8M$*<,9"(VB)*Q6KJ9[T M@"^IAM+.-H)R_G5;$$E6DR./*912+.; 'G\4)>1/NU$O%!4UGF-*XU=^P761 M;6A[E"VL0C9Q)FLBNY0OP'F%_-.NN< 8FPM@L.)2GWXMQ9A^^>7:;CR7DM\6 M4#QU7;\6G3B#\II$),4WY 4'*Q;DT89GDLKJ7V9)DP8$8$*]O2WJ4R/;>L.= M[UGH,$0"I&1V)KBADEU>+F_H?,<.X=%@AIN61!'#KK!#HHO^:C"8](,;!IVD MM]Z,:W'Z&VT>R#2+G4F,H.A=>X-G$%4-[C)-HNQ/<1R\DC!4KB^1%OU[K/6* MR4Y2RN:J=5,B;4N8V&2@7;'@JF\&#WE,A+5UNW+>+>BB7W/*#A[U M'EU%G],=+H@^,5S8'78WY!\'7F>$K0GN1;K3W5J"PRKZA:\0'\DF8FM#WXO2 M7V+Z&]?/VY.45TF1CU'5V6) VH #=6@+%J$]%&'@FRJ#JVE_'W#/%!1/;/"# MYIV4"X6E8$4JX#H;S/@IH=Q!24KQT*N4#_E20+3U$O2,,3]0E*).NY$"QL"9 M($B1!-T7%ET>6521!V4"H4PBE(LT/;Z#,^8([NEVF^9!/OXN]J_XC5\:>>'% M(4GC'?MB1")[M!'SV"Y;-Y9$80X[P]JL?HO'AB*\6>? >@VQ%90+('=&@M' MBU(Z\*V-BS@,Y2M[YQ[=>(17#U]N*!;5A'2!V:TGS.BTT+[8WS+K!B].;82W M=MJ"#2KYH)*1T[WNZ6WP7-K *Q@-F#V(*4<';\,6BDSKF++AWL>/AV=>^?(I MKM.W-@/'B@S@ .]AES(SL#L-X!O7?30::(]Z7XC MQ;DE?0_)BCDTO#,8A^C M1,K#'Q'T6P)IXOP^!^:[K]A+<$6"+7HLS52+N0[R^)S;Q]*-7*R(5E%RH#R? MOF415-<.)O"V:J8N=4X:P9LUM8MJGV*3472]@!E1M>'F.(\X7!=D;\B.I"SH M+T*/U);':6P-,W ,M2PF)OJFP.>>:/U;#GV3/6,KG ML7S.<-J9PXB*<]*H!!1!7+RK)LA//PD86=6S\MO,O^_B.W5R"JRJ^\ FNO0% M-]^Q;.X!$Z$Z:%LYG-4WASOH!Q;W[,R8*FD#N8R=,O4NZT/ M[%@UTKCU/C3\Z;F9V(/>B&8,7,_<)]+:;06#FE+OQ37TZYC*2^C\#OK)/6@[ M"K #VL(:1_=_3+O##78;)7KE[J&@/=QR_RI) MR8[? V> MF*K.#^]6U]L>:GS591_UG0^V;$_S)BWMD2Q2="E,[QXMU?!UK<+ M9F)TE^SXEK)DR/.2\Q9.3S =V21B-B&%3?S")CAK,>!N7YGW_8!?2$+B:!5= MQ)'0:!4QT&&B76+Y[RKB9HC\>'><4-V7%F!8Z&NA")@@/F)U0T$U1<@/ S68OHFOBTBE#. M&^7,4F^O;8QS&'!3,?*E;+:EO V? WEM;^1H9!%G*[+^^DG2IZ_G>/(W^X\^EO- MJ\X=NLW,;35Z-SKP49\9N;).\@&=NF P],/2O;P[%TJ^5&QLKI-N<_/N>KV; MO;O:9T[>K9%\'.\>^M'K+BF?7HB3[#[_+4YK'\)N:PO;DQLUK"1XUC6$Z[/- MXO:M/@$#:]^>&+MNDPBE!VR_--"V9>J0-X?KHR9"#PBIG#:DN0*7I]LTH=)C M9OY[JFWSVJUH/B/_K1%Z'-S%\ >;2BX MM5=G]'N7>JGWY82FBA^SWTH?9K_\[9/W]YB6E:A.)P[:1C ]M%DG[I#U+>#Y M7XN M_!3OGW!41$[M8-S8$*:?M>M6G/76M@)^?MLL\P E:$BTCNFNJ#V=9J5 TE@< M@*;Q'J4X0GY1:3.69ZBR3LVTIZ+CV.+I6,7)YAFR^G=M(-9]#C/^M)H4$POU M0YAX7B]BSZKN(#8/;EH*.3=V@.EPYKHV[AS_-XZ+)8^I[E + M2FWMT"/1;P\<2N[6;' IQJNZ()+:!Y<L$R#)\Y#8L#6E8_&@[ 9&Z#X) J#S3VY6%< M&[PU<1_PYY7*F%>&3G55Q,NPQA&NHHOCP0^"\>O&O/R)S-J!JQSBA.'+80[N M,@R"G3\U>752=>:3 R 0V]JE^3Z:;B96N\ <;[KHV[BYK;2?T?9VG=1#8DE) M'\;^]I#Z5O&QLLV-*./E]CW@>\H?VTO?[IEVZ3(*^-M@>SX[,'OYM[4[['#N M:H?ZUWR;^\(-\\X:6(= 1IX%.F<@=JL+%DXO-V;5Z+(:LB3:Y)>0V^\FF'6% M[?]=]*\,:P;]X/I])^FMA[FB[F#)IKR:S^9OKF\S:(W0?JW!K.M<7;_EHH-! MOSFZ_I!7'YI\XN([I,CFN5-I\1Z(?R;F%2G=[-8>0 M.;TYA9:%5H.&G.2/"@%$TH"7U)8)EG(X2B^:L>5R^XN-)!]I'69S>.TP\GM(!0'>?T007WYP2O#^$-6>MV92V).@&16VAA QFCZ(/QECZ/$ MS5-I'J%_]<(#7B8)3A.&A#?$>R8A20E./F$O.5 .OTIY(P*B@[ M/",K=*[3N/&(S*SG3+R\7?M:+]=WFX&7&PC?'^H72./Q#@_'ZBR0%(-0XR&8 M8=?Y>;U._S:W/^XW+[_72F^?PIW1<[/[0,D+6_J\X%64I%1DP/-4OX:I2DL7 MV'YLHF]UMT+?'J[?&DEMOU[.B:.2NL/I2"E/_F1&:ZI.2Y>YN+!>WWH7/FT_ M!Q=ND'H %R[>AW$YNUA%*68&3!_X3<%7;]\XG] VANVVS3JJ#EO?$JZKMLAK MZZ0Y620N:":,L.,MC>+'GPFF[)O?OMW@%^9 1KL:S9UANVXW&VCV-AIZPG7M MCO(/L?8KR /;X4A.#=!YKZ.)QDQ"H(M%6A>".@(S"(A.:@RP_:V$!81MD%6T M/Z2)0("/9KL?M3UFXO1Z;6M=_+3Y#!RZ06A;]_V/0\Q3+NXI\7$BL]"7%RDP;Z.N^-K6'ZIJ&615D=?5/@ MQ7$,!!^U]GO&'R5< +3G$BQ0F ;35JD9T0K+Q_NY)J7=M-R_&9H'3"@8U:)# M)ZC=P+\ -(Z:0^Q@90L9GIBFB)0G-02(UW?1IZ\)P=S?+@)HWA>Q$;)3-EY< M(**T1V&>2Y+X8?C!@&F4M])K0,OV3+$XO_PZT8OO+!AK:X:VW3I#SNH.UNB4K+ M#/< M(.^N@O65>L9"#/?B!X69)O[=%!V8WAP^_P&7S-SF$!6JWJW+/PJ@TEC,L"ML M%.BB?WUND;X?W-CO)/T N4:"H!KM"_03C9-$?N#H9N"T)O!J-)TDPI752_>Y MNW%GV%'>S09JG)OUA!OI'>6W=72%#=!)_?2&&/3) %Z&B,T1+OB;3@&6Y6+K M5*K;G.W6'68DV]I!K=MOVA?XB8.-)@-L/\EBQ1EG^;A8SAJ%)>_)J^-/9HN2 M%ZHP0QKPGKI MREB&, P,X&:$^O8P4Q!YCU S*DR4\%+P1DXK@QGH2N/1O'! M9K-*LWZ]QU2D+[$8>62R)FN&?$QB]F<2\V*^&HWJIGKVI&"BPQ#V*=:XEG2 MKW?[:M7CH9Z<+TH4QCP!CW$62?RZ&?^TJV (%E(9H_O20CI@G7YU#,%*J4K%\* "KGP*75WN%&%J7\.0:1(%F\(;'C+S;TD[PT% M!Y&5SU^\=G+_AD0DQ3?D!07]G\W4^3#;58.E$ 3;\ M6EBCKKDJ M7'&ZNXG0UI.IC#:B*G$7?OM$O0#SZ&EVUIIFL#U4IY?J MEL=MX/JB5E);!Q0$(T;0R6[5>.HXB:%[[TTLRI[BI?^/ Z$X7]/A1-Q-T%C! MH!OL&#/5N_*>7DL?N#%H++GUZ4[&0-3BD"Q0R2.[Y^+F$;VQ57^*4R]$>R;X MEOW>>Z=8E_PN+^8]X"2EQ$^QN**7:11<,]<6/R=$FR[=K3_,X+6V1)G_WJ$S M\(0 *U6LG9P?A^0W-FG!4OZ-1.LP?N5WNV+^CAK[\RM)M^((Q2MEX!MNS_G> M:+:MQIMD>00?^#$Y_N+M]B%>2+KIUDO1JY>@+0X#OMM04.1E-'):WTR<:S^E MV8M+LB4[>7TX9XAX8""%Y:"V^(NT180W_%O5)YY/:9(;[CY:5\R] \@1W0/V MXTU$?L>!K'.Y)EZQ[Y ;J%I:A7W&PCZXM<_=\S- MAC&E[L4$7UHMTZ\'@?4V'PN(3SE^'7C_*UN3V@ZUC!AV(7]BUWNB?@" MWR"?V@K6$%!D^OKY8Y39BAM_V6,QB4MC](P91'BAP.=GO(XI1G&$16(JBJG8 M&H_X_:H0Q7MQ^A1MD/_F\\UTLD9A'&TP72AK^/1D?S[P4CSM7OI"NX%S^3XNJG'RKI8W]Q3O/1)%:@=:U[+ ''E=6V6Z M%5&3(%_A$LG(',"'@$P'E"DA.LJGQ1R,"?/^QG)38DE=;HS%PI9^9O7W,7S< M4S[C2]_NF:'2;(]QSV?&$WR=3;R_GN&A]1L8:SC0,OXZX+]=?6!PGPO,?N(B M+XIC#B'U&."^C_GJ[@4_30GRXWTOI0'WG+:P'Q[3?I,.CN/9K:[,09+7.3 \ MWU^@-?DBBDA8CIH3[%+>Y7L?-YCI/J]7;$.6&X@AYY'C RU'/Z_$CG>S@3B*84>:1Q2R(B'LN]@P',7^=[6N//<5 M7WFA>(HMP2HWF,/:1%8>:QVGL/HZ5FYU"@/#6,T5_OEOP0UI>Z6TP7N#5ME8 M[$@^;;WHIS@.7DDX[1>DE^%KA.&6;V1\<-8(\+5!=IL9@ %Y3?D5>:22,N%1 M+OT[@O6QOA]EX'"(]OI2/I\3O#Z$-V2M*]%KV!4VMG;1WZR64]D/+I)UDGZ4 MJDT+)#DASLH)6DQB@TS)\%3)V87C? G26OSRQ!G39O=.H#G+ MP50_R&ZAW7MOG,9T>:"-,GP]D&W\C8R<5ZX7X.N RXF#FOYW:)[\KI?QI[$P.4R%@XKO;[V3, M.[S-$GQ%.73=[#'@O5XUJS8X8%$GDT16%WFE)N_V'N_(W\V4PW!Q6_5&.WJ, M/13/]%NZJ(D;F./N#0O+)[9"O,3/Q]>NQN;UE8RB=18>9;!4&7U%8V*MVOV' MOG+O)&"$V1 6^>$A$&-:AI7[F$KT?;=#VJ"F'6GDNBF^)R[EW(>G02U^4W%A M]$'KPM_ ')O*75'ELVJV_82+P\[2?"7CF]VW-,H(V$V4KVB,M#1,_U'T^$;6 M\3K26S-\^J]EI+NO:J1163FGJRPIC^]_O:.5Y<1?G&+AAB!;H C+G1S9=NXG M@/5&YH>=$^SA-S*'.=J[^0Y&>XM"R_GK..4ST'\NXP 7^AT^7PE46W(Y[JS MRW3+;[E-@Y0&W-XE8II:>0#D;&/U[A#46.%>H3XGT'-BD1Z[]O?B*=.[]1/9 MX5SV57*)@X.?\KMZUS%=17Z\PT_>E_L#W<=)_7Z[)1V8B-/;,L4>MPT1X+O3 MO53J4^TK>W675_%BK-$FXXW(R:L#02$,XD_T$B&.N*BTSP2:=I?8B=.8CCOZ*=?(+ M)ILM4VGY@JFWP:W%!GJ2A GF0]I+G2/VH0=W(CB(5O:)[-D2.*MJ$-96-4@6 M*!? X+:N6\/M>#K'[_(*M$12(.O@>QI?\S/=5;3F_\AI] N.#OAN MG9D,/S)PQ(UFV995;S\F<&%N/%6'W3-D0B$A M%5+$XEN)0C ^NB,8E?!_0ZL#J/U%N MO3V-UR2% ;./6X_B$A_?LR]SR]IRHVF^G9%9PH;;*>RM0NZ8_.#"[B1:VX* MX'S&?PZ0*AY2Y$//;TAME\F(A) +E(N)N',A*2@2DBY0+JN 82?P"]KZ.0]F MU#TG+DTHDJ6S[9)+[./=,Z9H)^TJFWDI>MT2?XL2+GK"-SJ%4 '_JO8>38E/ M]AXO-$ B=//T(%Z$0A^\!'E\<]YG.A[OA$ZU^S*+[Z/95,->O6&3@1I]/?_I22GR.%,_,@#EVPEQRH;)B=:WJ%: (G KQF MV@;?E$^H!P?*,_TY,4:;;_BRW[+.:5Q?L2&_+,, FWT>85^,PKR& P.BYWR! MY"L%-/EAEQP%.",B3(D_#A$&=7[U^L66KYJY?U== M?[B1,Q^C+['\=Q7]$M/?F'(7WIZD)R=8IGT CV&F&A<#45L'X*.)L?BS'!)> MI2[(E\J\MV76Z%]>,4X;/PF [P!:SBU?8K;WO3JT TF MM'756SO'K>DSLVENDP:SG.D&I\\\O;L=D"F^1 T0U9C7_;P7E/XSG/ZRKBR MTC>>'I$NH^"*A?S#)\-G$'>;XX>A;&&^BK&7]M4R;VPT ;Q*=R[P0:4WL M#[P.2R'X.YA7C_>E:/8UUN0++V<#"=4OXB@A@2B:&$=/U(L2.?Y\-/\&FDC, M#E];[=$"DMK^LT*Z=BV&A:L*/Z0PA((RXQE$UF[*,TOY\J%DY (C\@H ><)G M":$E<.HV,4W[PD:%3A90X<"H(UPB02&V Q.D<7=Y\^(46 !;JYN9@X'67_/U"62H"_HGN*0[)CRK@J-Q@@O5$ M5A[E<:99)2Y.H'C_QY5.\@\+7'UOCR(-;,*11JU,2G3A*G41L,FOZD8>4<5U MBT\R"KB%:^XO+@;(D6P9N91J*/F>R%56$?3)^U+6(;V7M[>]S7'MC_[49C#R MV%OI9&3I3FHF(TTK[<0\+%'A+_[7@! M1_$-)/<>3>_6-5_@$_^^-'O#PU"&.8R/8#WU &@ LG"/=894SC:>L_<4 M;NK?4U"0-T%<$A[I=1".?A7B')^]0'GNY(8)O$KQ3I>OU9$$[%"TL4?'YTN* M_G"#RTJ+H9XGT873KYPE$CS='%.ZL\@'VU7O,+J2^X>"[N M@:UD^-(K\MD2);]%([BS#V7S&O7KUG0#TH8)&:-8L-A\&XHP\)VTP=4<*0[\.C Z_LS0]W?"_T#Z&$(;E])D,SZQ#R!QWX\MU3LKB# Q;;^SG"*7ME MTVZ3@3%V(8CZGB:7!56%$0. -#!O(;NANJ%B^CTK,,9\RIP4R!0RR-QM5M-"K?!CS04S/E F?X/K7Z_?L(D[23EEY?#%WSSB M[SKP*M,D.I!H<[?/KAHFYYB!6 ESS167AV,!,_;'M&=3WD\?^L#G@&-IV^>$ M=%\LNK*9G<@+\@O^*"X$0,]" F7.B!.9"%0^Q,XK]L@3H=K$(CZQ+']-T-8+ M&%7,2P;)R@1%MNHSWI!(7,+B=8PR\LZSC)Q^776C15+=.A!?S 3-K9+;9YS4UCEYZM[H@,>KT\Q:GI;DL!O/C_C"'(VM+ MF$Y(*YWG.2VM5V&LR2GC5D4<<-/48>U1ZCOJ?#47_NAA^-L#O^][MQ8OEB5W MAS1)O2C@5_+KCRU&( \3&,:R8],Y5Z=W&,JE++E#WA.)%\V M_4+2[<4A2>,=IGP2D]RM[RGQ^='Y%Z)+!S3N##L4N]E #36SGG!#J:/\MJ&2 MLY'/N.:,Y,) E/[)F*%?.3N@<7 9\S"W-F31?>ZQ4+5#MVB0?><<#T<:C!\1 MDJ&3F&"C%5Y&P2>/S8J)%R:YT+6O'QEW@NW_9CJK7M_< ZZO&\IM?8S*R)]Y M47!6,$"%T_\J>;BI1C&RWMFT4*WZ&+^PU5I*K!*^W:_5;EHJ7PW* #8X#&_+ M0==M!76XH#."CA#6;S>.BW+!,ZM2J%NP PM]?2SZ/@#+&HMF#C/3(0A<3!C M!KGJ>T7UN&#@Y)IKW3*N5GT)@827,+RG^(7$![Y[3V+=*=@@A&%#QG"V:]L: MZ$85+M@,J-O0VPGU<(0*01")4"X*DK(XP2H )JQ9MXG*!QI80XEJPWUN0YF3 M.V#%P3K+Y#7C8=[' M\',DVBG<^,/8?G@(9+#P5/9B=5"T%^\ 3)O,[L):.J0N^"Z0RIF;-.\R?6ZZ M"P,M1W(E9Q-/41/[XK 353!?\(67^MO/^V51[_(ISH8>(S0?EQ-,P)_ NFUS MU9YLYC5Y'4K9H3%2R+5 I61(B'9VV*-2.%XYMEB8@X!2R*8NT?80>7M>K$H% MTBKP5M^QHME\F1G60W[YE?CY5\)O9#M9_??>#'U,/9I>>BEN2'T9G ELZ!W' MIH.>?E0XP 7-]8SV M.X[R8PTAQ+>4"7V$>YPQ+XN"A4?M._3V5-X!V-6_.V])8N;0->#3WAWBR='C MYZXL4WUBA;:<-%)H\]T>0=U)P$^A++5^NV* N4"AUDT< M;9XPW>4;2\D=O:?QAGH-:9^&G6%';#<;5 =\DYYP([FC_/;#NQ+,G-$9"[M= ML1.;\/I7.3-'H_I$=DCYL^QLG*8%0Q=!OXH8WC"R;]9#%*?H#:=LBIZD M'I\0#%AR;17Y%#/.EUC^NXJT1U"W_!2J;E+>BQ!,#.AOFR*#R(H*\!RB?CKU M/X@D&7_T(<@D^(8O8/W*H;"?B2%? T<1^Y\O)9DVA?[]( #^21S^6P9^X^)&25,'K2)XX!/VA),7X@O'FDN@)C/ M\5ZWQ-_R^$I(D#VPAK9>(LL9RV4/%@1(HJR"%L@/62@2D4S-6CL!\4?Y]<>ZH8 \4R*=WW*GW.PI5 M>V]XU% "C.?]K--QR^.8#' L[ZG4Q)L>"0H+< &\ZS&XN;IM>Y0 #'S;8SP[ MJ1Z4NPQQ\_)TH^)%8DV>L:+9J.],!"8<][-)VU4E/06X1U*6>HRX\,ZO@Y=< MP=P9&M$P-9?@U>N6)V#RQI^FJCQ+Y2[/[)(DWF9#\2:[(Y7ITE1JNJ4+;/0P MT5?%BJ;V<)'!2&K[RNHJ<>Z^>0 XK,C\R*:IF,]6\U+SCWC#?TT:;J.U]8'M MR48:JZ[O,.3&'=Z\R$1HK)1^W >Z:=1I57%%M -CU:L7L[VKV MU8DU>SB?EU%PF=&OK3.L;P73DUJT*O953IL WS-I$+C'A8((\M[_8Q^X3-H%'':ZZ6!? M#(XD:"=H(?$N=2+.E3\]+LO3BVG191J]F8+#!>AM'%G':(>^@,.TJP6*2#7M M"#Q8.ZLQ<+PR_F<.8W8R]3,]7>R57),O.."O_.#J R2:!7Q#<',E(FE%V(:!I*$M3(@1E+84YXZ/BZB)/T 9/=\X$F?'5M$&;M70!'FZ&^2B9P8WO@ ML6XL=U%>.MSRHS' @DNB(W5J."S0)R/PRP,K06X7(VY&68]9^KSI]H; M^7S9;88^7R/\J#[O\+'J&R804_W\0,* 1)O&S31=6]B>W:BAZLNU#>%Z;[.X MMO[*J0HG?<[H.KGV<,/O86SC,%CMQ.,*(FVJV3<;>P#WT'9M*WZJ;P[86PV$ MMO;9G#8B"G$7?GNW7A,?%_C>Z+&ZMK!]M5%#U4MK&\+USV9Q;3U34D4X)SMH M(88DI0=1$+W9WPR:PW0Y4SW5B@FZMN#W2-LE'S7)C2>Q^8H0I=>N2:G#P1X+C#3-= M\Y2[I0ML!S71]^C*L+8]7'2?8+FRFL]%N MG>@!UXT-Y1YIC\Y=A>61]194>-@*)D)MIV/0TL\>Q,3!)9^T^D1,5=G/(>8_ M, LL=S%-R>_RR1B==336') \;& 8VHXJA Q%&R[8#*YAC[I?N2!(E827M\QD M$3&K2K- 1V"VJ*+9H##V%VG,B)]9XZ )R,#8](;-3W[D-5L+RP:*/,)6GB*( MD]O@_A8'AQ#?K7^*X^"5A&%3+0Y]:]@8U:)EY:YX?5.X"-(FL/4R,:/+DT-R MRBY+;N0RW+2D>=6U@^V=6LU4OSQI!-V.+Z^FH#Z9Y"T-O?,@)N:E3F,BQ]-DVG;(8OS"X5;K&*ILL\X*I)WSJP MJFL/'ZH:I>X/5#EY).EGP.5T(C&JQFSMF2G M1[S6ZU@7J=66\&-4(V__Z"P)BS+\CN<.(ZG)L\8RNFYNM$]DJ;#*X-NL,/25._J3??F/G!#U5AR^YOOG,&9X(!*%O(9.Z?OA(ZN MNCS'NO H?>,CJGP> %@H*SO@ZDYW=Y/I"KO"_6Q];0'?4UM8)-DR8Z5PYD6[L 3?\#>6V=F2% M/#\P.HEV)W.!*97&7_8X2K!\)ZA0WOKUVC%G!]>']$"Q*OV5%'[YG(AJ$=T! MTH0D;"@8PEZ&G!A9!"MQII/W.)T41E&42;! EW__^U]ZW/D.'+G]_LK M\,6WW1$U:\_8Z]==.*):W1K+5K=D23T3&QT7&Q")*G&'1=;R(;7VKS\DP ?( M(O@$B61I(^S9E@3DB\@?$@D@X<4.]0B,F+&F=$_S4 M+#0>=3)"YP(V=766Q1@1+W'V*T 64X;BGOZ'E0 *YZP[HS6>VMF!BFJEB; " MI,X*6"H*V8 6$& MX&+$6-SO_WD=\'+)C6[,>!FQ%*ZH^-G"%]UD+KI@P M%7?X?\6/*]L=MY]1<*E3/">$:;36>)BID#L7K&E6:EG H2##JF#'K-4>GEC$ MA!&,5K(3&VB_>LE3_E#5UG'@#%]\2U_A=NO'E#V$]^EC_H)#&-4WD*91P@DE M!JRCEL8;009_U;PI2DTX9,(Y$#=E4#DOKA 7%00B!I7UX!TJ%D )W>+E$?Z/ M@UJY(7\G#@H2\$% ^5" TRI_#A^A5I_CIRXGX@7P9Z$4.4JM%J_)9\/,.5OR MPOF2G+$XHRB-D?'>D(_R2U3Y+_^(K24[W;$$GA^&(760AFD;.I;J^D0I/P M0R19-'JV%7>>7W<>%7!1_"QHE.JSC"MY9 ';>9;JV!]9Q,/N8"]*Z^>:O[9[ M=VY^2)H+\I//K5KC_/K';WW&Q$S6<6/896 M%92\X+&*?635[[HSR@3>/8A>K:S1'B@WUF>]6CWQ>:6N/VP13O5!QN: MX?6_-F%'[Q< S3)19]/OYE#O(HR.(9\#&:36*1_-E* _L MM?D(7=S0U0FW4_;3N1+ M_; ZZH]Y1X=P(NQVY9ILQ._+Z"UEW7,\(-?3R=O,8'?_4MN[X4L1<+[FDCDA]P=[_;>0]\S7!!QK\!O]_ ML_N5Q?"*Q=6'3W=7VP_;+_^=KQN\,&AYLM,089S#VKSMRK-.)JAB/_ID5,?Q M1T_Z/BTJQ"5T'S'Q.+,\TY.)3$#>C?@O!#_0'F07R^A2>J*(O_#Y)Q2VEE*0 M;6["N@T6FFAID"=1VI]C;VJ($XFZ=:M.KO56F"=6K:RC$WHPG_J> M0_^9PTK5(UL'8ED]A-[_#254<_GH5U&W^0A]L.!18Y' M_>*MLDLOH('#N7Y,V7^E ?OI'W[\UX=PF^[3..$$?FI[K'T\,9SCV8R-E-/L M(REAC^HFZV4@DH/XZR7RDH2))WT/7BQ.5Q_I*Z$D"!/Q$X6C[)FLY:.A9">D M900.),-QCX,H[,8=+X+720@,!@):D!__L"&@"M"2RI"??H)?_?33TH?;;9G\ MHLF 8%\K&T:?PRC9TSUK?_+[M!5.O.G02ITQ:TWPSI$Z0<>.OYR>O3%73:-? M=[PBJ&^->PQV:*G?!+G&_ZY@E\!CQV9MV\/^(X-S*5I?U2/PP_P=!7G-K9<] M3KJLR2.;]=6[9;7]6GQ3([6IY+J]UT5F5?,A3'AXYG(6L^@&U/'IM@CF? VR M\L;P(CC7,HY36#EDM]8U]NCLA!MW^NFL(D][#[S8TU/NL4-7(9^=D,@8Y)4: M++U7LJ#:X+?$R]5VPMA.Z #SP$.V=]NRO:LTP>VB3?K4]];SO^-UOT8IS4SU M5N9!H_J4\]Z&!&P6A7K8'C';F"U-HK:*IJ'U[SMQTZ M[OIW=EH/;NAUUB'):8]U8$N+W*86%AB?"9G9!/E)4#=+G\,A9S@8X1>FL16T MJXI_+F2[8T?Z*I(7-[O;''^N@IY/?DREN1Y<&&TQ'6P,)K@.5!FOEBG0*278 MD%(&\,%""JBM@^2]#[NVL_7^1A'Z9PPQN1C\'J MMKSQ,9;6F>&*[H6/483."%6,/%HQ!52L/?!AQU2VWO<8KJV^ O]86N<&*9JJ M^Z,(G1.DF*@9/PE2;!79MV,J6T][#-"VS[L>$\B=#;!TON@QEM99P(O95RG& M( R&ESRL&6S2,Q[3T88EG//-3IY];;]&VMP4.4JTZ%=!@(9VB+V[35H#=V!\ M05]XJ;RE9V-HWC,GC>3AK=9QV=0.]Z#4:J:.R)-&>(>C7E0#8[&X"D:^V+H; M\PN-/+BW?4>3MD)+#I)M8%HO&Q2]6J#JL E-F0O7U!WJ.RF\T2%NR#_G_N$% M/&R%N/&@8$Z M&"I$L*F"P89(AJ3DB. .]*P&N4*-#)?480/J%E2:K\GK3_74^WC9=BT>W2"Q M,?\%VF3;=#?.AJL:U%39VK)W\\\+6+Y#4-3PH]^]0WKX$$91^ (5_NB1_R5Y MU6TS#".!VVG'V*.R0S2@/U[G'J7%Z+U@*!3$5^%989V<'VP*"XZD8$ERGG;V M?I;2B>(8?S,$X$[P'>RM?/(]<+@TL&V]OUX'Q(/YR. M/ECS(EG7IQ/R!-T@%:8DY>2$1I(GFC1EU_A@#N !+B$#!*.B$+;!LO7J]1TWI)"#*((H"21RLR.Y M+/!O6:Y&BK,\CJ,PXFUE=-7?$MEHQF1M\,VU=7T;Y> M^FKVH4_:(P?=OM(;PM,LMN6#]5BP@MWF1Q[+4,\E?" CVU V;Y*3)%W)(G\[ M>'GDFUOI6]WG'EG<1P-6E[368R3!\Q#,YAR0(S31)'#K"SJ&H(C6MQ+.!26$H!U])>0 [1MKI' M_D)CPG8[QF./9^:_$I:+N"A2H[)M9:N4@#AJ'%R+>,'4BE!\.B!"K'+#]=.< M%FV?"W":58R[&,PZ)=MA8 =6O(;'AWW^*/?KEQ"#-:]N MSG9TPKN1TU_T\9%@SJ%X=OYU0W(F=O=MY]:]7[M;;;&MR[6W@3;BZX$,D&TA50]+E0O M[GZ9F?>'9F[E^F">K.UPVCC18A8+=F=K!Q)>:Z9VK)JCWS4#=7[M,20O@_>0*>WY*,/BI?U MAK)#.@J/C9Q?PFIUX450;^>G;XW;B3DVK MRQ5-8[QNVRWRM 5)_N"A(&SWV=E9%;7_LN//U OB:ZX0BV^"3]\3#@VI%S]! ML"!#%HUA^O3#[:.]-5=]M;,37I_M+_K8(0T>J9+@2I-L'MKTWZZ&Y1XO7"1BF-WX+,EGDWVGAOH1#7I++%?AZS59Y 7%JZ LZ=V4K1K8%:?KC]%?5#1 *AP%O[1QINQ0CTG-OLGDVN?:_=WY;..#%RG WTAQET/?&&0P/E M-W>Y+.-$,E:;$@(0'&.8S0[_D]*(R^*_*O-!=@'-=(V$/(;[U4N>+FA 78\& M'VCPF[Z2<\]^.%UYL.:U&@;MG9 '.H-4,'!+RPMV872@>=6!)%O)0'UFN<[9 M9:*0%RX+H207ASQR>6Q4()C9-H5^M76>.:>^#"/F[8/:MJ3>F3O:(W;B/IH6 MSMO6&+G3]A)]]/*:Y/P)5\%SJ,_G'-C/X@N.QU?ND3NQ92;+]L2)EZ2R7$.: MQ)XKBZM_O=]FIWJHPWU>'+#;\_F+!@D3.0WEYC0ECRQ@.X\3C%XW)(R@.1"1 M=E-;[^"/)#XRQ^/M2<+IQ506BW@'?V/?Z>'HLPV'#K$NDO7,!8^=M!AO<@QA M&B7>CM# Y5*R(*?(]8,'9)X@_PA1=@PUJ/APX[\_IA'LYPF!1145%AWBO%B\ M?/FHW(U_ORQ*S3H8,N*GKSN1;Y)#_4F)!=9;=A2V>R&D###C;>#^)W/W<)P$ M3L:)-^<^>K'CAW'*C?W04,/$!#VQ_1H484CC@UU=;1$/ORX-BR&H:XAT&':* M.W4H;HA">X9'O"Z]*"Z+P[6L")O;X1QRG9J5*\"&1MA7?FTB&RJBLP,>94V2 MA593;X:2N?>,^YG; R!T#1$C1*MN!40TMD*.$>TR&P*) M6#"QA1+SJ"BIHL")615$4FZJ_TKTV@O8%0_Y]?=)IM'$"5-&+38UOU$0Q!>+ MFU7+0IX#A"!"BF61!K/AS 4Q7U+ SIN=0OQKS-S+,'J(*)PT;L+?/IUPHL8P MG8M I[,'\J"GO_R& J! ,)2G]DIW%X\-PUY4(KDN&Q;-;P3) 2I^JB '3 CG M0C(VR\=+BVG>\;WM1E2R7O\7#@YI%+$>E3L;.N!$M?ZZ-@,RIJWP_8D,"G;(VO+14M=C-N-E=YB$!;'W MZ+-/?+YA4=/T-PN#5:& 5NVH,8$ZJM!&1,ZSH%*V0/-^8W;0B*2BT2^E4(1 M12ISVW<3)N*>J+=#OANV":^XO.&ST"1N M/"(TJ"-N%^VO>Z4"3FQNCN!^#Z%PRWJ)]K$TD _],1:I%C,>0 "Q0XQ28WRM M7^"V(04_(AAN2,$29@_)%&XG2K;D6Q*EC.RH'Y]320/X MP! -P+/\#4W+,616OW]T&?PP^!Q\?@O_D_W/_.R)KHVQ(I9K! M[VY__.,?/O_XCQ]_1Z+R#!K_)U0R<*%@BEA!A@$CKXQ&O#;\H"XM+7>.&3^DM9'AB1@A-16,G?DHS9\N"YK!UR-4="Z.3P1Z?H-@A2 MZM^!E_I9<2S=!OE $CAQ=XH]U"AI2'^\(=,H+7!V.:=+K#>MA%-:)%BW6Z ,6#=W7AQ5M2LP! M%1D_!*]B+VF16_D0)MV+Q)(*$GEU8DM9%9-T&[K4GJYQ[+)89R(Y) MH%='W([87W?5,;M[X774 ;)/.M,L]Y<5)ALBV9!O.2,[6V8+&*#NW'[)R?Y, MFJO]>C'D*LJUUW/^G40>-UB8MJ-^KA]/&R_P&-?06%Q1R,)#C#$7HD J*T?$ M-"8=]@'6ZG8#O&AU3C'C&)]ES@T3ZOPR%+!7.:/H") M\6 ,-W">,_^8=JT3!I)8(QJUVZ,;HIK[KPVW.K0P!&;5147.D'".MI<6BUKE M,DW2B)&#%WB']) !X#&W1AJX+():##\X\$"Z+QYR#*MPB>;<7@&3BIV^L._) MPPOSG]EG<<1"FP8=30XWSDRU4]<1P#ZT\.+/9(V,'QI4%A$Y_XW )!"!2!F( M% +-F<)%+,81X)\P \T?&8T>7L*)9BNIG >LU*PR!DTR$NL'D;HBRV$'<.;8 M$:)&#%/FX1[\!_1 P7GJ#LB,H7-&8*%:9C1< )$S 8R**DM#!C#'#QI&3,3] M^9^QP\8E-[0!@V5DS@&'"0-R1_Q4S7FQWW&:&0*-.ZSR0 MH]%"8^"C0FC]&-*LSG) 0H'_2N#$K*T>GEC$A/J8D66BRU:="CP-7"]V($*BY5>=FW1!L9G?&BQG#51A]C9%S(L!*A8J2&Y9K* L;Y$@]^8(6%1 3 MPS5C/W4%/HB'U@XD'^1RBV]&,OV_4B MLR9?[F\7O9=WTUB+_P_0Q!@RY#Q)QI047+.3Y-8J/"YNFYS%#S0S15280D[U M4,@,WCRHXPMY!]7NXO?H<.9CMG:"O;Q[@ MAHPNBZ-KC!LFVG6L)"@;6^)U^0YY1^?-X F@"EWR35"V\P!(70M/4PPG[H7X>'@)?*:(]28<50V MYLJ9?P@#-[Z*XY3/EH%[DR9QPKEQ1C6-.QOC]+Q^.A85RK4MD9FX&,E E M7I1^:?N^YN"G2 +PN%S4JX<'71Y];R^&^DT *C/W-@K_S)R3G/@X"HB!:IPU M"O0:UATYI(U4QA#.E7FC8\F>A 5_6.!!NT)PH_<5&PB M69*G7CU@PM_%U=P494874<]X0HR9$28%6Z+PW9#'UZ*%Q01&BVFZ M4AD]NR)WG 'Z5SRE1S_$KC%$^M&^T#;^[6<_%K5!5-C *]F87(@\LR#-MP?H MOC[U:1OA=,YVG9050ZT%^D6!3MX)=U0@=%->J8@D#WC^4QRGSW^Q=&QO6M., M8K%/QVG:",]-J_5W\,WD;8.,^,(U,>?4JUFC"3#W M8-BD8O^NB"%QH/X%4/;LAQP^AVIA*)FR![:P]N5\RUI:PD^!#)"$QQ6S%$&?O-!FKM4+V4&?ZN6]OQZ[@X2I0U'/^I7+_Q'_Y4 MU#__F87[B!Z?/(?ZV^]>?<'6U18GXO72$""NM2&^-5@_<4>[I4*0? .2YM(* M7<-1>H$JP<<0$HQ-!FAIBW@X=FE8#$==0Z3#L5-<,\-1$ATS(#4!X9L=IG- M)9FH?#RLR#')GY=UJ7ET_;MR%2>5LKO5^3GU$X\=CG[XRJ);KE/K$>@^_7#Z MY6#-FSQ(5GA0003FUN/=RSQY&5F$.4+/;"&M6MG8]P#NEU' M=10WM\0[=#OD'1_%Y63% "5 V/0Z=M(8;5S2]FB^MG%ZNK#M:KNFL6IH>7N* MJ-F -;[2O>#"1]2_A?<,P^ R#5S]8K>E+G'>*;6B_XE 9 MDX\L8)"A/\+8Y#% )@7)Q" @AXAY><\KJ$(4" 5X"[ZR#$67\BKEIV#O!8Q% M\D['+8T2S_&.V=\RC@LO V:SZOR&,@<.M]Z1^7!F)7#3.(E>/\B/WHX2?3HA MAHO>.A>XT=D#.8#TEW\1),G%(;D\)!-(N,JR*#"_:=JU->?*]V'*31\%%]3W M=F$4>!0X>;8O6@,J3_D^RF4!*20B;B9T)5HN1EG7T! Y7Z M7C?I:W"1'P8\M$@=<0:]JH[$K3 ZQ;:6/, D%K(H<.$9LOD M)!1!3UU,3J!0%K5AJETXV6#1HA.,9 Z@B@Q'GN#HLR3ITPDQV/36N8"4SA[( M@:.__(;@H2PVQC*.))$#>OG%P_S*GZ8)YUDD-"(49\%1ZDL8U5#J)F!Z#QY- M";%;3[-.X>OCR" '@(E*&4*%8G%QS":Y$A/$3!=DHA#'4CA@R4R:R5]L4'#6 M).>M9B0X=QO;YZ>G6JX[+I6W]\"))P.T5??16YKCW4KO([2YW70$1?*64QB6 M0R9SA">";X,@I3Y4_(N\QQ3 /_Z2 B3=[#(H$"!5RB4J3N6#DA<;D0%T&Q5: "*?F M):_$3:/\4H!/^=29P"/W1-107SAY:9,*<_*EL'L>;MPVX-2\6&S9 M5E_,#[WZL$,1G&5&N_?V@;?S'"J/RZGV[3M']J*$#-8%T-#V4G(FB_4,R&15,PS+Q)GL(*NVG8X:&\'71[;S N:J6H+6;9>% M.[K@Q,8A^JH14UM[O(%1+ZG'#M^,>,5II1NCN1)\?^0^%4;7P(I+U_MV<',_ MW".ZM^;ZFY@-G?".[?ZBF[I)G/$@.1,TMXIKR@^X8*SKN>*AWO?:<6.WE0YW M0Y>1]8C^P'6:GP2'EC,XV.0IO&846M#W,-9KULE CEIA7>PML@Z>FQF M)+,(0U*=/!1CYOQ^'S[_O7BZ-'J5(S'[H1R$V2_^)"16]:W\ ><@.Y4=!E7Y M6WR#J$&VL8-FIMIF:B4V38BM/PHYI#/.(37.!D6"J7=/Y!FFX7H8.LC@9M-T M9;=8));@4&.6N6!B=[GB !N19Z(1(T&8\-[/+.)_RW:7G=#WF9-XSXP\TFB? MW=6B^XB)H&/95-1RIOVG?_CQW6_OQ:1B#A\T(E]K3B[V[8,8#?IJ7(! 5P=\ MT](PL6=(JEQ;.L>XC.)941-&\JH(38>$;*9"\ZHK'[W8B<0;H31Z51O)C8!A MF;C^1'$ZOUF;]4BX]J2(#SX,ZV4<7S9%62%2D:':4DIA9?/:LN$*Z[@5ZU1V M;Q"AU448)W?,"?>!]U?F#C/I2=]58D^S!7I 3+7CZI!$(_X,@ &<2,D*$RH8 M-D+N_+^+*PYOR=]9%('&!SA+G+TV2!\]WTM>+WP:Q][.8^X7[C+1+SWH M$X@G2FRCB(O,=&_3#^F'TT$':ZXF$SL[(=],&*3"V,%[I2W(YC8/ZU* O'"Q MO(2V[&[ (K9I1C.%CX^R&.7(1J,'JT9#P),"' A!9O6(V'SAB8H5#?GMY_^ MDO+H#FC"W_2.JFF'V#/;-"M:'(1IK[[@=WR MK_+$]70_O!:O8 4G>Q,(Q5LO-MGXCGWA;TG9D(=^&"UEX(1[[:%P*3DY"-&) M(V4G1R$\2;DD<,S=+>57ROPY0@42@PX\,J5PYIUK01X9.>9ZP/'WHZ()JLSV MJCYA]WQ\6_FRF4)$:D0RE%;. ME> V,@5.,=ES:68Y3M>CD"4^ UVH,PU]IIX/&_CBDJ0PU*JGE5R=RS#Z&929 M^:LTL'L;DXS.SG/,-75>YS_E:#5&-?-4H./GN3!VL2G(N-'OV"$[2N9T0*X5 MQ'6>F)OZ+-._S8"QSH)M=?!,TD>.J:8M60%14\01HZ9Q%4?#9"9)@7(=D!FW M8N:$HY&=!Q'BG_[AQW_KQU' /4Y'6*-'DK.I.]XQ/D:)::G(#]7E#$VL,0X.B^YK1X%2)V=& L\2.!N:L(M#@ M)Z1H (^K3L6#"HW5(\*I109B0DE@U:C0H,;\N"#>^L6.# 8M([#!2LYN]$;K MM>9>DU'"JT21$;8SZ$<5_LF3%G;=_ M2N+RJ'/;!YN!UPH<>RX+G_BZ:4;(W7\V=2V>HY+ D.>'YYH<',4A;&_A,$S5Y&Y=Z'O7X81=#(] M&XX58@6HN_@W,1)ZC9( .4XO;P>+ %Z]^IX/_F,;_Z)1:&>\G\32-]S00K!/DYL)R' MOU[H?@I S ?F_R4\2L#WE M3![LX;GAS_-+MAH\0SB_#*,=\VPB>I,$;Q74M5]C&5P_8?\6H5UO!/SH7LB^ M",#;P7;SWZ>@>)8(7^2K?F6PE<_HD9[N- MONBG[FGU(_]R, &^U?D/\6CXVTPWX/MAF][^-J?ULLX93F3G?'!@_@^;G2GX MD&^+3YO&SNSTP?SF+P\F&/H"*P\DJIN$^**)X?*]U9!BY)>T<4KB;\&%01/A MCS#JYRQL!AIHSF/,_X&+ QMO>H*K[IKBF^"&R_=6)[B17]+&Z9&_37 &381_ M@JN?/WFC$]S2'_B706F+,YW?LGW>E(\5?)/;0.'>ZLPVYALN>GBFEV1O<4X; M91_\$YJBUAN=RQ;]L,I9G3<]EU4#B(V>Q9P1[N1)4"+WVFQ,'5M?T&5NLTT_?8=_ MZJ"^=V?X]?67]AZXP;:'MBHRMC3'"V-]A!X]K"5M"359 M7NP=T']O]X66674>]R*MYH5W(>)C=UKTL9X6%?\I:Z_?[!YHM&=)S2!S\<#I MUK-:M'A]WC0#Y"_6SZ;NA+DT(PG)>$:C@,^?5+RRP.?71#"1/V^(C'[XE$J= M)X\]RPT6WNO((A[%'.#J"MF'U.,U:3(2[G,*ZDLA M,OS590 ,L\ Y-\UI3R,G!1KHXPUJ9]'2Q-N%W;OZ'YIV]24PYN_?K+&0ZAR& ME59Y9L6K0*=6&8R!,7-^OP^?N:NF01*]2@C,?BC1+_O%GRZV-3M5_H 3:4YE M!WPH?XO/JQMD&[UA2P/J4AL3Y57@A =V'<;Q)?\,%V' !VW*Q^T-'[?"B>(/ MC,><3+9[H-]9_-D+PD@<;N%^R4?Y-G"K5.39E\\L>0KY7\ 1Q F8O 2.QH?M M2(+3&1!\'75VMB &/G?'8(RQ^"*YD7? [SV!,49*P4DI.7D4HN?']:1 1)%H M0S)20B^1D^?#..%&\X%2KJ#M>E=K_$8?.2\>,CB$!F*S@GG[0"38PT"'937K341DG-R9P6M)THM!9%5',S%6 O: M&3,;[%/ :KDUV;OL#"]C.2YK4[[7V'4II#6 SRCJG*#.(#'9X&:?, M1%SA3/.K#^1=QO?]1@,Q*)9ORYKIHK+22IX8.4;ALQ=#1AR.CME>;5VD4<2E M,X*?C489PQ:)Y?K$;;HMB+;L W<:\YDJ/-V]EV%"_>S M0(,CMW=$[\X]Q9_JU(*-2,0+1OB<>V8["/(VYV6YJ!\Z+^M[K<*IN[1NFIO.IKG%3%C[V):IF M<5BX6-?#8>?26USLL^&M']F.<1T^T\\&3>[1WA._)_24?_*@S]-/BT^>7='N M0H:PF(S*-:RLQ<>Y>T\2ZW#Z(?9HG(I/G+N[^J\#ACH9X/&N;^U)W[7[RG_]+D_2W&A=?:9#6$QX=6QX!FW3%J- M:X_PZ=4Z\^Q>C"[M-;?FUO)> [(315.HIQ4XGN_)&\7&CG%V,\ -!>9M.?+0 M9P=UO S@XYC/;)*5KEIEG!0RNM'PU4T"H %Y6J>^&+C />?-8V3)YJ0ES#U M7<+MEOJBD@ ]'OU7.&GZ]??WOR>[+',1\V ]Y<[^JM*)8#G#&1TC]@/\+/^$ M_3#JW[Y3XW=:IBKL;L>X+GL-138=O75#6J=6\V.9/ML-5R&Q8]AL M!I1F2:05 B9BOAS+% 3S>'SH)"O!,/[+"Q[,>LD4U*H063].G=ID*#*5%-:- M10UZS(\^\ ?)=1ZL^3=IFX#MX:6HJ6ACT$2@N"-IK00]ZAL0T.*CQSO"N3Z/ M3K%K#]+K1YJ^]AN*/UUTUXU*O;6;'ZL:M@A%.U4<_!'3[ :]*B]WN[!2AD5> M3/81X_^;/2 E5H;K0+TO8> R-^7-'GV692T_,^K'/.C\!.7-$NH%4+QLPB<9 MPF/].#C8HD,!L3>#=2/C<#7GA\B*3/D6[(8(L<0:LR(8?K!& M(Q(YA))]:/]D3+&Y/"/2#WSJ=+6'3,856ZO:A&V853?MN M(98[B.2=7Y9!<\H:16&^UPH;&DGD/:8)!?#A_8,*&N4B0ND>1['PLD^A8!H3 MDV?$B\IK?#:F070VK5I*'6"T/2G#-6)!5O;V_= M/Z=97?@)WZ&!U/HQ46>?H'>T MF@Z:#K*AAL :(:7-%MU TM1[;?#1JL/\H($/(68V2#U1$56/8+_C$>!2B0ST9V)0RC$4R4%3V%F\R JN?M]M;>#?9BVOY M1VWBD0L-5B%4A"'P)Z!ZR(S$NTLK8<@S+O=)]1-(O21SX")QSIKS(^BA'.F,6"=2C' X63PQJI3E)ER M&I$)]Q$/-C N042C5V6W*Y;7V_;@7I$7BXG!S=-UY21BYSV'$S-]8RM[QY7+TS""2$K)0/_XUC'[C M9FP!.>/$<8+;/#8L4D'&*"-/"IG7<[2WR3Q/]LHE[/LZ1;F+AOU@\5R;>Q*U MG&2$E',ZS6L%D?%YD0I9/#*&YT,,F%5RB<2,DLNT(9E4]B849!;-)Y*F488B MR,[27<$>GG*]H%'TRIWPA4:N;L=Q& 6<,\@$:[3&OOKN*PIL>RAA%%\*?@08 MD@I''+'HC!;Y G?V"P/ T:A1N:F^@>9'+Q;3*)3ZT^\<]NN&T[6'ZJT/^T[[ MK"V@:]%@E:&:6^AC:=-M"0LW8F3)9]Z=LV%1U1S:GWYBV^ON:SB:JFQGF LX M&RBO"50G66_BXH+^^-#U[P[3G0>:X>!2SS1=UVQ5ZL&"RS7!$,T\=!VAY%6T4QS?4C@=8RQBAB9'!6.&Y+SY/\"KK)H?<[7TM-$RUOG M&#''*^\UTD,8)5E1R5DRBA6UV)%Z>3P.&R--Z]11!'#BP7A;-*40NWNO)WLX M0)>)B<-Z.I!_KIC])95)OGI6D#>@^I2@RR+OF9,1J<&C%%LX42CJ(V9%ENRE M"1!R*B^FC27F.=MN4?K (<29U MOU:^J\VU95%S3G^?I&<7G& W1-^F)6)3>_SKP5:IS;OKSU$8S^FG#WT3HK/H MW9 8Q9,8&OA22K^>ZW#E'MJW[FVLZ962(<(;W?F8>\MC5#9G-A/\@N.MC^;P M8U"6:TU>W',J7MLDO-CT^X7-F6'M/?D:UA?V7#%-NH/KTJRX#,VPJC-K+#(S M8P45=.5C%JT60QR%@0T_/0T+ZI%#_L:8S-=HC#:"#&Z?'FL7U=.'TL#K_Z,U MF1Y:*N_QG8;<&WB](!+)H7]V 'HU0OY+L P'4:GC,H'7N!= ._ MB&!,@H;J:F3/ GB:VG^%32XO8LOF^9>QB%0?PH5:>%1R(I+5\M<=EK& HF@V M-.#1GE@S+"IA5"S>^'IE-(JM/,;2>-^N-7IJ[X$3&0=HJ\9$+-5X%7P-X*7 ?P*4JKGY>G_XJON-_#P/Z MZ+_>)&=NZ3J4#3,IVA\SFL153)>JIH-TZ6,FC;D54[&[*B.BFQT$3FG";G;7 MWL&3,7H[XZV-;S(,DJJ[]8B@;_]$OA\K_( XT[*2#YLRKALLM 1"95 MWN^4PI";')(;"84J4A%,K&67UE,9DZ[E0;M/WV$Y>C.7?-3QX#KEG M3BI>G]\Z5AX.F=&2.0,PGK"7@-_<7C;J)"^I=^,@B1J57B0IG!\J*'-7Q63" MN.H.\YZI/@WG[.SDL!= MT!0]=)X0\%3WM"[EGE.?(RQ].^)TY^&Z%_%/KU[(@Z!A.A@\PO+RQ )YS5_N M[L).I\=$6 \BD!?/]RT?9EG(-K4=;G*9;W%WG6999++G4,.=Q_-E)9*;G6:; MZM-WQT]=+]C+7?"8"YQ0+^"_> @_?:<'+Q#-[UB21D%\%_I^IJ8&5A=@BQ./ MEK:[&I?,S1-O0+.8YN/7DJJ @*+:[6T CDS,[)1,3$I!H51 +JKHE@E+OH&X M.?C\/RNQU-J^@BC+M-]'XFX3<<11XUB1+[G'7J11Q%R)W/\QRPXFO$KY&VK ' MV@VDO#IP'*N?<2Q5;F$5HLAZ3)DP^4:B2&KG\E@)P)"8LN 'R;X,UV1<)5+@ M.1_^TV\L(&X:B;CVB8=@F4'A=@,B(,QS@U7[W7*[15-A<"CI58+@*/OU@,!! M=%<'@..TFP'^BD/9-?@3HLP/?OVKPJ P9+'5$<->QP@@/ JSB@M>B#"P>0XQ M@H%#2:\2 T?9;W08>"X8.$Z[!4/ A3!PE@!P+C.."O]PHE[SU''/DL1GXAS' MKU[RQ-M#,C--GL*HK3B7:1ZKQ,%I%AT=%'8Q6!TR3E1SP3!1D8F\<*&(E(HH M8JTA7IS=M*J=8&>"[7;,2;QG1N*Z!0%'J=9\-@'S3K[VR>&]8KQK>HS9S6Y[ M//J> ^=>FDXK#_M*$SFM$CQ-6+<'A$YALSH@-:+L#'!:R%7'4R$9[""7LA47 M&,+*!09">8.7'K7?EK;&D5LC!D;F ILX2A2O MYS^5'L]_^-.#E_A\^705N-ZSYZ;4WW[WZO%)6SN5&(&1,[Y@O%]M/WO$A_!0D7O+Z,3Q0KWZQ:1R%%8W: M?M;0CN?V[BL9Z3V5&'_2OR0MKDP(XN2;)#_&$337+C\=CG[XREA\L[M,DS1B M5\$NHGP221WXZ3]#'VXZQ->^\YD='IO?8!Y! ^=HGV21XE[F4 +(KVB.5L=0 MW0HOV(71H2@VK=PC8KEDHBZ#D(U4A2.Y=!MR?7VQ[/7-Q>WV:: Y3#X_P%>) M3YPV7^3"$_3)Z[47L*N$'1J?&VYOCA@:>NBI/#"@;8MOBNLM\?B2^25M(HF3 M;T">"/K+9H(7U?9WA GJ-O(F62()I/F2 L;<[&16Z99&\!0*RU\V_^C%CA_& M*22?T-C.4O;*JO[WD"ISX6GZ&WB9G@="-D!9*'\5QRES/XJSH_(( MJS1#'L.)1K?\ SQQR6^YOKH-NO'4<$/Q1"NI*#R2%%X GJK0I+"&2,9$T.DSJJAP. M.3X9+-NN&*S9/'>,+V9EM7AI2_Z)'R+J-A9TGT0-)TP9LE(US3Z*%/)M-P.* M&=J *RNG1B5+PO\O 6[BE*!T6=5%(W%' OY(@]>$K9F(R\)6X'_,0=^-P=^91E^ MRY4-(R\FU\5Z_(XE$.K"9[ 4ZMY&605^HWLXTZGBG%L,6TT-AR>2Q!L:FU)L MM(_G_%>[I8/,@O9A*KNX(.]W_Y7I2FQW=EH3R.ATUF-(O<=:($(KMS$$R"_R M%"PL[54NIG=#+;"V=U^3?73;0 M^[FNYUK\O5-^8WX/\SP/Z26O;,8O[N*@P(#Y;,%5?Q8*\[CG6 4& 09NZ/LT M4F[C(, %B8@W:1(G/##S@OT '*WV6A,2:+7NFNJ5+FOQ?;W@IB=[A0>"('Y. MO;/)/M]OT^J]S,5:=;^Q\8)'>TO5^[&DSO [:)NS4BP/9%ODW2=;. M:GH!_=J. "RS@9T^QI[KT>CUGL*M,B%6PR77/NUQ>V"GII4M9UUCO-[8+?+H MK0(J[\!F+FGV^NN0L5KJ]84>^#\?(AK$5*3B&V^_#NJ(?/3VUKTRC#M[(1[/ M_64W-+"-7V@M#GGG9[SU]U;U37&.RS[ZE1OCS>VP[WIW2#W[G=*XN",09A(L MO#L]DP'N3_2R,ILT[B K18P^O)Z6.(*R0UO7%56WJ?^S?).U_V[GW#QQ8L6B M%J],?W,R1#QS+J+VI#-U/S2<-5$$)(^O1&U75$:3KP&7 M!D%*?;Y0":,ZC"["$">,+F?K#[\ MCSAI#KQ())B)X\''' 7*0^KEB=_*H?1CAKJBR.W"2W[4-C=?,2<",_ M>4?(VGVZO[G]E7G[IX2YVV<6T3VKK6FS"R#9+W67(,QRP#G=S6A-[3&N:>3Q MYKKF4-)05KN01J2UR3L0Z/V&Y#*13*B&A%9V!K20S/[!,\N6E08M)G>1PK*V M3R!T;$L Y@UPH\^I+B=Y<_%7O+[?(..DB$8W/D1+L7#V^"5_/7/41@W%KWNW1.G&XW0OEAY]NN&?/TX4(DIJT J:W7Q MF7$/-(E#XR&?? M'C*/]OF,=+ZE*Z\^:D_4+%=DCZ_NBT WW$?T4%Y_EO4$?]3-[KU[XQ[6 ZUP M4D"ONRO> 3]4@6F+G9(1R3AME H 1#*S5P-O 3ML]_M(/$Y>6_B15+P ]?+D M.4]YDM?A"^Q''@,X?TF]J*@F',M N.PM)$6 'NXV<.]8 J*>EA'L9_8N$JO" MD5[V: &3UOZK091^6IB"%5=4#\KX-1?DQ O\QJE+*Z4 4G5.@X$T+Z_6D 1 M@=,D.^<4S@%.*M88CB:B^]K!I*K$(E@B6"*&$C,FR>J)'ZGGJH482PMA0Y#* M^FV;!4Y9.O\BC)..JD8#NN/&CJ%VT*[;6_KB18W!&IA9TY.?>^Z.#V0!G(P&F.1"OX,(8 8&UL[+U;<^LXLB;Z/A'G/VCJ/.SNB*DJ M2[YW=.\)^5;EV5Z6M^W5-7U>*F@2DM!%D6J0]%KJ7W\ 7B12)&XD0(*48O9T M+=M $IGY(0%D)A)__=_?5^[H$Z ^M[??AC_=/+#"'BV[T!O\;./__?F]6GD^':T EXXLA&P0N",OL%P.7KWUVO+&WT!"$'7 M'=T@Z"S :#0^^>G\IY.?KD8__OB?,8D;*\!=?&\4TYK\-,[^<)M2\[V_C"8_ M3RY^GIQ,SD97?SD__CE2];N"Q[9'/(:NM#[XR_D?S[P]T:80R^(?_S; M#\LP7/_EYY^_??OVT_$%J>O6M?HO_M M-&X]OKZ^_CG^Z[9I *L:8K+CG__OEZPE6UH^Y#P3P+T'\RR??ML)845P^ M1M06Y*#K^Z7O@_/"?_V,T^BOR7? *YJ-XU'\)-VOPMQ\" MN%J[9##Q[Y8(S/_VPQK!%28P.1U/DN[_[UV*CNR_4\^Y]T(8;AZ]N8]6\>!_ M&!'Z7U\?"UP06CZ"@>VC]4^VO_J9-/I9C%XL5B'=_MR0O[<0HY0,Y-;W M^% M#@'MC>421;TM 0@#&>Y$J)G$VXN%\)^7((2VY:IE=(]TQUQO?QG,YH_8&JY M8VZK2!K$Y:V_6B.P!%X /X$&EBOI&\3_6^C;?RQ]U\$KX?V_(FQAE+)?1=YH M[M5.=:EO&2276RM8/KC^M^96G4*U/5[O\#!=/X@0>+9"_+^S^4T40 \$4KRQ MJ'3!RUNT6EEH@U$%%Q[>&-H6WB/8MA_A38*W>,'2MR&HR:$H[2[X?K @^KOE M1N +L,C/,;+JL4DAU057&9;P8O$!O7AS5Y.I:DI=\/0*/H$722VF%9V[&/D+ M\M< A1NRY\9V>DV 48^-:DI=\/2+[SO?\ D5C^31P\>K!?QPP30()#?N@@2[ MX#"U4'A#O;'(4#P'_P9%P'F"U@=T85C;'HI1[H+G6P0<&$X1PO)O8@JKZ'3! MSQU \!,;+;)3#D(4-6")0JH+KI[P^E(7>UG?3M#EKU8PC 6',8\W=63Y!U[] MC0638#=KU-I'(9G4;V#1 &Q5=+K@YTOD8F.$^_@;@%Y-\BEU05?B6_CW?I>USH4"'2R^L!/ MZ #/(<;IWD(>-D[!"T!O2WQ,K[D(,2EVAK[:[AXVG4[X 2ZP0^#\=V2A$"!W M\X!//7A%L=R"%&Q)= MD;2-1MPW^J"Y$LIVK*_ !GBW$Z^D=H3P3O7?,8P?+)OL6S!;YQ>W&=D$+LJ-\T%P)/?@(X+^GX_:]9J:IZ3?-E=-M%(1X-X%N?<_&^]MD MX"W(BOU=<^55Y5]I05S,SQKC/VTD"#9%4SRH+^X2Z^ !-EOLQ2B;PO,-R4GX MU7<=VW]R;>6,4\B;POW4_< SSWJS$?CV O%6^RETE,N ^1%3)(&-T ,Y?N1. M(>IG >,;'489\ $T'@]>K&8?+EPHV%.(43:59^VLFR !DGV%+#M, @LJ6*90 M-(#'7 1!):-59#OD%O_"6BP02+ VFZ>_OMED^]%W3#W-NR/#)S^J$$>C[YH2 MEVPD".-VL(P08O:G1@S+T#>,__V?=#XUO(L!UI>\I?42=YTWM?XC#$Y'XT89U,TB,?LE]L3 M"UFLM,I \(O=9<:0/ +?2ZYIQ[^Y_T[R"LBJM8V/Q+]7M3HJ^&QWTDJV,E^@ M!U?1*OX57N1C57[U'(">?>^6G/Q=LNX7^5 A-!5?[TYVLW )4,X%]HH'2D+] MOGI!27_*L%MV3_A,W>R@)DSV0BK2GY!^QR&)Q/7H!GN_H'5FDKBZ[4$V)7"P%%@59 M!M<(!+AG+*XG_+>4*_(=$7V(E63-"0]\#[&MBZ^$)[^%(?G2R7DQ.+\].)^/) M^6YL>41,47&<%K(STOB?)9 4Y9^V^'D=EW3\T5Y"=ZOV.?)7E1)*O^8+#MI' M>"+\[8?Q#Z,HP&/QUV34I' DQBN&:[CYVP^G[8A]ZGF1Y2:G38;X\\UZIP;N MX%-U3+I7!]Y!01\;(^?."EG3H="N=PKACS[5R"E#(V==J^ 5+"!APPN? MK565N:IJUC-5" P^5<<%0QV3-M1!? X(S]M8>G&UYEN2MH(VM[Y#UPZS5\^4 M)<]+JKO+KJ?2N_7]T<',QW=KR!@XIHW2OF?ZDN$BU=15UYJ:.@Z68Y#^!Q\^ MP9BJI8JV1=[.3->0* >I=JX-T8S*9GK),I/T4G^S[W1 G?0F=Q9O@#-,X.\6>:^+'V/?N#<;](;^0L- M/--!AX?^M K&9CSY>"?.]PH=[#?IC0Z$!I[IH,-3?QJZ>=NL/GRW0@&%O_=& M^OQ19Z)GG?!;@O_]=WM)XF84ATM5L]XH0GCPF3Y8IW;-2W&R>;B-$.$V\982 M#&%!1@%UNU3=O#?ZD68BTU/G9_9'+P2$(_@)[JS02EE@N,2JFA=9/,:84_]BP8V?F)_6UEN6[N;;QJ911: M]4P9_+%GRF =R\_;4,;]"J %MK:_(/];N"0YE)9'GR&5K7NF''$>,B5U>#)/ M\;0$KLO33;Y1SU3"'7JFB0[C]H_V'$U)^IR/IF$(@D1^#ZZUJ- (O7%O-"/) M0J8AUDE><[ R'2WE!)/[:V]TP!MS)O2JHSN8 [PQ4^-6 M-/4 T>K1H>LJ^7N1\PO,^<1H;3%&G>FKZKS? WT1EUX^A;6LL:Q%WW3&''>F MM2JO@,E:2X_5_FI%KF>("!;;G_ !:BY]+2FO9& M,5(,9!FU';H5LC33W8 ?\&^J7 N4EKW1C,SX,\487 Z9XM$X\XNI3;.'OO5$#?]29Z%G>A%82:W\#KOM?GO_- M>P-6X'O >0R"B)&<26G?&]7(W/EXA;88#B-^I M-TJKR4JFN;[Y)A*,_MUW(RQ_E,15Z%&*O7:]4:KXZ#,]=GX+X27Z<*']X/H6 M/<"::],S5?!&GJF!E9J0J>&O/^]?8U9PMSE.-B5VX-;W M^%#JF3=6.Y<8V- M)0#A=I)P;C:/3\C-YBTY_._;V?/;[.GQ;OI^?S>ZF3Y-GV_O1V^_WM^_O_W0 MPK7FN15\Q/2BX,>%9:W32^IN&&2_V<$Q_<7OV^'/YMN;]B]^-J95:R$)M8\)0L9UVH-SW6 M"VEYKZUIRA90&DW3(ISU7N'D>3Q2S0__AY10^;1<0.K[A;<60AOH+>*7AB@ M$.IK)B!$=%O&17V&->!$43R[#FAV+P,&SR"LSF5CMAT2*,099!1YZ(FQ2"L. M_P;#9?8@1RPZ+@H$>@X)$W79912=:&XF+MJ&RPL":PLZN3+,I(9N0:X4N CT M'!);Q0X"!B4ED4TR;J" MVRC&4LND[W:KS[YG,W=SE6T'H39QSAC5NOHQ&Q,NF?OU0:B4P0JC:E<_MN:Y M1Y#P)K1<2IOC_!?M;AH.Z@9_&O';>\=?CGNQV!"]@VF :*18)DY$&.]]_&CO M85*.*Z>RL<&($%%AQ;(ASF;O]5_EZQW'1PV:C.MU0MTU8'9V'N] MF&LYJML/#B!RG&H(&+4+A.TC/D(+"*7UX$ @PV?O?3OY5ZS9ZJ]H61#)^4G_ M52_*HZK8D$%G"N&SQ/"4+L:B*L=1=TZ''+BYKL+JQ@;K7LGY49SIWGL5JE_E MWO!]R+Q^ \=(/?ZUYA8UJD!5:]^8CGG[RF5.QO3D DZO@>.F#O>*=I?&A)GC M*$V>;Z& 566'@:-%DO$A[4?Y&]&!ZY[':>\WHJ36"PSCIS])0K_OD>44>#9= M^8P> P>#+.>J0J.5&XW6DQO*XL/+9Y)R\T+*#V.MAB&"'U%('#7O/C&3Q,?K MNW@4B[@$+@AXX3*U'REJ9=Q9U3I->&Q!6(R7GOJQF.5J63%O<.TU,PTY+:BZ MVMYQA=+[P-W4<6 RYA<+XB/!K;6&>#7.,4\+Q7 ['E%47TR]=^J\DA?C/>#< M6\C#T@NFMAVM(M>*'Y.?0QO2+PKR.AYQ55],O0\4YOB,3Z:D"#0"2^ %\!,D M'HTG/R!^C-G\W?I.CR/+4#DB3I',- 0I.W0^EM4@O*\_(DI<+!JNORDJ#J4C MX;9FHJUI@-+GB1)GG_$4;"/W5$?EDEYBH2]!"&UK>P.&6SOI7+QVTNA/A4_\ M^8=C+:6C:TG P$_P=+ON93I_"U+IO8<@=U3%YF&&8ED[L4OD!:"X1#K?K43K M:1Z0M ."Z6F2DI/6:D*M>]A+=?>G4;C$@_GW;EFCXVN_QQ%7->2C-;>\>SS% M58.%L92T/N)(4C9:TXNZQQ#]+121+D/_?+E_QN>XVU!-6%<[9A=JZ[9#&)_ B\("G4-7U MK6T)#G)='/^?0W<_UZ!DFNG@:+ 8JE##[0!.4@$^H)*Z'K$3"Z!/:(/@S7?I MFQ):AQ[#09*IWD="?T%^$+P@?TX->>9:%$5PVGD.F81>>5RHVAEVEBSX!N)M MSR_ \AR,7:GS@IZD$B$O&V>EFVD^=^$.O=8_0T8[/W5Q9OTY6Z\M?V 7J(@ M&^^G$P?D*XB#IL3NT;)*Q0GT&"$-F504!BQ>06C9@E@N*>L:W]?YL.P_WI'E M!5;\+,XO%O32\#G-@@AU[C$^&C#8-!'].L&&!Q8$@]W>@MNE4O#NO>U:]ECK MHMSTOM+6L^_Y15ZS0L_LTR^W7X^57X^WWJ=E/_@(P(67W/&V-Q6&[@;,<1NZ M!T&"@FGPJ*?S,G::BJ#W[H0X"X\J3=KBP>PT5*S4X+KW?H?,/5]@-2\#^E93 MI.M0H5*;=ZV1KP[J<&>[L\!(\91M@4Z MZ?&Y&9MC[HFYT*8HB;/)9'S9%]WR^<@TVGA7V^F5_#0]8%?^+LV"NP.VB_\C MD,-#[=IC[==F+P-%?_>RV2VWC%V.RX36O,?*EV(I4[C:5V&Z5?F-%4!;4-]Q M6].4+:5!/@#H//;>L;'/ZAUTHY!J]2FM!ZY^%I>]=UW\!LC+5\"98@-D+V /*C!H\]-0(+.WX)S?1N?//* C31Z=9]9+T?,PT;-8% M%B7?H!UY:;6%IP;90GD;:!J^]-H^%CI47KHHV[QNMLCTTDF<'?*9S [Y[7UV M^U^_SI[N[E_?_F-T_]]?']__T8,=LO1#KH)]VZZ,DP[JG=P_YHT\;F3PG.?K MI%B:ALL6U?1WI*6$*6*B?(_,T>EW2#O#,/L8JT.Z*ACZ$^;0$'7FPLQ? ''$ M\*/M23MCU2:L 6;,G<&D(9JCU!IF:I'99X@:E6>8>F[LMJ(R4ZW5C8>H3PE. MJ9MAXTH8LZ>L:/^B$"XFXXOSWJN[&?/4F\8M)S@4^;_S5QC"M/2&JK9#U*PX MH]2;P!WM>_'A%L1YUKS-[K:AL?JKM<-EL]7[;!1L51"YDWP'DO\^>N63W*OO MN@\^^F8A6IJ2)!5C$<)6=ADE*OCN??* LDKQW0-!A3ZK;(D0WXJ L 8(^L29 MB,+NPW\"Q2GI51<'BP<>QXI6E3(2VE5^4B^)$>S?-3@,Q7/X513/H+U#V_KD M'UP4=ZBX;%%VFM]:ONAD\Y.8\KL(D=JRL=&-ZYL_@V_Q7^A')X&^AX' ^J+0 M4CFKP]07BB22/4--1.UU-@U2]94O#"01"2C:?].0U'JZ"4NLM[Z'QQE@!DDZ M+OEW"#]<\ 9LW)+Q/'@CFD6I7T[&9V<'9LKJB4C12^3],'&*D2E(U#1HJ@>1 MI*ELA-3!F-#=IC9X]RG!U5A>)!\J3G?#VV^QJ*.':]D7P%ZPC92S)52BL2:TEF]1LV=)J)H6FMJLKJ11V^ M-L220K+EJ(&BI*-I,*JG<#G@,#AON@DSH.[5%^C%.,VJN643DI2)NR-E]\FS M3:0^'.W9IE^3*4N!E"KRI@%/C_W2*BT]5=HZ= AOJU?ELFMOK6!)@2*M^6% M2XK[QN7?C%P2521.#!4>@GRK*@&7Q,OOO3(T^I4W<349GYX,$0X\CE65AML' M@E$7 0O/V/]0T";C5N!YLUN!HS\5/OOG'XZW! =8,;1[PU'[1F%M9EMR67=4 M:0?OI1Y<_UL@:"?.I>KK3-]^'3T\S7Y[ZX$UV$I"W A4=&F]7@X9PPOR":"= MF\W7 #B/WO91H:D=8JB38$Q5Z73>RSM*B!ML/Z@:WRO'HTL*O<_KKIV^V3T, M-*I5/*NSG06F]:-)(:Q&8F*>#5U0J&OU[@M*GV.C='RJJ*/KSE\_:!6JK0FT M]_>B[@ >J0UC*>-_NR#->)WB;5@(_QW_GN;2$^AJ&@I; T:%#["NN+06AVH_ M*2JM>U[,1&#Y?DJ-CZ"J(R"ME?/.VX91]CS@S",OSL[F6+18F.'FQ;62"\QK MH@\*K,0Z'V&F0F!-+_L8%\QH^_GG@P9> X$UO8'# 5[KYY&O'@*6"_\-G-UL MO ,(?F()?U*S2CB]CE!K)*FFEW(X&.NF'BU);L 2%GN"-M?RB"5IZ2BZ\6#( MGJP<#=U*,DU#YOA!Q D)G)%+[#8;+6SQ[\3Q%TR!@/*@M3.$ (20GBZ;.",[&J?6K Q4" MCFL-Q-4$PE@.XK:HW/4 \20H!"WN!157C\HL#NO&:7W89 MU"-2D-'%B8'YDC6!HE <0W,,4.8..7[4-S_[O0<++!5RT.P&N.P>45/;]B-\ MN'FQ-HPJ_MQ^!X@B$0EH< -T#9BJ[6!FFVGI_Y)4#A!,\O+0<+ROO]0);Y6V M@HL=_XGE)6& W>(NMEOBTQDLB-1*I.E%;\X*9X"K$MMI% $&Q&2Z#A95C870 M]+HW)TNP]7 P=]M8!U!T$@<(+$EA-+YHV_EF2CQ3LG'*NVEPZC",TE!HJBJA M5+[1U[I+@2*,1^\3!+IN9$@2-PVZBFYDJ)!"[Y.2\5DY*V=E_RN""!3RS:9) M@2)6@I\X@:( QY/QN9%I\BI@4<9@0S$-("J(&;8!< )2XZ,BM5$$:N(4#AMK M#>74M5&C^"X8"8I8O!G3%2*MXT\42L/Y8I'C44.3L4VIL&$HU*9Y\4^%(9UNW8 M5[!.-Q*SN0B"J.V+LII,QI.+PT&0G%0TYZ*VCJ'\_"%%Y+" \6G[R?<6[P"M M[L"'B#FJ[GC0J*HIGMZO:H79Q$<1K?E!8T=**$-+4*V>.+E*=E+V*-?OH"%5 M3SJJSGN5VZ76LR]>MI.*3*9,"K=^0$UW9O0X;#1)RJ5IRJII*<\Y_BMJ=?/! M5-'IB"3F1Q.ER%8(7 MV&,)4"E*]A1+MMNLF\YV7'5EI2C_U1!WE;CX&_O4#QIY#<6D+"?6C"C/_7P. M[' VO_^.3;^W *_8(,\\(B#R_W>/UP6O@+S:8V-S'8=?/:?XBUS+1\]V(P=+ M\@X&:S^PW%^0'ZUQCSM2BSS6'W!VZJ.@N?N!F39+9*-+ADJPJ4>F(PDF M+[&5,_-3N>9UE>B/,CW:'43?IX(!TM*0'- CV.M \4&#DH6QIG>?DZ>,,#LH M/"*-(NSQ04-MK.PR=.6S6>T5H(W6:S<6I.5F@GSTYCY:)=KDO/LBUKLHOS,L MOWZ]=]*$30V/6K=])S5YCY2\ $^O1;S7RCB--]!@&0\BS&K-).JB*I"_ N_6 M=Q#P<+#?<.A0$.)7:[G\UM'P"A=+;#N_IB4?9A^A!3WB0LI. L2/62@-P2O6 MTH#BL/&E6C"*\H=H%1/:]QDG99%W">J>L_5C/N)%GIN&+=K?.)C)9EHW8E1+ MH8V.GAA/:V=EU2 ]9U<.@@(2D:ZFX:.9OLOXJ2T#72_Z:7D;E'AQ73^($'BV M0OR_LWEV\^J'@M(H;X&.3_#_&_TXVI'!/R241OY\E*-EY,N?,[2PO/3QJ-WC MJ#!^6.HE)]?9/(62Y>[>3>486D6T6UY=4A!P8S7EAL6Y<([GPGFG]D"I;@L+ MBQCK/34#;]%J9:'-;/X&%QZ<0YO<+D^*,&)#^H*E:.?BT1SC,"D;AY0^L0ZY M+XQVGQCEOF&DT2A+@_<^):-#R\XOED[?L1IO7'I>E5AGT\P 7UL%QU=]'GLZ MWQ\LB/YNN1'X@L]2^.=5WJ/.F=ZGY>E-R(UB>J,]@D;.Y2WW.R9XLYG=I=WY M7#46WC1F]C%M]HKH)S]_Y9GKZ;3-=M:W_NH#;U\*6S7.K#TKS]J,VFB/G)%S MMHIUSIQE=VEWSE:,9:<+WN05ZUP$^D7G1W,1C>5G<0,N>SJ=7\$G\"(@.(// MRS-X1\#(.9L.CZ3^5KYTPYZ^PKW;OMG)'!9O+HMV-VTV2^JR>(^S 1%.*:(D12H61\]==E>Y#0&NT1,W+J MDZH:PEL$6N.6TV\*H^!-:$IKTR8L6P^%]!D)AGHZ%^\ @I^8RB=X]+ @(HGI M.#XI3\<=N5&1GJ$SLH)Y;)%_!*M\ U"=IGI5HC(VB M*5$L&JU7%5KR(\:ISZ+6IB));]O?2.N2C(YC,/8;M6L#GDAU>E!,1><&W]F= MBF"]FHS'W=8EJM9"?FK6X&<(DX\42X)A9H>2"B4+X(EGQHTK,N-R1..3^3Y9 M(RNS<.\0DNT-.T6.1B(J+]K?M-DLIKM"/+X1JSV=V??)1 0INS)SNR+I+J,V2LF9/;WQ M+FP-O""[ _4*0IADY\MLU,4IM#SQ\;B24<7U1 FXT79X->Q 37*FF84:.B_8 M")5BZ*G)B$LBW^#9ZN2%*6@T*E+V8GH_Q@1'>Q2--QNOP"75F^.Z]A*VHKI; MZ^?XRO'\@E&,+%?@!"_4O8C\Z\GXM-NGQT2UMW=$*=-36D';Y]55,-S321MO^BPMK MF>]G/^0ML;Q.+;O!*TU1#K7)A'ER>3\:3;LMPU]9JW(0T8[ZL!$:HQ)55K"F/Q9%*_ MUM3H3]F_C+4@/2X[=6,%,)C-]P:T2?Z76_)"J+-I=D&N[%0#'G69@!8=L[G: M?&*08'7I-Q"D.=-09[OMJ_301\E[.Z_ =JT@B,UTK"'GGU$0IXW=@4KX/ M0HC/;M0W6XN-^@D "5X4/5"FV@QLKZS<;FP7"$QS9H=^:K$F7XJ> 3-MWR!X M]!#IVT\X-&>Q]T]_516J9.X7Z1V* L+B&7=[)U?2(2''EX9GV548^>U-HY $ M7_THS-4)$3#Y$MW[J6TE7"I[';VS6<^H."6V*(@3Z"=.%/&9(:6_OLIMQI48 M+FC-^XT"*:XRG??704FR81%8DDSXSS1-5"9\(=J]WYAHQ&6&D?YZ(A]\!.#" M2YX(P^PBRPNPI,BN"=O*^$S8@==+YL5&A/OW4F,^,PCTUUW)O(09 MWSAF+@*BW8O2FTS&DZL>H$0)EQE&.G-<4LS$;S[Z Y/,W\=[]((([X-LD9"% M1/=^*E\)EYGR>_W4\[9"HN !@]ZAGTBHR5>6/=5?W^4N^BZH>7J'?FM>DJ], M\YWY(BDF/Y>G_ H^81!;L^RMI"S2+F#[Z]#I)P#4LIOAHL_^RMPAZ14&?R1E MWLF_Z&X"6H]^0J(N8YGR^^N(I#ZR)+8XB';O-RP:<9EAI+]>Q3N 1VK#Y(82 M6+L@+0XT79'B?O^6R,.O0:G?R%'%< 8BTWR.<>62U.<"G/B9QO1I1A&GE'CO MHE!..R^3);'3:,ADIOG./)+-;X>3X@6E>EBS=3H5'N,E%Q_ ^)ZI&I3Z"1S5 M#&<@ZJ]/\QE\RXD.^1[^IYUWZHHM0+)D^@T?)=QFV%'NZS3BSO![[ #XH: [ MRHWATY/)R6F3&\/)MP[AOO#OD]87&7L)G,@%LSGO!A*W&(D\I?Y8":*8BF5& M$ M46!WZ5))]B8.>2EE.5.#/OE5Q(0WC>Q/?K8^6(FPL%WRC.JK/.[X&( MZ+_:D.@21D\+F%1=CY R*F=EHY+1'.6)&F]2JB3!,2GL+EV9E&Q44QLOCP&, M1W6SR?T4*X)K-<3(F&881+18;1@:\$N=^]W<^?H=TF[O4EJ;IE E"BKK M789[@]5+_HD N/-7%J05%.'V,TWE,KH1TRR?734ZICBC7]SE+\B/UH^>_06L M/@#:TU1UHSZHA2_8/:>S&)>*-E.NNG@"'C?>*C[ )5.!^29#51^7QZX+.5$T M^!"%<77\.;+(T[LV^>E7WW5()>,GES$QA3H.4MOU.:=69.I\R<2')? 8@I7$ MMFC;Q30EM[_#=P'AT2]YQ#X*3NI<3F.D4W$_Y;M *.I!M/R5>* M>CG'>CGM*S+;E)"&/4TY@-#ELOB"_ =2J5FBS+4DE0$B3X4$--2NW"'KHATG M\BOX!%X$I/S&YV6_<4K&>$]Q.LXX8RI-S/X-ALLL>XKC-!;NK:IN4.D+Q"+R M=SV"74V;UI+**10/JLMN*^%E#4C(EL)-/310N@\9$3(L#VO/@"VUM5@@L$@R M_>9YF\_-KA;I.P#8-.=7ZV[@K)W=0'8I(7\?06IK<%'>&F0TDQ?N,JK&[Q2H M]S-X3]'S^QER&Z?V/1QCY[VPSH0NXK2^<6ACAC.JYTE-],OR1,](QQ-]1WR4 M4#=^PC,D(_PTEB2-KIQ>V3#%'5BE'L4Y<8'GQ%FG4[^6]JI=46*\]O[)FUQ> M'?1@")[@)ZBV"1+IBJ*4!@R?9C+H.@*K#%8^2Q!)=#)_8?'^.[F*)'8F4?F) MP0)1FW!TO=BC>>.3O13R8FT(C^2^K&VC".2#"E([H*OR#BC[QBC]2+P32C\S MRGW'^+U0.OX@DY+E\O)IF3VZ6M@H&A9?SW@$3+,> GJK7K1J,=K3(U!2?V.* M$#:)-:[B7)?G?4)QE"=I_!2_ Q^A\+F&UKBKB4W&\^B1Q*:5W/4[6D?3)C); M.]5S6(JW 1U?OEAA_.(7"&;S)]];O .T(K*0M/5B9(8 E ::#;YNXI\ M^0DB8?7')V6KOR,ZRE'M@>&OD 7>,/P*G 4I;$L*W<;@D%@=&E#L;@G)!IVF M&87;ZX62AD.84G%&7>(9==ZQ[6B,!-I*U$0B6D/R9R8@+B?N7RSH/?E!\.B] M8=W'>\?8A61Y-K3<%X#B7"3/KH7'1M\Y0+2JEY?61(*6@L)/ *]1IZ GAM M!-N73V/V)+*Z)+KW1]=*.!M6\A93&NE)C@V7!I2*\KWJ/,%#Q$JH8;*5;"X- M%B1^>"*?P5[+D+"I] <5*AE,$:&RY&[KA:A>P=I'(>'U#2SDG2 55:AV%$<9 M2>/W>.E DZ&3HP-[MT=OWM5)Q MKR^1BX_(J[7K;P"**[Q*&8"*BE$%BJ.8I/$&@#S,E R9*/H&>& .0VZ$F].I ML_!'M4HE A\< J9->3'M44(?=7CMZ5Q_"S%#I4+/4O.](IT_IOIC3':4IVO\ MI,\/]A6X%JE'BI'$F_;\;EU-_&??^P1X*CB[ JNQ]MY*XQ4OXZ08D6=#%_)=Z"I(#@9>BEC7=<.DDYR?9,!8%%5%ZZ4S MS22H#095S;G6$+KI"E!?/;2ME(8%DGF_7GW7Q;N#;Q:2+4TG2W PL%+">(HL MY4\HZLZ'QF=+!Q^OR%2ZMY!'JL+B8VC\-)S48:SB$MR6=E+P(Z4^PN1',7W= M!S1*L)S%,N7\)=&O[8(^Z9CN@.U:2+ <):=7 =]7)YVY^:6U52S?(\_C@,Y* M^Z(B+^"0@^,==*-0NFJI%+5!P$70TY#U,TG0S-7$OP.A!5TQ^W)V,CX9[]N7A"!Y234C M.?I32M18\S%#"\M+RW+<^E[@N]!)@.PY+SE!Y^ZC;.^H\*+92FACQ)V?7TU. M3Z\N)R?CR<75Z7G;UNJ=,.=I- M/P&R%N"+]1VNHM5T16JPS.8OR/\GWEN\X?-]\JNJTYU@UT/$2&/Y]'4#+/3& M=_%18[EU:E)>IR2>_"8YU]FW1^3CYJ]H*E\!;_T"3O6CU=/PUD)H@T<87VNF M)8^)]"U.'E)>]-+4E[XKGU*HSZ11Q=<; Z5H$BB(*#8J2N5B,K[JMIJ(K.H% MN-'RP)0Q6HX#4I4WQ/WD49%[L@@$I/+>$PSH[THTH&D:A@0PP0.2"@FH?8>R M0\ 1@>S9UCUI>4[Q%[F6C'6I-DW3 %=GO5++O*J$!3^TW*ZN!HIM>[,*EZ_ M!E@D\8'1CHM))8>1!\N.;]K*;H@GC3;$V[J;NV&-BN,:90,[K,URA]5N,IT\ M^R$(GGS+"^+79V-#[BUVBA)[T5Z*6H\,5.5BJ)+M#I]CK@93@,(Y H_,TT!:M4V X.?)9[J=S*UYKW_FJ*@ODJJ% 7@X6^*2SU M^U%55OB[<4IC#*NH-CX;QBE.?D.1V"22.TG,TLX4/7%>U1;M;HKZ]1IE)5)1 MY!.I@R9:"(6SKR813U(539F_K4!HHA'5+1 M6OO, -OT9E$]#M6-!XJ=&DRW4@2M0V@\@_ V0D3^P@#9=3DXF'!8UW Y1OGR M]()\&P G("LNSVAN2PCN:DU7K5$-20X41=I$DZ+LHL]U&<6"+UN)W&YL%\B& M6,JY]S(AENVW1S;Y^$&%4=18FJ+V6%?.JEL::A<8 MY.>PF&#$TQ_0(]XB%\ M@O^*TDS+%X"-A#.;)U>2'[W?EM!>YN;1;S[Z@W!LK6%(LO>36C]5ZE9%VQ2 MR*I\#RQ:Q='3>Q%BZT-:'B85O>])7I^8G)PU6B+2SX]VWS^H58*D4Y^=GUZ< MG)V?7YR?79[D+\9WFJK**7#([%2<15>3\:FIJTZE_*NS?R39[7I-ZEL*<_YI;WW63S<4 M2:+WZ\VCA_>/I)XIM[#E7CM3@*%LMR'&8=<%SR@&X@VX\RT#3W %0XSP6]>" ME:D ]-:F:55,*7N36Y*]8<7W"\R_8H6A3\".DS!Z]!T.=5DT*EJO)W8F=GBN M[F,:+!K;?GEN>U^GL"*I;NJZ_C9=?P2<,\* >266+F)%'ST;DT;X[D/SWT2/B-6F9@A0U MBM[?OJH4BE&;VSJ(RB285ODK%/E+I"T-+#[)HBBO#PA?-65CU(99(H2:M'1:27HU(DQ\&P4AMNP(BXRX*Y-8K6RH^+Q1J#@;PJ@PAL,+%Y^= MGIR-3RY/QN/3R;GLN_+-PX)YX;_"X _67>SJQJ88FIKRK@CZB;-)W05UK,6; MS0WP["6>C7]47*06[6::9B44(Z!5$6:-U6\V\CM_94':O2I>-^/U*Z(B$4T+ ML&V(ILFMBP!O:8 7$==1Y:UK9EOS=2J@C I'NS"OABBR LOO^'-RUCCK8;Q2 M&QIB)I_4(V#7.R7\,3GSN^MAO$(Y.A'9-+&9-66:5AV$R/"9EI?3RWCMT"1-R EUS[$HSEV' MYDV^0%J?C1F;(VJ^A*FES#J>'6QI5DC>S"F0WA"C5R7+_]TX^3.&M;>0<]GH M=)=5MS)X6R=[6W]ZK/<]64-6>7?DFMLCH7^ 2R4W:7.,_D+\,CU7?"V!C:< M0^#D;[6D3E@IT*CXX(& 39NH#+V!5O8H)5N>"K:VO#LWFRW[M0V:@N\4Y3R> MC,]/A@1)71+J^JJ3^CW33D1CT5U3KLM@8%2;6:TEY;*$=2,2KUZ0OP8HW)!' MJ?\5P36Y8"J;=W71*.\J&\'(\IS1=@P'E7?5W8L8F?!?7(*.' ;$GL!@=S?- MCHA5AU+"I2G1Q#2E=<=YEHO*C_X+=#5-P8U45K%LU!5!GROSTYGFYQ<(=#4- M,K5U+ ,7#OO#@LL7$"Y])_T9. \^F@;[J?7L9(8&)/L#+PXF1.#54"Q=>XG: M"C5VCP)%ZQ*?1YVI:7J"C]TIAR]-P>!C"UL^?<''R61\ULV[\2(R%0X^IFST M,_C8*QUPV3 D/99J:7GQ1'Y'4[2GZ=A34P"]]Z)2^?X:@'GD/L$YS2$BT-,T MS-14L@1:.+QKJ0K2+F#N !XK>=\&4E^2RC<9+ 2X3"H*]=$JP+1>9VI;B8)4 MO:%HOM!FL*KG+!'%NA_5>TS[?:54'04RDK0\& M%2Q^6WF:27/0]<&"**[!_058Y.>X7J]R1M1B)1H]IQGWT/9C\0$ M!JQ JC+ZQ?ET.AE?=NOP%-%[H<2@5D$8$HS=,GFSRQV)#4%4/KDLP;K/5@.R6805*1KL;J75); M8GH7XMX0Q=\!!#\M\NS"HX=7Q8B,G^0E,M8 5A=C%=V2\9>6#<,AE1T86G\H M:\=$5C>0FW##ZF(:)J1UQ%*S(+N&S/9'#Y])01"^DFL2WZPUT[!7-S97FX*J M*&M3@E%#])C;MVS_^2L$"(MMN7D"G\ 5V\,S.INFYPZW\;)2TED\I.F>KLR+ M])Z>2L-8R,BK4'"C)R4)TVS'H[>.PB"6PUALAU_N8:S*:VN)H7E!]@W6\T1: MSY/#UC.+?4/2BZJ&?2JMY],J1L\FX_.K@] SBWU#EO.;*( >"(*I_:\(!C!6 M GV31VEMK'Y;VM7)B$51=+B3RQ!5?))_(L ^QW/[F08@&86*P8'/;H>W9"BE M J8N-EZA]68C\.T%NB!X"AUZG3IZZSYHEZ^?G9[KL-OG.U JS.D3)RM9Z3=, M UQG7@9MPNRZ_%+SV^VQ9"KB^+Q+[KQ^0\0>&PME_-43DIGW]20P=6L%2RP^ M\A^24/9)*@M5BH&"+>'^IF&LGK[+N&DF@-[C9Q=TV+(\F^]^&4N9&RFC=QTJ M:FKSKO6M.]EG6QNC)V?6Y9@4/PUTN7<:;"H$HUYW5>8GNO57']"+)4$14#QQ.;:I M)C73P-:%L5(I.JT7G5I?+<4EDVEITQB>6TJF05,E3)J D"T@HVPD92U] 6CN MHY7EV> -LQ3,L9CP*/&OH4\*V% 8KUI7:Y(Z#&PIEY!1[UZK*)A:Q?FM:P5! M7#MV&I #=KB1<$XT('D8F-0FJ6%=,980/D*D=DL/S5_+NV52*2/SGNWB9O_>GW71FCB@!T<+/)_216G5B,3''67$S&9V>F MF:*"4LKF10G'?0[ :TC2ZAX'2K1:,Q=KH)C0D(O5/4YD%-HX%ZM[8- <"^[R M%^1'ZT?/IJ=@E1KU09=\;>P?^X6X-$^%#U&(MV./WAQ9Y(*@37[ZU7<=4C_F MR66H5:CC(%5=G_,^/Q'X #T8@B?X"9Q'K#1O ?'RET0-;C;).[O$E\"ZC"=. MP33<:-H6-)7(0/&TXYR\XLR^M"='Q31<-06 %*2$!6+(K:[L_;!7X"8'LB5< M5S])+M"C1YH7UE.%EU=2 (9H^AU9#B#,LM6[W^PP="K$M2$7]"I6QVUV@/C1 MCY)0T+V"V_,.L$6@*/;291GG%VL3^]O?_70#G@D!!/@<12WPR^MF&F*D55M& M1RV6^Y"6D"96OP)\BH)V".(4ZY1'YP&+,2>TRAP_B?Y%(5U.QN/KON)"#>]- MCP[7"4 \L" /P'8?P&7,DF= XG@Y^%)&?NJ,@+\T'*[!U1%1.@5 MV/["@__&VSL'2PK.H;7=X&62*690XK]%*^ \UTDG5?&U <*T34D-JVBZ2LFE MZT_N0E0+P"Y_U%1\MP%.O5-#4-9&[3/-FB$1(FA)6F(J ,L1]VQEGE ^?9PM MVF:+C,2-RNJEG,VT"2>K7)G\5'6L:^G3Q\FP/4QV*?'!IQ&KD>0+ FL+.O?? MU\ + &X_"Y< 54ZB3L=RG%6M+#'2*M!ZDC'AGEQMN5)?76IA6E&_?9Q&NJ:1 MG,@5511:^\37\0G>^[)EFZWC>P[>X@E8 6AGKU;US>,\T+))$Q9UBO\++C;XO+>\7WW>^0==M M=8I0QE#4Z=5D/.FVKO<0)XZ,Z-/I=#6,Z43/_>(^9"_2]0A>L217CL12S%T/ M W,JE7"7\O]N?6_-JU3ZYA'ENDRTF*BS:-Z)IGOKO784Q:O:L^_9>4=<"[.D M\KO'F:)KIHB+.YLM>H+?O9XKJ;,Z_P?;)@4U@A=KPR@CT.H8CG-(KEH+D[$$<)XO.<'D-V6>SI7;DO'^SY[ MQWYT3NNWCMC7@GVNB#.(UXY:]P_BNXUG[F_%<$V+*X/<:(HZO,8Z/#U.$R.4 MD$VDVG%LSD3J=22O6K[D%-C&70WJQX^S2=NM#SF99Y.G=A"<,WEZ?=!_IC[^ MHO@KQ^F@\1(4$_>-X]UFW.?CA**K0Y6'CC.F5#* -(W@NIUCHZ:0,^FT8QEY M7SLB5X&%K"7D;"(T#BLKL93T1R"@[\SF[W %,BX?@SO@1'9(PNT*>@VEWP!<+/$.>OJ) MS[X+P,VK:4+RB-C"TZFJ)9F!MVGHE%<@O\L=Q OR'\A#,(]>_!Y,HK)/X)&' M(+.BHV_0LT&N&,(=/B%.[3"R)#(FFWTGKYZKDY,#]6VW*]X,_6;< &X)^_<6 M\DB%W!EZ\H- ^Q20_]QQ)LC/!$52SB;$<&\!YV01U^8$SJT?R*2/40@<0XK9D.E.@J_.31[ 7'J!I6]+9]&AZ&U;5]! /Q^.5 MZQ,; 3+8W.+UB \ST'+3U#2\C,4'[[4+\%KE_#,*0B*Q^OE8:C]ZQ#XKN-Z" MK#/TZ[D+:R3V;ZTU#$N'1Z$^16F,L33&AXJY6J+*@#.0*YUJYUVM@@%JOG?$-=^SH4O, MV9PPX\JIH#%]]WG7046[':%'-:FBTLHJY TDT*=V^BFHWJ7CZT?8Z[.X*(8_Z+\A*2R\ XD,!?EK^2>0YW\W8W6VF; M7:&^1_A5)6/*BRS#G=H'H\K(^^O/>:4\80;BW^[_,N6MI!:R3<(4 ]M'ZY^P MX4\^2MS5KA]$NP=)P! > M^>P'UM@/7:\5VS?MQ=>&;9??)ZV'KR2?6Z.%I!J\VG9U,C&QPEY!*16A(14< M#^T=>OK#Q)36IN% B5;INQH1[H>&B31=A?G$,+>?:3B14:@8'/CLFO>P?;PQ M(-OS^(EV'S$?LZ72:E <)+E12,>IV*?K$S#J!X-GC#+ 5SRXXC+/%%PPD*4]Q,Z>&A $#Q9$?[?<:-_%)MM]:$AIRKJB]X4T9U2;3BC69 MS'#9M%!ZE7]_0-_7CC.!/A.Z$/W@O4O]?O?P.$7T+Q8\T1OE&NNB.N01A-4@ M9,I*D3NL<L@.W;J?F!16V\V M]>(#;E3Z$CFR-[*IHCFWYL%']M%'_N M?XWP!P\O4[;]0B\F9,H:::8*2E&=*5NT'D/)D&J:*=L]#I1HM6:F[$ QH2%3 MMGN MHL 6P3%95BQSM'O$2*NV:;*L6B-BB&O-H-S&04!*E12,BG'T)+>QUP!2+@:C M0@"&Y3:>]^BJ1S52FK*NR-5O3#'E T]1ZS6@S9%?*Y&&87U?3NMY##)CF+!3N KTY3ECI M;PHH%Z??A8GO!K-U65[P=$F%>GCO/.NA:0)<]VK7I;.:.7$\C>\6D]9KS+:4 MZ]8])&04U3C73>D4I\6&W27>7CW )3U7;:])'U3"%^I^0%> 1PU^4D4:_ 7Y MT?K18Y3F+#4:JA8%N%3DD.LDNS!;=QA+TS::1[&Y,B1,0TE[*W)C*1GE]FT# M=[\!N%CB(_7T$R!\A/X:@'GD/L$Y[9S0A*1IN&R,EEH E!./HN6+EDER;L"> ML\*3(7A*%R-R +!3(!"MED\69I1-T_U\#NP0"VQ;)NS5"@%Q5WHV=*&5\ATS MC/^8-*^03=5>2Q5MT]"F !I[^S6MDM*:UG!J@+7;.FY?P2?P2IF7$CT'C;2F MGF8R$=Q;R,.L!2\ Q?S6 M7+]I9$P!7B?KM)10%!7.IWF333A[T.12M4;7)6,*X)1B0\JK+"X6HU;8-@&7 M&OCFD$L)'4$G(YA65DS-:;^I?S-7MF#VX<)%XFJ22_8]/QGO)_NFU$EZ[^X# M(W_W!?,3?%,6,F\<0=EO,%S>1D'HKP#B1!&%>[=K8M)AO0*2/X/A7JG^;28\ M7!$'Y#Q?SX*5YJN&N"FFJ"8.\N9&HT!,3/FL$@]9NX/9_ 5!FYQZZ G 8IV+ MLKC"LC@W 1PZ-%R&4P,1];E\'I]M9D*Q:'?3H-5 VW6@PQ!"G\%#GH.;>LX7 M"V^VH.4&F2 J\V+%.O4/* S=EJ%2@_FNTZ"[WQ9MO_==J/8^TSJ9 ;Q7==ZYYHYI$J#7; M35%B>17KVPK"7WP'SJ$=LSZ;9TVK8I6^O+<:4/D]P+N8U6 MD6N1U/M;*[277]=3YY_X[Z3"RKN?:DX(K1J_=+" ;ENFK>36&1#AD@UT3>0# M7;A#\I%CR.L8\A+Q?EP?0UZ5 C$QY-68W;?00N&=%0)&:$SM1PP%FP[$:( G M7Y3&14L"%.:@C'_:P1C_\/NKY2VJT%?XVT&"AB\!X^J&B.BZ,O2U]U=3],U7 M086Z&"SHK(W&D?T7#-15M*)*O_!WX^3/&%91 WPV^F8@OUC?V8K+_[W'BN.R M0;5V/=MS=16L/9!ELR4Q#NNB0WH?D/FOTI*7\FZ>T_I[MZ,\,B**1^=NYTX=[]Z']!U@?,*; _ MR>8DN(T0HC]N1N]0F GC$SP3+DRP''62#4)S0 7"AF7D,N2@<' MD-R#5K*GD-)32A6G$'='_G@4J7,4J9.\>9?B+U,UW134(#,40Z"*]:Y/*74 M,K5M%.&!^0&IL_@) SSDNBAAT#H(J,CRW_NS"E,:\OO/_:X# $UC=E4=43K9 M@7*PT(#2 *"AFGL-EP ,LB;;H$'V-FL=NU(B,@ 8*62\W\<8_ MKL4!@D=X> M2']]L\FD\8XU-_6<3%#D1]ESSCG]G%/\_,B?CU#ZMX_-R$Z',")?&%F>,[*S M8U'\F^-YJ(O0# 4QK&QZ5I?BG!KWV9A(LVEBYOL;EC8@UXNRFGIO8$%^#!B) M[,P^IBE86DME1_&+\F2FLX6;V/U/'V4+=M6Z5=W( M-*4V6*@D&&1H6.W*Q%':L[4"LWEAT)4K$[.M*2J4D']1:7*<:;6.7ZP 3]LW M@#ZA#:88A_%2NV6(;B^%.IJD*3FA[UG2^MQJU=ZS[]56H&C?P>BP$<.&W)YI MNTAOOQ=(!8PS8@P&5VI67U)W/.G\4;T&6JP#"880=-Y#E<#! _P.'#+:;9H* MLRXNK7G_],Q035G34FSK=0-X,"P,A+$ZT]H.5%GR/*M9D*EI(4'X"N#J(T(! M66<$%,;I,F2]U6&=NJX:$>9XXMPQYG4S3=L*]E"U6-9:?*^K:BFA>$_X-.;M11WZSB7-QZ%X<@9ZF*;Z1PLKZKRL!TU4?9UVQ M/#<"/8N,GV+&K\R<\QQ=26B=P[PA6G_"ZR\>]4V$187W,TQ/367;WFB6HX^R M9L79-467)!UYZ;O.XVJ-_,\XB%#M&A#H,6"]2C)M2(QE-I]#&VS99NJULNUP M-2K.KAK_#OW6%MXP1G&%';:>>,V'IZI:'%/]-.W.O"1?26SF5;8=GCKEV:7> M5&@]2+F%('D,QE]@\;,725:7X6I6FNM4P1<=5,&5KS9M@*H4G3[Y/.KE^NB\KW+\@/I-$2=S(-*355*X$1.MM=UU]IC(^I;2>/ MI 'G#N!!VS!6'?ZW"V(=>LYTY:,0_CNID4L3$05)JL@/%G-:!=3T M)U@DZ/ M9".D;8VQ7\] .E2-NPP61]),:ZCRTN%+ 53VOP9@'KE/<$Z+^@OT/#S0<'CO M?=V7O*FEY2+FF@P6 %PFA_#DZ2^^[WR#KHL%]8C)>0N(CPU)Z?OL3W+I8)?E M=+",4)P.MOO**/E,OH'Q&6(,<>U8YF2+2=+H*DTL&Z985EBA=7&VG'?^I$8M MK55G?_'Y%"C(T?K#*II+KW2O81D%5:A7FE5#DD(:%EHQ0&_2DJ_0'I?!'A1: M,4 57#'N!?P%6>I%H94>BE^4)S,+K=38<_'<^*5VQJFXT2(EQMY@M,U1LFFZ M%=,.7:NR6TD99:[C!P3C=\A+Q\SKKO2;O&JX7V^7H_7J3D/#@@276IS8';HJ MMR M-78?G"CY<26#%!/I($7Y=\=HA3G1B@?HP1 \P4]0&J98 (-'H#C'+HQ98!3$ M-&JQ;F*8@\'(S2:IX.A: 2OH(4'!-$ TU&<9($UE84B,A,'&C@E2Y),919&D M8AHXFNI2"AW" C$$(>_(<@ 9*ONJV'ZS'NE86"-E/0MQW?M,WZSVTRMP8Y4% M2[CF7!RD]S@,8,@*P)!;(@QA\ ),(EU-TWV;NP*V$'H?F6)PSKHOPNMF&F)J M*U@**W36M5;5:SV@P1!![G9#_A:#/(PHA X36#+"T!P]NV@;;/NR> ;AMI@E M)X8BTK4HP\M)UU7Z%0*J-OM: VU7;0,H/V-F\WVA4*##[C1@T-1@7-?ED.X< M\0]12!R-.5'(NN)/I5WQR3='^8\>G?&=.^,9,ZL,DOOO:^ %/'Z;D#3-\#1V MV"L7AM:=MDG._PK!/&.#]/X-N)_@B^^%RQJ'-P&BID%0.8+D=N8U!:85IJW7 MX983T#^ A=Z_^4K0F=(Z@K*!G(;LQ**) G^9%CZO2>T(P4:2ZGW='7EA//@1 M_8FQ.L2.$&PBJ-[7.*@A"]Q6'0)QVR,"FPA*0^T%DQ$XG>.1*H5A@>(1BXVE MU33;MG- MAH\N,)".Q\ZQ&J+)<72I9;R4^?MN(RGMNU'7AB\6!N274!*M=DV MBO#0H?4!71A"()FT?56N+)-]9)1^)?88I]\9Y3YDOG_1,58/ M12\>E-[&V]/J703>_;?HPTZ;^FC?D=: DFD60T!%^<<05''<^]RZ\KR_C1 1 M-@?@W'X]!4@S_GKO@;I?K5U_ T"<-UC%/@4.W'ZFP:&>?LLXJ<=X[\W&; T0 M5I>WB)]TRKC>L$'"[C14A-3@6I$9^03HPS1LM[XI) -[C%^ZXSUO7]&RB/'K MSNN:2TBY/)-%^3/D1NZ3[RWP(K$BPR:/&S)N[%OC].;Z?-_W>(5TD>QH!FO'*L@;+K"&5K;]_IK$X\[.S) M?K"^U- 4:&C6;I7E$!*%(5;_%7SZ[B?T%D41,97-['.P>I>7BB)';AW+0(T; MKU8 V=!RMT_O/$#/\FS,UET$_D_D@JT$H6(8WJF>^RT/U$Z=F"J6U:MH?;KKJ*I63E" MYXL51B@.*<_F>:G(AEM+==RKPJT_CK;?':VV'Q[Y\Y&+/_TC.;6-'/SQ@XG+ MGIV?7IR=7)V=GEV=GTQ:KX&05S@I/QQK9,/AAMW)1#LA*'NVF1!DM??IOGF> M=\;A%:RM33R)9_,7!#T;KBWWT1.LWM*(IFF(J@$*-K+42.2P@,>NQU*'U!%F M+$'TWF,F+PE&N95ZQ(X(8XNB]QGOTK)@5%.I1:LHUC'^?Z<'B#"J)'J?5"\O M"GJ5BEJTC@!C2J+WQ5 D1"%2":4NN4.'&5\8O:]RHC.".13$2#.LM5Y)9S<_ MGC'CF.RG;)V2ZW)%ZVJGY.X#A^%X;#VO2-W]#P.F-EVHO!E,9Z??:<7J[H@8 MHEX1E54O\$+<#4G;32^6&*!Q8;WQ5H[J(ZCP; M#P"/U7(?(L\)R,]TG[0LC:)H3B==EY(45-Z>ZUD)U\8MR%*1Y]C5#C_!3@RO M,/B#8>-974Q#17U[+\UEGWU0.V:S]T"XH4M6%_-0(*E+%AP$V>VS47CT0H"U M%!*[]_;-6C.]5M6-S86 H/[*$)!@M,_*5U\VQPCUUU\'Q!GL?7HS8?8W !?+ M$#C33[S_68 \ZAD88/0R&PMLC5;C0999K?5S.DY6+%C%D)1S> '()BI=B.4P ML@@,#SH-^-9PQ= 8%#U8-I#(;=\U'S)".%QJN [8(1Z(J+)(_S:;)W&IWO@( M^=](KH^UQG\)-[1\" D2P\)-8\XUW/RKCR6*E^O%#[%H(+ED9B/R?MA+\E0E M446.YN_DRL[R>O&](S<9G0'A"%MXM!P+4\YQHIR>T'9 M!<0T[Y#O/"]U&1 RZG"JZM:=3J7O.W>VV"_@'#,_B\(@M#SR-/JC]]L2VLNL MZ_UW>TDBQDX50E32'Q"/OC-10BUYU"1 M(L=PAIBF'E_:J]4=>^NHPAA3@2/6?6CH:8YR9>MV%!I!:W&53,+@.W?A &OR _H.>_4-H/"QIR;&:8 M,,/-VQ@3OUC0"YXPLR"8>???0SPA(A@LB1R3)9>"#6Z_86&D'KL95LSP#BL- M8PN$J8>% "YGF;('XHZM"KN_ I)2BK'?)&N!3J0HUHN>GY 5\)Y!:B!NVT8/ MC_4>#CS.LA2XIIY8FE]-]H$9H0AREH?QZ.WJUU8=.F2Z#D/OC3G.\#"0S%KM M+U/V%2@->,T@HNMIRHY=\2\ C\2!]DN:AI%-&B%'/*WSL$#3@.<,/'IS;%LO M&'UK>98#+:^P\8+RY://!,I'XU^F7\O^NOO>8523OCB]O+@^&5].3D^OQQ>3 MJZOK;DU&H_+2ET88 T$I\VP!G3_JC9T>EXXV0W4BTJ\^&0AQ9ZCB&E>![EYY MPBK@:X_!H!K]"1=TSM8F4F58IEYSN9_IZF+(?.] 5IM;\PJC//@(P(6W%]BB M*YK5WA0%-]/1GJZE&>[]*YH:KK=W/]GK+ZPR#/;_CQGR'B29)WK3?B+P>9H]1[U-3A5NM-^=->I1A<]>.FNY#5J.1,ZTWV MTW8\ME7URN2H:HG$:WQR Z/]EI+@PT;3=YIZ&'_)([EW2 T M,1$,313^8*>?'EF>,X+' ,8Q@-%D(])+.]9" (._-AJPPFD(8/02#PP%-@E@ M] (#&@(89F* J:,F 0R>FGL>P#!)FX*JJ!? ,$N/1T^*@79>B2=%S[E&UI.B M$*#).P7/OF='B&B-B[[]#@5IG9Y@:9WU#EKUC\9"TAA6TO<>\SO>M^&NV3PI MD08M]\4/(.'VGAR$ XAG\+V'58)B1(AAK<$'S,6F$&ZXP%,M&K6A1',PRE]3 M*YYK,0HO[=DR%C#TK'ZM)X_OL:S);@W.6M6S44?+1,$>*15)*D7.O-WOG@%_ M T;I9RYZVK!=,D)I&A3E%$.ZZ!Y2N3GWZ-G^"LS0K;_"["W)=",:(;^L9]L4 M?,-%4@1/H:8K^:MFSIGP:=R]$!2JX(7"!GJ:A MHJZ"):#"8;[#NR7-]\)X-W\38>'BO3QQ/#SBLM MJF&NM0>US$Y#T"CSPS7+)8QP2V,GU&C1:>'RV M^_Q2E,!C<-.59T?4U52](TV[*8L[B*?%A MV7^\(\L++#OVE"=ON, 05AH1J;Z]AT1S;K46-6L]#DP3Q=3S(LM])>ITT^2I5IHX\+DM"H&33YV61%$%A:(\)UB>%\,"D2C/*88& M\K0KD09>BJL$DL6QZ7DI8IT'A9R:[*:@J?W&JVEO<,4R((\@BX2;\^T& P8Q MSE*]5SWWVED&9/$H1UB@**_Y+(20S8+JLE.=QS M)C&_HVFXJ#VK:[*: D7/$[RM^SNJ$[$VM\Q+0NQ.I@&DIIYYED2([6%9%;8 MQ!+ GZ#@&E2?O&D K($;6? U%(Y 7I0I8./>8.3V,PT>NNT3A_-A77BER$ . M*X>&$!8N&I>4\T/+I>*BE3STARC$__X"/9(0%_\J'[U71)+ M+TI(.AV]5.QIFXZ>#&*4CB+-.<_&,8H',L(C^='>#F4_0_V8EJ[/0. )E>GB M+N*=D61(%*?6:><5J_DI[8VY&]:>MRHDOC6<.9$\8ZOP_@VXG^"+[X5+ZLO% M-JY5;P]^!$UE5N2S!%M8B+1FHMC-MC@IPK;1L@*L$I1-,T$$G*AF@&J MKYY#W+"1%P+G_KN-FW+>\:Y!Z]#A)B471C92+XL?:0CL#!)!,IPK2F6A7;MH M-<@S"Y< /7IS'ZUBBJ_ )A?XS=Z!CBK14L M'US_VU:XN^)R0LEMPOU-LQ/\J$TSUH85LBG.>,[EFNK&I@&@F7IYJP23ZV%% M4HJ,_P;@8HDM]A0O8=8"O )202'[([F@-A9"#9^,:7B2#0/7Y'!8L1&F2.[2 MK3FY2_0"D"V:H,8G4Y3L>>=^G(;8$>6PE3B'YJWIK;]:P3"KB$L>1L%" 9X= MF^V%YY#\1%+0N?B#>K^"OF[ST9^YP2/01!A M<'O.+ J#$"N!\I(IM;%I\[N6,K97O^78-/1-[.WZA@U4?+PCQ5(^7+B(]3#S M")/ >4'^/X%=VEG6H# L""C@7=<;VYKM_2M8^R@DR9MO8%'CM=#3LH7?D1QE M-,VWY^E(D[&3TPK;=-.;MWQ!VEX")R+E2_9'E//RW&S2/S+K&LM3,LT&\'18 MN"VMB%U#2I)N;]/<1 'T\/DZFWF,8J3,/L;I5I&^*I @+093=)Z,DUE:M-#& M.)U*2[Y">UP&U6B+LNWZBC<;=^D8*BMW4EH51WK1?=5RKACW=DR"+ E VBQX:JBHEGO=2'*DU;?5ONU8>CKP!.O7*I 5^-0H6\!K"L-74>>UB#T M')&Y,IN7#T$4X- [& >7NDHMXT.2Z6$]*?H*/H$7 5(F,GLE^C<8+F^C(/17 M -U_M]V(^(K(A5?\?\Z[]9V"G1J4!@PJ5=(P*EY#]!CNLYG9?,8JK M9K)@UP'JO#'[&NY3=.-$3YG$A^1WD@J=E,.XV?P"_ 6RUDMH3Q&P9#WMI5(- M59YV\MOXVW%T-?[Z*/G\Z&,SV@U@1$9P],MK]\NGVH@+C9.Z1@CC.=OEQ 52 M?&_Q!#^!DRA)S$5?AVAQPEUV7B*FGK=>&><=ON>V]7ON9B,V$=7O'%+;&J=. M]2K:X4!>$EVJ-P%V?IB5/GIF6U/4*R_Y/:U),:C55__L>U\]& (GYJ?ZH2UZ M0Z,4(B74O?V9.'>&Q+DD[0G/^5N7G"D :,7@:A%6U_YBC>Z9[N&@5%-R+AN> MN6AR-TN%@G-',+:2*QL>DJ+%!<"8R_MO[FD^?'^)W!""U=KU-P"1QYLD,]C. MRAEL!9*CF*;Y)^47/PB3,<Q.V'-GY^=GUY,KL?7X_.3TY-) MZ^\H[E:YLI[%SLJ4?D547W7N?JNA"=8Y689K8_9Y(43Q.8.,]]E:L5[2KFY< M8._LK'.EUM-'U39,F%MCE?03\.TMN:KAB'=O7V/%(]:-?,"U\ E6S;/P7LZM$D7 K:*N)V&I*MZS%+W MJTJ>V?0C4EG!N[5<./>1!RTR2(PH!P3O"(^2#([A<)+I7^2.)'5->JO*QGQ3 MLP14:/4+]#P0X!,1/HKZ"!^NA,PEO]>0-%B36VK07\GBYGO8+D3)\ZW%826@ M\E$9>(SUKSZY(6E:M1BHH7X5$-A>Y[[W%GBI $C$"G,[#4F=]9BEUAQ4H;1* M5.$!860]^V@/63,/T#59C]*0U*M0 HI* KJ=I_*6C^"\4!&CAVE@4>5ID&79 MT)A.F8WD%>XXUQA^1&2409;8GDZ2N%GEEJXN,=- (JO<_4CET74A!O3U) M67Z#"P_.H6TEACLO'5$[PZ#JMG M1$(0A":)/!5SI!Z0U[I5&&)BHLM1BO&E08 /NG MA?_YWW_EFW2M60BLB*M6^MM'*I.4N'%&PRJB>)MK9?.4)K6@*F-:J3,IP M:,$TH3Y%+BXQ%]U>LFA@4.OSV_N:)Q2N4[\/(D=N!&*FT";?B/GP6C.BI@"K M/BJ$G1)-)#*L)U,H KKU@_ 5V/["@__>>2S%X%;L>T"H$F"\ZQP %7B)AYEW M%F[?H;MUK2" .')V!XDB!$+0&UEI//:J2"9%M-%109EPNW793#;3'9'V.ZHSSA?@7^HQ:8AO4, C2'?$=&^$Z\F^;(BY M/&JHZZY,=TS''\L3PF<)W>ZJA@,Z;VPF"YNI.P$>5;Q%> 5BN_4 M$^AFJG(8DMZSAG695'0:=]7E4]__*\*3F@R;_(WQO$)%N_[K49BKKD_"];8L M/,^M4%]3M*QJ*6S.?#_!D*_8F[Y_^L5"?X#P%A\LR MY"-H@^(H/%8_DB(*M M6OQP7I;V3][A\[WXZ/&^M,);/W*=&_ 2(7M)#B(WFQ<+A="&:ZO\RH)IP^L3 MI-E0E(-UYS+N_=60MR569NE$GQ/QS6;7)'W+?/K-0DXFP_BOP30*EWC_0'=6 M*__.$"'?KK T7S]I_YDE15+[M*!+EMT''_V"^U(+>&OZW!'8BF36BF.^$X?K M*PA"O++%:1?X[R0#0_+.PT6Y1#_5"4OJ]&??2UJ-XB\>K'?V]_9-V^Y)-=X, M"FA32/!)W6;T33%>,JJL,%-:Q=&ASZ1;K_/U9#RY-J3V@ [%RGBG4UD, 0NU MO=C=XX&K'SDO=O=*Y3I%@\G)^'3J.:+.T7)[4W7(4 C522K(7>]/^8GAPA]@ MV.U"&].4W+;AY@M#T>FY$\M=7X8[N7B.D/W7\2G3P,D'2XV3L"JY]'F'477. M?7W[RKQ)R.QC&G):0T$9@/)RZC.2_DZN!WH+QO*7:V$<2EI>_'BB4.18ZQ(( MS#6KT,8T,/"40U7G0-<(RI2(,8^G!9XZM *<-2@8"@8IP]^4W=X?AO@">/_F M-T3,EL)A((;-;M?I)6T@!G^IJ97)T3@0U' 8[OTMT]KA3EJ>FSK"!8&?GTS& M5Z:\$=G.'E>3!!5=\NEN)_7!%\E'Y5DT-1&O<+%D/%ZH]5O&85H/QBA@;D6: M6F]?]S9CJ-ODMX-#NG9):MBP#@#E)N7%'3&O2:##NLU>6W1)B/@Q?D@HWG/. MR$LD[TO+F\42"9Y][Q.OF\!Y]5T72Y1T4CTA:@WB.$VZ$W,K5_R'-'D2"]7= MO$F^/Y@IHP[)G4POAC84G3O6 $\G4JL.A4.>7_'R'CQZ+S&[K4^OXN>/LZO3 MV26@C.-Q1TR4?X^5V]FT*G[^.*TZG58"RFAZE+I.II4'%N3:POO09Q?6[!S M+B=8:01%M8XGX]/+XQQK;XZ)Z:/IH:LXS88\PXP^=AUGETG'KN+<*C]]7>?8 M=>^59U?KU?=;D.=O@$32@),6I(@WX'?8MCQ8$/W= MB?F_DT*FSW[X#Y![]7)'*>FT/[DIN.UL/ <[%#J[KHZSBRG;9$G$&^+T M5Z3=N.TI53F(XSSJ3LSIY+D>7IUY+(.YCU:69X/ZA>9/)0K-YSYXK#1/RI.W M?Z;L9:7Y\U-\R)]T:O%$5%EQC-,JCC[7=6M6LM@ 0.A5;<7ABBN,/L.AO@S- M*UEL #CY8*GAM=X6_&@:*E=8XO!.-*\HNHN](V[/W5%)7S M55"A+OV3M#6%?8$>7$4KJLH*?S=.:8QA%=7&9Z-WBK.^LQ67_WN/%<=EPS@3 MV4:X^ZGE:JJ'LR9KEF"'#PU0'M**N?C@,_I1N0'./U?];J$%V/<+:OE&4;1G MD_')J=FGB'I@V:&R/2D>RZ&6RL@F<1-:5$SE)PX.UZT)\7A+95!%((]3HTTQ M'^^!#* :28^GC#HD=S*]&-HXWHX>2!'(X^QJ>78)*..XY^M]$AG('J^$!GH5 M&^M![+<\/,&5VIR:./\U@!\CBW#9W;*M1Y]+,> M*T >I[9Q4UN%.H^1_X.N 'F!=T;V:SDU5.3PW]K&. M6&55JQZOQ+*N:;,D/JRWB Z^CMAQ'K4IYE;JJ&JN(_;HX5^"=^L[D*P3=GDR MWJ\3EM :Q<3,KP"VY7S' Z?X%Z,'QL?Y]=GIV=7%Y>GE]5%ZX<%#(9X MAC&K>14:%5%]@5'=[9/4L@*NV,OR^6,$;-1N"]77#NE>0P+RW2F%SXF +M1L M(O04]NA.'WS15JB!P0)5$4;7Z#! _HQA%37 9Z-+'=0OM]$K'7#9H ;[].M@ M:UI_ ?X"6>LEM"V7LCY0VYJBF]KKA1QGC-ALJ^O'&UCLC[FR8B&SK2FZDU?# MG@JE&-1@]0)@_[3P/W^V_<@+T2917/K#3F_I+WZ_G>XI:?>'XH O\8"ON].( ME%1W&N%PHW/1J7-X>>*5_BDU-$5)M4R>)%M: ]9G;2L].>X]^4'P@"5XZWLA M]"+H+69K@&*-!3=@[A=\%'@7%8_VT<,\@""<>DZ12A*3^ +"I8__0IP_<61" MZ&3?ZDB,A2T;@67HFB([K:5]^C W\') *L78ZC">430-JZ9 3LED8 I9*ZA/ M>P#J!_PC7- J?](2T1DBS9*PHG?83H _?'$QCMM/'T&Z !^8PK)*3:'A! MG))I*&ZXB6C.N]9D[=:Q=1LA(G%U$*M/T#2DJ6*A#$7%,FHMW"2/JP> AV:Y M)1[9X*'U,@TABO5(!8J4/(:UGTLE$%M]O/MXPA^111.[[Z%BJH94M*Y\K1]_ ML[F5;"1E+12EUZ&B24H>PW(QLD5<:Y=4E-H5EEJW117:0I&,.%1=PR#Y>MV# MZ"X=L[I]> .*IL%/'^Y4"TD@6-SZ3CSC,=U$RMDILW/ M,T$4MI/U,"9"XG"15ELZP]JU;R=>LN&L:]_,YL$/XN8NIOF*Q M[XDCZB5$MZPCBXBXL&_O,5LP; )0'=$CI!L+BZUKS7T X;[!T'2X@[B MCD3!D#!?&YP\TD?(ZA*BUL)51L+XV2=U!2+<[,,%J?Z^ ,L-\ )T3U(:0PMZ MY*C1 ,_"WS@"6[LTM9::D44XY;7HNE+(UQ1)7R+>0ZUJ\@<+V%8$V4IE%Z.L M\>V2W*1^]#+O(&XT#0(0!J0\6Z(?U_6_69[=Q+4@\96#!7B;\DQQ?JDI&=]( MI,=UT:;./Z/T.D0#..^3.F)6E=!28%X9L5G0!,LJ-4B!L8I 09H7)UA1'9=$ MK1LP:,BRUO/4M<[=9F6(;XX'LG_?2WR'*4RR]^C1)@15IY?*"*@LGIJGQ>)] ML.\1ZSN;E_8.Q $,K0]LKT,(N#>*Y"GU'F2J>6><-CI/'=OR\PS"V;R\K11, M=!4E8QHV5*F8GH;12#(F7BXK,8;_D?VNXAB.A9AN2X.LI&O^SZ*X:O01TU"G M!!L"D%,O-*TQ[',UVRX!,;QBE:-/0&;XU+919+G!;S[Z X^*@4VUQ >.R1:$ M-:R[X"59I;M8;T%*,]Q:"&WFR;,/M$.D!(6B/,=# Y\JB1B57RMJ[>Y@8!%Y MD0Q0^D%2H-O 0=)(#$:]0Z1T'7P"%A[2;MNK;A'\#!IRH-(R*@XKN(V^M-0PMESRF1*8,5L 2SZ0[\ E< M?UV1T5>32E%@DZ'!1Z544AA='\Q>,$XRJ+]2QMT'CB\EXLC\O2=&&"@M42^) MR-:A(H;&>H:.QN$ HZ/FC8/EW"#B8)'44" 9OHPLZ5/DXP7Y:X#"S8MK>:12 M,ZG-7+47JDG%-+PT5"S3YM261]/@).>RF.PAC;^=+G *UA;,%F1R,JW:XL@3 M* KJ% OJ9!C 422*ID%$#F;4A[1S?,9NXL1D*AK9^[*F/ 3.O#Z#%PY-250 :9IF%/VO7VB_:W MR#8B_HE'[ZN'@.TO/!('QF+)[FD\!J_X[YC'#W?S@F<6*7U!W4'7H'4@0%,G MF\Q]:$9\E+*L;;T8B?F=S9.BE6 V?X(KF"@T2'Y+J@.F]:W^3X1@X$ [_NL7 MZ,%5M*I:^]11+TKX?&C'NS:DE>'1C"*C&O%H?=>)QX3Z$8^-I97AT8PJHLSH MBN7.Y@_0MH@LK$U"NQVU+DZNJ^ AO M3XN^21/L/7 PJ9!&!BLS;F29E:@V6, (LYZAH^EE*;=SU[A&O\)%YUE%7?L5 M+HH7RYMZQTMHD74H4/8K17X>$GY$W)1"'0<.BH:"R+#1U(]=PD;K2\Q>U;XY MQ15R_]UV(P=ZBV3"!"])&6#\BW?__KNU@E[<_!6$$?*"5]]U4W%2S)'NSYH& MW]K5ISH1E-9;;JU#G"(R"C(IK4T#5">X*,-31EJ*J@:M8[.,)Q0*N\^-HGF. MTS,,.0-'+HF /6#MI4\L)^L*.2C[ 8Q])W)0E"1>U,5EY]Y\LY&K0KC#*DE$ M$51V/"\*ZH6,LRG I4@?X2T#[^:B'5IJM)0=4 )O*=)'>#>WWC7@K<>!:,KV MI-H*O($P=.-#2O ;#)>X/=%?%"[)Z.E)NDJ_<81[2\9-ZTB9]L0:16*O MR5LQ>/871/9DK0,PFT_7:Q?:)+I0%?^4PW^3+Q4U1-YAN#S.@O8DW;0654_F M0A,'R!&3-:2ER*V6.$#N/?H]T[_^G%?($QYS_-O]7Z;LE%1"G..88F#[:/V3 M[:^2S][A7[A^$"%P!S^A SPG?A'.0D281*YO2ZRT.X#%ZVZQE4 ? \!>:9K M^UL8DD^>C:].QJ,?1SO*\0\I\9'E.:.,_ C3'\4?&/TI_<2?,;65ZP4,<9&/ M?>#U\8=VWX'9$PFG7 2M.8;0^?79Z=G5^<7X^OSJ\N2R]4S46W^U(N\%^_8? M6[7L%&V[^#\T![](U^(DN>[M8YN0U)=/L-P,42;VJGV-A8"_ ^P&("39BU/$2*W M6%EOAC8G?" PU"2HWN^8*.*^@VZ$?UN2NISAHU$Y$,RID(JJ!U]R931:?HEV M;WM2_=JOH#]"X*E@ ^#4<$?6@&E%$<,NE\I][EG[KG)Q=78P[:,G.SR?WTSKC2*$NF,&$NR76-BTZ-1 T]E8V#$B%0UY1V<4%J+S];*S#] M#FGGXGP3X_2I0A5E#7-9-DQ[=_[*@K37EHN-3-,@5]1T[3 84J,?R@V]Q'"0 M4023D_'IU'-(FR^ '$FK+N:QVINJ#H9L=PJIQYV&R(D*K;ZD&Z0GWUN\ [1Z M!7BG$]\7Q*S1E2O0K?\ZKLNDHJVQV\7A>4JRA=[Q!QA+8Z&-:6K6M#;R>:9J MO>4M[]8#G7]L/.^&OMF4O=3Q[?$MBYXCM,3J^)1I<.+KO6*GW)9<#-F/O0)\ MD( V\4B3@\97CZ2QOGVM7#V$^A29)<\*GG5K4]I2:!E+\G)2M-%0M_H$*,RA M"/^T0Q#^X?=WXDN9S1\]AZ29199;L?)0VQF'%+6KCQS?C$B/6J>KK$;)Q8U7 MX"9)ZDNX?O?O\3XJW%2N+C4HF((".75QU%R#9;WGO]7:]3< !+/Y0Q1&"#QZ M$((,GUV:<"25I&*W8&@K:/T2J$$>']IY::[&OX4YG9WGXQ3R)%PN1$D@@>]QL%U81>*2R-DE3,%8+#.4- MHW)1#"OE-R>>-'\KN4KZ;Y&['_L]3(&.-MTSX24D#:WH:;UZ2(Y[+-(9B@MA M.;%HLY@Y'T6TGH>-)BFI:*U)T[U->@R"2-P>):T/&SU<2:C*@C04,?P$6U:7 M(W;XXM!:2J5U ,6,)]/E+D*8YZ2@3"**[%B:V.4(V4LK '&HDY4')$^M*.?) M(DFIZ[WI17>^I'K MW(!,<,[-!JLMA#9<6^6[6*8-[X"F0B]$K[6"L5E[C^I0:YU]1S6E X*V:BFE M*-3SF*6B9[ARO%9SEL738581_\%'[\AR*A]$^O_;N]:=MF$H_"KY-6W2-M1Q MUZ9)#-B$- $K[ %"XZ)(;8*29L#;SW:34*?U-3Z.FU2:- 2^Y'S^?#D^%YNW M-B":02!54JWM(YC;L."=IPG>4G*:]6OY\X*\S'B')H4P466[1@?$3T# JLOM MMB]E\H*@G*'R;$0/1=4AYR)<<&-K +L<(LM=PUG- M 1@+C_L9(%HEKM$S_9/1FEQ7'B(KS8&I^ 45:.J<8;=9.D$HRLE$(W*3=YX8 M)9$7T"2KQ\*WC^$[Z3NOS#"I* 5C#').*/):V"1<\$[>ER_D1][VJU9Y@-1J M 4S%KYZ\VWE;?;15EZV6K?K"2$M>6Q!H],M)@D5(T7=+7,D7#D&20$8U)4SZ ME@F&A4#3DTNM\HY;FM@XRB?3Z7HE]]*1U-JQ2A444'^OSI(3<8WR=R3M4Q1F MKS=3+!T&A:*T6D(WK]$7I;Q&GX+JDY9_#ZHN ]+GQZ#^KJ#ZL.!=.'_Z6KY^ MP)0>:I*DXR.,]M'^P>'H9#0Z.1IFDJ0#/&T/.UW+#,9IPT67#1 \">MNF0K" M@Q&U,1@;;@:D,GL7@FW3!+1-^2.ZYZ"<+ 8V'%NX;#-/F:.0,-7$AI*^L<39 MB*^3316=KO-7M5_8BH<\CF)\%KT+R9Y !19L;=SRWI$'9IO3DU^@OG>F@J]\ M-YD6-]-[/)_RD#HAB3XP?),D^">::(H7@K["R4H"V?J5D70/MEA.NPL M][L1G2RZBAEC!9H,H!MGR0)@Q[BKE)$F(G*#=.@+L[NC)F=Z MN$/;J[G!V_!-AX6U1E#?O[,I_M2S)"G"V1@]I5F3]/ =[DC?/*$X1QO41<57 MTO\IP@S_-WMUR/M&GSOJ0U-?!7!0&[5?GO/=I)08-K$AH 3-@N*7=SVWA\L7&L*YUW/KK M%.M0 'M$^A4%:U_T::9T3FKN[&!A@MV[G*:0<9N<.H1Y&]XEM2OO"65%Q;2PSW$31)&.FO+,TWVC35:@Z(%VU1L:1@ MSCR(_W 2YMUK,K7#I%_Y,>\S%&+L7JF\2US%JAF_@B\,LJ1X:0IJ:4M:6V&Z MN7 =HZ?Z6B-]S,+Y6RCGV9SD^7+9&!DSI;9O4U_GF: M+R37.:K5>\>B5H+WR[:W>9\?(^)EC>?3VX;_5L;DP*32((OV<>?>S4!G*&,H MG%C9H&/UT0R15WIKOX^?<8+5U#B<7273-)O3#OXF81'%N)16,#Z6<+06C%]V M%]3]!76'P4J/P?NZSP_^Q]<+P7N37Z+X:K?B>&%288K,S5VG#=^6'\-19A:@ MUO)O?3CC&/U#28'(E=AYFE!!R8.TYT6^2.4LSQ'^%]V'+QPR M&;3D&Z7:\V&=8[9@ ;:R.C?CT[M[O.5/8][JM%)B"$21B:L0&NO\( MMVJM%QC"$$JD[9=R?8T65PD^PB+!\#-EAL N<"6U&/>.G[LF@:784:4M;RZ M$Y <.7G%6:Q.,%;[VWZZU!(5X!*W6Q[\"/-XHD@"6M8W!F@-GWST^3("G^R< M'PJ:DE_$LV+!=VW?7+KG;!!)V3>'W8;_/.O=L9* 4[)SZ#;C&X,L["A6(-CZ MA!"J*(AV(*TV?&.2%1J8LPM\)[/SM!\4S\JE6S45LV8KP^::%BI.'B9H8>^A M?>5H\ODQ_;>')M&RNZLDC_%WDT<+"6PKN?F4S#BGIX<8B*8=IVPT*%L-&LVJ M6FF(R-_VEBPN?_?]/U!+ P04 " !(C5I8.?0(K/- ! 6X2X %0 '!R M:6TM,C R,S$R,S%X,3!K+FAT;>Q]:7/J2-+N]_LKB#/W?:_J& M$&+?A=B^*+040F@#+8#X];EI)C1%?C*$K\ M#'^61!=L+Y=MW_*<8'='=+4+Y ?5GO_<_'CT_*6K'3U^06P?COWLUZJRO=F88'LM' =KI(8 _'#?8M4D<2YU[]/J*S0VGQ@K+9#(_ER' MD\%LG+Z M]?"'X]%_ J^C9X:_;B^=.IIY=&7XA>UHKFP[TP?9-J,'8_A^Q)8G6_L"LB!< M3@OC):S@"$X=P5,["4]J#4_MQS]_CX&H_/.W"3PQ(=N6!RSX9@\LO9]K488W M(V#F:_/__MC\CGC!%/SX^<_?GN89X)^_?V[_NWZ49"O!/W\KVCSA>H$!_OO# M%!U5LQ#/GOXBT*GW%WSI3_CST36*YDX-,?AEV18(+]"6O\*G 6?]IZ8HP(K^ MA!?D'5$.NYSP+.#X4==6BY?@;M"HV1@.$"@0GA& I*W=)$7K9$W:PFQ=14F_%> M=O$C88DF;/"&I7XQMFEJG@G%XM*6PL '0LJ#U*-JB0U$<=^I#.XD+JEE5AH&^0%BDVQC74V6LBINMMW:RQRT- M:H%G?)3Q6\1H 41\4&H]W\FZ;P)'D\^/PZ810@Y>.H=8GX,2U!;'#YO3UER= M7FKN[J(2?) #7*\M>H!;B-,:,"7@" MD*2 ZTM)0,S=)JI6LQ+%3^G$W]V^@ M71=X4-8>"-_2&.4U"ZJG)AI-V]7"'K!+J FN)AF M<).1#IX) M^T/-X52J3 MJ&9:-679)CK).I3%N>GN7TT'3$5-89=3^'0 9=WPQL")6N,RON/ QFQEN9'= M?8BR;EORNOGO$^J FZ)]M<'G=(3UT(SCC!H>^Y)0#V2X;\=[Q'@9,S2F40\L MM0J@:5+51$DS-"]@7B.'JN9Z1P)8*AVY556$$3_3)5D4:S*RQ.@7!$#+,F0" M9=L$J+7OQA(F^'0&5:0TY^B@I!?K3;.6<0M/F*,- 00?Y0&%$=WQ*]3J2<_M MFM)N5QLM'T7Z;E4?BSENP*J?J4^7LN?U9% 3;69$M-H8VN.9QE(IF(J;_V1. MN4P9KB>#.3WP>N*JE4>IDLLW>+TD0%+Z4!GD_#4U"9BP$4+'/A1)J;@,9H8_ M)5#$#JI+S.T1J]5.)-#X_<7"&112 7RM(QHE2P'+"@C6W>S( BBRSDP-F)XN MMOMS9#A?)FOCEH +V(]_4&@X$A26)-(?VN"-D/+0T!6- 1 =UE)RZ+TT1DTEOL5;*@OP<: M#K2.IPX8AX05MB3\\F5+ADKR?D_I:"56J]6$L8 NM9+WTG2V[)^K(T^4 YI^V,+ SM\H 75SVLR@$J M.7S1#+^RG!_-F:A0+#2S0[M.H7JE->Y[.NCHR?H3H5QOSFP"I"0U>WU6-TM! M9C1,55/9QCW-F6&4Y5=-LS33-ZO:S->4Z&%KIFR,UHTJ6;VQ)H\Y3;6TD2:+ MEM>S'1V.%B-.-2^<9^=0HD Y$DW#F?66'(^FX'L- Z08#O1ZT*!N8A_'JK?K MG3#GD^EL?FBR9I)H=XQ"LZXXK7.]>R;ND-/FF@*BJ(,[%J%N"++7R6:;N?% MYX3*H%5*^NTQ!VU?%S;POS^0-P97%"!K)IPN_OL#/Y+.0;?;8*Z%8>:2%08B MPN:RK@=O\@ K.A84")0;%[8QIQD^%$C)G,)KC@?=J[)XUB#:;&^545,FZ(Y2 M"Z@/Z .>?E>LPG4\H2U:*HBH,?RT&=8-&Z95,M^?+J@LVNB1HNA)=4,0GRA^ MTPF)Q@N:!NPN5#P60F(::CWO@I%O5+41..I.VY0M!U])*.D]JT[+9\+#=Y$@EX;6?\[JI9*2CEO@ZD_))% MVF6#R+ZU,UO[X:6NT$)]9O1E%$&I*5]7*H,1R3'O[HJF(C._G^,PW?3LV;2# MUMN=A?K:KNRXA1+2.VMH]_=V^LWZKF8!UZ5EV*CUA!#U-=0>(1L&\*"VA).W M[-E.U9 W'>_1Q:(QD3"4]8,Q45@MK$9UJ1ZIWI:&.IH)"K:M+#3#*+DYH,!' MA;--WG;6\V1'7#9]9VJ[CZ*"D]*X7:$]4=5G6"83X!S-JH5%2$+)MW)LZE4F#R0V>L5C!T)DDTK>7IIB,O MKBN5D3?WM7FV8_#F6"S,5'M! IU^M52>C?%!F@26#]K A!;5FA6CQ0)+!@W) MT%1Q;3-,06A@P%[ 2QHC#G[KCM;$!VT-QPM]O+WT9(@@ 4Y.('P5B6(H)HPG M8BJ8E>*(Y[V[,6MS8\>16J!++.E/)LZ:K=BRRJ#-68_': MJ?M)4.<:5N^(=T5RMF0--L Z@_H"*18;S2>!H:O&F]-"0<24OBRQ ;>J3 5> M9K72I\:&/E&4UXHW^\->CK$Y;LF#_-*7:]JBK5@O>6GOC3<_-B:Q(V,2NXI4 M%4^JJB#7\_2"7FEGYV(CUY;.2/7:;MG*:9=S.:1*0?M/[]6Z6I:9\R_%L6_K MEET:SKU)7'_JD'VOR5=X-NC:JUF)RRD%ZB6@72.N?V!=0 GLS8OMARV.GK5] MLD$GF((CS%5%2\GZVGI6A==""]RQYY%4W W^]":MS#UG;.EF@$C+D=$51C)] M;/*+4$ZAB"51UCOA8O=Z*HB^*T&G!$JV QSS>%:5>DU\07@8CP=:0^A/I.+" MI$^;7#^/5Y8=,(+H@C.2^\_?X9+_+S=:FX=22D0I +_"9>___G U2)L+[)=^']8NDJX.O[ST3.CCZ[M.]&G*)?BUV8DHAYLX(@)!+J>R>># M;%K#EI,TCV!)'Z]K6C(#X/RVN1=$,>3M)^B=P<\C#3B)J-W@9*H)4ZH]#FE^WG[7T_C[K[?.\AZ#9VK;@8 M9/,%EW)XJJRL*A5OG&2:=+PZCT?Y%NEK=7XW])B0'Z#8T"IG'+Y'S@+;+-;Y MMM^*5^^Q:PW]I6'(D'KJD!_V]FA(0FM*B7O7@ O&U-T:^FN%1C'X_]US=K_MQ*;L+]TLZQS_\GX /!?O M?R4 )-/1AUZE;Z(5Q6^DK4ZJ796^ ? " /#+ 8#?"@#/6;RO!$!GT"D,LFZ' M835\F,)U93Z35S=GT7L' '8Y +!; >"Y*8!>B([RQ-[<+Y1PGBWK8<#:;7/\ M-L15&55SS28MZYSN(E6V7&:'=&Q1<-3#'_\\70LZT<4O/1D\!X6=H[56DM + MM:TH0_$0&F'@,PQE09EMX,"6E^U!?4WWDIE2J>-HM=C"X6PO]_!XTLTO M#8GG[(.WL .2*A5]HEA8LOXJ4^KVZZ-!.GUS)^M+L$,<+(7GH/!6=@C&>8,Q MJ\,<7VDT]-J8K3ETX>9NYY=AASA XCGC\2WL4);U2II:$88< M6QAD&VL 3 M-0LHF]22;?A:P6@NFV7Z"U3S"K2C,J8X).]]FCC=UVNBX3AP?#C [XZ=OG6 M:46)UF9$HREJ2LG:9%-MQKF4)OEVN9DMHPUL4F"20)&(6FSY_\)Q/MOEKS[< MLNR;O@$O72]UGUB\W Q]OMPMC4U&FN@-I8W3W3:[T)%[5_&+NW]G,'BMX?\, MK8/95)^Q5E;EJ7E*'->8:> -[WU^_U!:QV,RP"_0.ENU*XMJAN+-)#N@)@N7 ML)W8.OTQIO78#/?%M%Y1K9+@=(H:RW C>I&NYOF.^DWK\83!:SVV9V@]9^%# MHNQ-%BRRDJI:KI)==B@F:9:9CH@9XM[5_'/IO5;P0"]#JTC[ CT3;SFL+C2 MPPTMV6O5U'NWXCZ4UM&8#/!Y6O=6Y*S6R$H5O6GYN1%F1-J Y3#180A4:3 M29:)L7SOC'[3]948QM:>#BNNYE+IIMK"4 JG.J.IE\M3O7NWRS]J6./B6S\= M5L;FE!+:':HH,RO3-ID>N:WFM[;>EVW]=%BE1MHW",XFT,:DT7BX'^B#W.6AKJ#>K%7'=#[*CE4Q/^J/XKE"?S7V^3<[S+6;.6Z8B MO3$'/DN5A88TP/)Z)27.QW(&;Q&SV.+@JAE,UT'?%\^\?];8^T",TFFDSOMM MNHY2IF%7Z(Z*=UJQ-21^.XQ^Z'K?:=@UQ_ UMAF5]8DDV^3X;1C093,NQZWP MCAZ4,QF4[]A5.7MO#'>F@W$?REMFY[^14)9!N9]+9_(#W61(SQ0'G4$+^2:4 MN!!*[%+&K[G=;'M5%UZE6>K1G9%Z9T47**&? DNN!C/?O?(60;P;J..R2BA&HQP[81O2IUCM9 MT.CEOMGZ&K#>"?E+@?K5I4/W>+YQ7;]D5-L=>5-13>;1[\H-CAUN]FEL+PMVK T]#8W/S]>;NFH*!*EU@&[S6#NK3%HURJV5LE^HO MD]G>-7A.:._W1,Y*>Q,,?2KN+^5_Q!CHK 4<-3A&N@.:RZS3Q$I\9>;WD5%Z M.D-3WTB_"M)/R/L;ZL]#?4W&EN8=#9A[%4(?VNE5KXHN.+ZW2 ZSI4+1Q..[ M4^U2F*_Y]!F)?;/Y%X;X*2J?5U@BGY'S!NM3EN+B=9= [=B&2N\(X[\[CZ\# M.Q/;V8[3 1#KME4370\X''#F<(!HU0&1/'?77H6_F2I\#]E42SRB>N*L4!B6 MEF[LL+V.Y3P6U 9%ETKJF[>_(*1/\74W;2!VTJV-=9/M];'NM,J@;BQ7 NX$ MT]\\_3RH/X2DZ[GQB%2#%2^N!I-9=C)T:LY] 3I&:/YFZ(\#\REZMIAB=];Q M,8?%*_7AA,**6L/[1O,W-W^8H\C8KM<&FBGYCBM*QI5#(OEQ!5=ZZ?0,[0VE MXE3E,;'.QLZD?I.[^(+@OOG[ZP/^%*.32M.CQT8JJW-%+<4M,E7Q$6M_#BJIPV'J1ZV9D.6G:I M4!^W"+I^]P;MN]RPKP"=Y[:GQR.CLS_&_#+C*'U6=+IEW^-XR ?BK*54HAHTYS-$%YW!9JR;;BY;GDW=-K/)#^D1&N+P#U6V9T MJD:CW,_GZR0*"NARI%/3%)*Y>YC'(-OMF\UCD]&IXK!!8O3'_S].=F=.8ZW)!:!FX.971:T.32?- ? MW!>@8X3F;X;^W(S.AE!=I)>L7D$Y;<[(9@Y/]WZK%8IO;OYD1_&V&9U!MM[M MNVRNP\^JOK4<%NSF*(B=27V_^6V_.7_',*.327O)U,29P'$9,G"B)PQQ3519 MH/A,)J>G!X-&[);88YS1&4=8W,*+,S/6LF\$R0:*(Z+/I++3I'+_*4>?FM$9 M!^@\=\I>/#(ZV]@PAVDSJZ>;7F\)#EGO"0D*LM\(_WN(EQ? .JWS.@C\AOAY*F\J:4\>4.6:WEO:>J7CR+W:_9=;C@'&?W<>CT%&I[L@ MV7EQ$B ZA]5):N'FK''\]O7=4?;;;\[;<[JE,X-_MV"[FVV7)U8%EJ)GD8%4O^[&S3^X7\=\F@RG#9\5&REW2DB,D*Q\C>GQPS,ZXPB6J\0\ITJQ,9.1 M:9^%XQ<4V^HP6'UG='YM<%R&C&1E9G>;I*RP/0[EBO*@2@R0V-%'C#,ZXPB+ M6WAQCIE-VOX@B^BX,.]-^OHH,XP?4.XJH_,SH$.[0F/TN,QO6[34Z.#X-:%H MEF;ZYB/OO>G8\"U>T#1$RX.V/SOSM6GD6@:=8 J.C-O&: 15<7?%YDE +5*, MKO17/--T1D.K)TA".G:6;4@U.WG\^"=BGD.!O-\IOT"2>X/YI"BOB4C-@KB# MU^)/"L%N?XD9R#9L!1OG^'+(@H]Q5N&&,V,8U$JL3[@JU6*&B_PREL9.#'"V M(=1I'L;H<7P MF4M49I2H:WR1R@QS-2J5_AH#?J;;O\>PBY8"+\GZ&NRII6X&7"D7GRZ+*D81E47(G%A8G1)5[Y&FQ^KM]? M>N!?#O6I6:28DPI]O8>96+.22W%U^;[5_(L%Y/ K6NARC2K@S7D@LR(^RI&I M%+%(IF/G^<;>0L=C-=3G+/1VT<4L765+;(_*--'B?6RU0/\,WI8*\-+K8??/Y9UCH\1KJTQ9ZH2N*#=]Q,[SI>V6.LJJ6 ME_L:]MI'6NCQ&NJS%OJ@49Q %[Q5UKEEK]"1E7S*8[_&B'^"A1Z/@7_10I<# M1ZU86)!"J9:&(;(SSUKT?<=3Z:T.(1NA6'VNEVRR3MXQ2645'G!M;^_!N(!3G M4KG7AE#?FM2YZAAMZ6)CV0#I)3'RRM\L]%X(Q6%;QW,361MXFA-),9S7ZZ)Y M8+MPMA\*S&)$0QO9CJ6)36T*/$=4@-MQ?-?+^Y:RVSL(B$R2-0V4-3/M0&H5 MLXM,_(JE;$%QNML;^^4U_?[24]=;0!.*RM LJ%D*E)039($%1EHDLBU2,%>@ M!Z2)\I5A3Q4X@PBH^!XD=Q8I+W;V&QZ/X-& KX,/L5364J'@@/.$2&B;$,!T MCBSU7KI,* IB#=)R; .;9^'Q8F>_X?$('C7-LH!K>V)5E&P'.&YS+?!#^EA. MZNE5:D+Q3-DQ_3SEB6[\CL&^"!\O]_8;((\ \DA2.X7*VT[==AY-VPUK:]G6 M4U:/2.>EJNX/Q+;AE.=+L1!;Y^@L:-XF@6\@/0+289#JI$AMYZD=N$&3L20G MR(K1$!3DI%1N..N)H_@=7701FMXAAF](/884"/=Z&T^GK+94;8W\$C=! W2T M6%(3M+K(WJ?%^UP?OS08G@OA7AQ,)Y MCD/0[BV@>=EY;EI,*3-D)[2N2=-:5E:%48ZY3RKY/.?Y7N'QLO-,-CHF/](' M-=8OZATQPPW[P;?S_)O XQ+GV6-9 ^EQ"YUIU5H#1ES*%?S;>?Y- /)&Y]D= M.!5CV!VVT*#4[0OBDBU7R/N<SZ/S]A 'BCM.17?-+KX.\]Q2%=X"VA>=IZS:8--B=2PB%8XQEM* M$I.S1_>)E,]SGN\5'B\[SWK.8S J((HLA4Z;9"%(SE7L/NW[Q4>%SC/ M@T9O/C2&^39O3OUED6J-INGXEM./J_-\KP!YH_/LY3H83=<7)MIKJV*[F<\Y M=G"?C#2YQTMP%:E^GU24!R=Y[N%U'/.,U_N MS(O"J&'KXJR/3GIN$AOX]\D^'^X\?V))=0%+'@]^U;94#SAF#DC>T_W"MFBY M33$(Z\UO\YW*4M])R_H895!7=@KEA=Z-;YS_5.\.=@<_Z=XUA_RH$AL<<"RY MZ]D[MPVFA4?AK[.#V 9SVYA#BYUQ@ (=.5'6#-CHS7AV.V(K2^=!3_<%KZNO M\A.+IV/+^^?'\VQ/;S2T.(*FKUB2,B/@\/\HEKK&V/H#)KD"]M1$*X5DEN*X M?#:OQG;--G9CBZ40-(/@F4\:VRKPX&^-T;K#FR'%:AXCI(=T!66,%M^G6U5B M2M[ID)[JX'V,Y(GTO7>H*:+BJ;J 5SMH11"R1L\;]F>+.QW3SZ#@VY?-.CFX M:_OXJ)O103ZB)2J::&5%2]\,<&LA9.3ZLL7P5*44='2^O!S,[VR.75O*%_3V M"PXR=!B!IEIKOG(?,7(:&\]]K9,,V$*J2@%;6(YZ\:V>E'** MU547Z>7OS!UZ1K7?((Z[A7V?=K!\W(;TU$'N2 >?B,(IK7E:%'>-Z>WFI03]2/>9V>EMT&5:Y@.(I4GJU0;TTC?;6WA*>Z9=Y)> TJF&Z!X7 M%NN$>:GA*NTV@0[4VF5CV)YIK.\-9"DIR9;1BJT%]XHN[R.GC_M\9S;Z^P9\ M>_IY&QB1@KAC;;H=^YI+%&F[R'1X[?&0SPZ^I]ON'. MU.F0G^KFB@"K%C%?S5.QM0CCK/>W=^2NK??TTN#UQGS@LF*5Q(1Z=>![^M<: M^X_7^P^O9TPO1$=Y6IW>G!IV #GV?)VEG N87#[L#;6>'??%VD+O]8U&=M*K&O7X[HV(P;#'RKH_ M/TB_5,K<&S^R6\_)],Z,RY=@UQS#U]@F-Q8= M$$FVR?&[0DA]+%#GR<&<13BT-D;S=%(B[HUFSG0P[D/Y/GOA)H2RR@N=41E@ M2;2!=]O+PIA)@55L'24>QA$)Y*OULW* !;=<3I6)-%(X*#;/N6YP0"0PN%1:FZ2+/--._C#:+F M"BFVS\=N"@I/IW^V.S_^V?3G%T-_S4%.'0QR1B#0]0>QTJ0:9K:$L!6\08X# MHU_3;W^*SAL$E[I8<&@&(= K"HX\$!RU$YQCI]QBAM93O&@75G0!$=7E[;<@ MO$%PY.6"HZXKN$-:(7:LTB-Z5F\R:,YX$S/*3LOKJO5%'!%WN:JBQ)7Y&#T= M@U!3?7F.+I@L3_&Z89=K37.JQ YST#='/ZV"3NI RW6ZKU_36KW*28#/ M@&/9:^E5I5Q&^9F6S9-FL*P.Z=BY*_$&1RQB]4<.*B<#2X2/.BB)!^#="JTZ M !SD[6W!D0-18E-THEU852.\I*VY^A&"2O#M#G"]-GP)MQ"GFV=D0-J;M?&> MKL_01MEC)N5J18A=Q/[(X3T4S[9TWBGYO#^R=DZP>[R>EFS<@[VOA6!>)^K(4O]DU;J-] M-][C>Z"1%-VLAA/-(D]A369*][N,BW]#(^Z^XZ4E ]\##<63JBK(]3R]H%?: MV;G8R+6EV,U(L8;&YQ40W!LT;RT@R%F-6EKU_1Z-T. %%SNJ+A@VRP^[,(Q2\Z\CBH@CDPCIZVNZ9D37W/C2[ MGW]D#8BNOR[BF7? S >6')Q^WL&5;AO(ON-HEKJ=F+)<@9]+_3[/V$6]1*1< MA!5^KXGIXK=?-I[[=IP9T*LVYCDDG&C)&2C<20SCNG;9/:EJNT#WVIWE7$:9 M>M&:Z;UZV?I6U6]5C=]FJ)O,J@MD*2 ZTM)0,S=)JI6LQ+'QK9P0%SOY;IAX MQ+LB.5NR!AM@G4%]@12+C>:W&_0)VGMI/(09BY8*^T_+41)L> :.ZVEF6/4A M>.+Y/+VX!KRQK6P^@_!L"]K=7K5]T 8;01ZSJI.LW-1[6",[G7M]#LQCBXU+ MY'*PY_4=@OG2L9;G(K3GCF<(\^[#G1^P!6X.C,+,!@:^PM$D/WQT>,,C*^WX M:=S4MES;J=IRU)2CC'6>$U82;V/]^;RN%XI]I-J9U+&"&EL+[.PA#Q=+ZOWF MSXLBWF?1\]QO&5G^1$A3#BT:IFF0/#):H'1?'U8:8FRI]1O2<6/IMQRBX2+\5-,LS?3-1^1U=D6("R,[0 E_V]S&"VQJ M1:6:@HX'>H^9NR.[%S]G)\Q0V77^QS_AQZ/>OY^0SB\U/9';G05-3L)'7+X? M/JSAIGH"I?-H)<^-;0^PQ0(7.U(Y!9_#WG_#YSQ\L.NP3\UV/%54=_7EBL2H MB"$3#T6UND[,^@B!DNV[ ,]'^XHD<%[&=KVR56,!56YWUJM&DE-O],Q_# ] M_-2CU6S3!(ZLB4:X&7<:)7]HEFC)FJ7F?%#V+1#F-'9LVE=]UPNY?S/4-=2I M6":9;['^PIO3V4'.0K38&5671(C>*H([@\-5SJ">B0VM79DN&KHIU.KYS&"T M-))W-NK[L/)GG$']J8/[>,Z=CZOY[-+4^WR/M:K=G,@ISNQ.[::/F7,_>0!/ MS+DT%E"LHZ9*J$@O>F-V5EH,@V\/)I;#^,XYEPD"JB#Y\P[;6-3UTK@)O&[V MSLRK6,ZYUT]02Q^D55P6I+CBZMWV/5W1T4)5"I/\]N\(W[I/#3R\)@\4X(A& MWK<4M[W/<2N-^+I*]C)IE).'@\RL*G*I[[.@WAZ'>SPLF]:]=EQNF;R1OKR( MUN&EM\M'6H>"P[,Y-@=Q'!QFU[&G'6#M?GBD!(QMR;#KZ\>'B;#9( LL>6R* MSG'V+R<:P(5&(;!\4 >/=_:?>,S33-)-$YY6"AF[;*HOH9 + M:6F*ABC7=492D!GJMZAV)W8SV[="QDTA/R\7C'B2SLCYDJLIFN@$X4@T1M'A M H\+)L%?&Z,1.-BRQS7,W("V0 [MD?*, OEQ>B+'#OH[D#W7R:.R1T]Z>;N5 M$^+*^UG@H.YW%NP^.#-C%B#8(LO.G#*HY"C<&J5O;C"\5AL(!(,2P2_1AD>7 M7F%Z2A\(;O,X/"*NBS#WZ-*K>D6.PPXY#A-:_ES2 MNMJTRVNMZFS2%'UN>H.#9:]0H A[ M%-N[>H$B86295,6PRCJ@)FET!):3#!O;:,& MWW<:=K+.-PA:X[RD6"DU8ILB\ WTS\]=>9*=D/5=S0*N2\LS7W.UW3[V*)S< M-,8%Q_:G)4M^#&4MW!%>U>9 *5FP1:HF&8!V7>"Y4*#1\H4ANL?GV70<40'A MQO+M&I%"B..N+G)MOM"J#L55>F*@1FQY^AE);6+23T1U!8A>+N,]5!\+^6:P MO.JFD,^$Y799J0V,R%ATQ]ITB]"Q(QF%(=73^<:PERD4@MHB37PC]%T(/2/O M^P K)F#)XU6YLVC-^QZ<,DK6R!'#=!\Y_%2T82\MU:T:-R'6"E[5ZO)2'.OX MW)RWN[D,*KFQS?0]#]N+Q/>UR39:@,:27Q:_YQBX-]$'MK?D7!YAY7;:%#*Y M]B"V)N[]0OGC6?EJJ#Y,7DJ>JP5U!9@K-6Y8'?-#G/>7LTS'2"(9Y/8'CL<1 MCF\8_*=9-?OA_Y"LFDM+.YX%"FW _GLB)SM@T=0,X%8]98..#EIOHP,OE6?] M#$YHA*.-I/A6QCZ/CN>[>3-(?&IIQ/3YTHBO=$AH!0Z7.:VDV0+2XU.S6K/3 M%&*7_'MMQ^&] 'A5+OH'%Q*\PN2Q*H_:M073R>M6Q8L\<=BWKSE-G$F0 M[VA>F*U:LA1MKBF^:.R'G36GAAT X#9&EU&%-D:(Y@K-<;SI.LM&BZ,\HA([ MMR?,53_9ZPTB7MOMWY(ON(L.@Z<5)=(WT6B*&O3K&'&J>:*Q@4LWC?%>VQ4Q MW1SJ5=%754-8QI9&SO9X[Y*>[?*79I?GC-!K0"5#Z//^!$]V6&W*V&YVQ*S8 M^)7UO NH?.I.K;-[CC]S5:^LTMF17EX(>H'J=:MXGI@CR]@"[#[63&X9:([/ M;N"X0/I![H_*/;\Z4!_=>GEWD*:S^79 MS-$K_'0A4<:@L*)BZ06\J9;I^]8/KI8"]I*A_E*%XY7:T265(:8!N(B'82;\8X3V#DW)_W:VA#7PZKLPI&:\/8^LQ'_=I/ MG2-R^!/TSP#LCNJ]).V^<2=X.0%0HUYE<69WH,[-,M;6> MUAIFOLX<] W CUUV>N0?HREDCJ@II:+/AKHX4/!B)>_'SK6(VP+UW0+@LE4G M(N_JI.'@!FH:&*>L- 4GXGOV<9P7J#\5*-2F4$5D(N\_["8=QX8/]8+P?+VP M_.&N*N>)FEI5T5*ROK866U@JT9PZ]GR] 68#&KU)*W//&5NZ&2#2<_MK=Q1>Q)+KSI> M(/C4!!;B 17*TG8%GMI8Y@4*10O55RU.%TN*_'=I!^#DH2/\4!C^H57 MJ]Z"I??56^#?'U7NO#C7LUU/'B_Y66\H4UQFK**9V)J;]W18\2' L/3%96X> M7WH5!R9]X+^D7Y$(D T/&V!L:^WRV<[>M^W1Q:(QD3"4]8,Q45@MK$9U&5N^ M.>_;/MO+V[HC:/HR(^3HTNL8(0?[NFZQ>[' Y(?.6*U@Z$R2:%K+TTU'CIU9 M<@^!CU=MZSJZ]'J&"KXV5%Z30'1F4U=+H N=IIYD>*ARQC0OI_,I++833NPV M=>&76RJ/+KT"(#("MC=5]A_>>OJ2V.'S/=F8-'F1'D[Z:JJ6S4UB.X=\YNE+ MCVV)#()=:DL<7OKN7*MW'W+9K%::V4HI0^H,7NV)XWQRJF*QG1EBZ M:FH6>?/-><2HH\B=XC!@S=G4%GIX/>UW8A>>NA,3@(S]9INM +EU+P_.,^&A MQY7;?+W!AF)J2%(!V:(.6+)#YTE;2(FQY?VS?=P@Y&DGOW00^QUP8"W@J,$Q M'M VGK(7(]9G*T..YUV5T6?QK:]S"1Y.]/)+ ^+%'5:OXH?FH.$+Y6F&0(&= MIUL-4]0;7&Q=A)CQ0QS6-]X!AU/\,)T/I1+5TU24,^AQ4JSA2GT26ULB;OP0 M!T \9VB^C1^P M3*6:'32'$[Z2_^:'.P+$XPECU,]I26U06;*XN&JV[DV;6 ME4P6F R .%M+%*10NH M^*8%Q[ID1!R@\EPP)$R)#6L,'&P;@/^R'VE9XZ7:#B^2[ MW1KMSOF*)*6"$FY/]/@6:#WLXW;WP,N=_"U#(6^#@U=%=*Q84264R=9[1#M= M\FO=V(9*8P:'.-IG[X-#;\Y/\^XLJ+-(FYE4F3[N,VQLIXZ8P>'S#I[>C3\J M% O-[-"N4ZA>:8W[G@XZ>K(>AY,G#]8;T:N7@CA;BN;L&G(;S&UC#JW.X_R^ M+3WF>J2&UH0>RJRPB>^W1VKA]F>UO54?SB\GG^WI+3DRIA6*7IM:D#;("5)H M-F46$0*5J66Z"JK&EAOCDDWRN0!X(17QM1 843K1IR@TS9N+0%=[PW+6HV.[ MD!@;"'QJDN'K.>"*V>_NHJYF5R+684VJDDOUDT.FC=S9_!'_[/#I$)G M4$5*Y1D:5%-NFV]IN=C: M0''(KS\^VNXP9?ZV11#7]3LWQ3H/EK@[]K0#K-T/CYB2L2T9]F;]^) CLD$6 M*L;8%)UC$@]W5D)=F /+!W7@O?R8)Q;VM@E/KMT\2YYT9KG4C"3T"IXSLXMA M2K&DV$%M74/IL:@W"#LIZ_>3V$N#M&>PDZ-TDP8\=3%>&-\O':9_OT)>6BLO M1@H+ALV,/>TUE>"DI&7;4@LE%LFS8YZM MY99._"HSQ:T69!S7(42C0]5J$X?7F496*6J1']"N#H*N4YJAF MJG)Q/NF65\78QET_D?R.AS!]E:C3#0^D3Y9ZXG0^T F4088@FB![4()!/JN0M9X:@E*5:YALL&T)(D5DAL0?NQB>C'0WT?&"X9> M;+M"OB;0Z[NQ;SUJ^^@ W62K*RP;%H:C?GV54O!,SS'CFT03CP-TXYQF^JK! M+YCM+LK[1@GM$0C>T&6\U2_=[]S](8/_>4FEQ.M*UI]9,I1+;&N\S.B6CC-ZH%=+V2 $I6YI(B];HFY6DV)JJLUX+QN'K7RW.#7N M2<**:E:58: O$!;I-L;U5!FKXF88>QZ1E >G3+MDW6+R1GW3: MQ6&^7HE#VOBC$-XKS*"KDN'>[A5)UA?]TD+D15 3^\6@00JU.$CJF#,.;<#W M:@TN8)FP\Z1 DG1>=[*>S"-:N3?BTP[%$3'K/(F@4&\RM\^Q*!67P]<^FC=$]V_=L?]M^#E_TPDMY+B=TN9&Z,ML+ T728+[$ M)1V1#K8R;9^JN3:)8ZE?\)9WO' *KQ>*BE.0.OE%#_63R]((I=%T<.*-&V'" M/]_Q0LT#IM#R D 8 [[*^H(\:);,#(3B4Z%&=DMXPSO>)V\6;02SX';:Y9R7 MXQL9G:K4DAD77=&GW[F]Z3W]W*4K"LN"PM=$;9IA.;)CYHI3S[QY?]OK MWYW3YE#?(@QMP"M[G6RVF1L/=$ZH#%JEI-\>'VRZ5Z(;#A]6AZ^&W&$[;T3; MD_O#+W/ LDW-.O782]7FZ!$_CUM_^9@P-)0,1N3K1@60.M/F^@'CD)E1_>E@ M;/L+;WD'"#:6L\ T:;M)B'V-]TN2[2^0T\Z_]:>V_ 5%9ON. M#-SUQS$0E8AFH5S^^1O^*^%Z@0'9VA27R$)3O/$O#$7_YZ^IJ(3Q/,0 (^]7 M\B&=WG_E:.IX]YV]]B#@:XPH__:O'X^>ZJB:A7CV]!>./5!3[Z^#=\!+I]L+ M1Y!MD9%H:D;PZ]\=Z+6XB3I8)-JV*5K__G/]#?RO"SEZ].^_HJM=;07@@^ S MUV_Y!?],A/\0FS_"%XB)L0-&__WQKTZ#@1_=J6@=O3+Z^Y=E.Z9HK!^[ %'_ M-E_]^*<3[B!)V*,$$TX(E@<1&#X%BE"$_TQ/B%(V@.C\DFQO_-=CJ3X1%X0K M,EZ_,?. ;]L<8D0H&CJ%HP21R> _UF_;_X E*3*529/I4[\0:"J=S&Q^N8Z$ M#>@R;MN)P<];+,!.0@H\^BHFU9!-:"8AH:*KU*USP!\X[6GZRF9O!):@4+@))$G!JA HD3@(A MK6! 4%)IB5)$$J=PY:J#_E+'I!.]"E7\4(TDVU#@M7R]U&%S":Y#=UCN[Y_2 M1\K_%S17 M+-4+G4;]ST3N@7E(X&B2S.S:=\!';V[APYY?*XZ-4/%'S5^L%X\@$^>A?$:Z@_0"%&UEOFIS8.$CM M<'I]HR^9L,304U2 ]BMGRY%!&R94_8@(KRXZCK!J5"JU:A8?H2 HB4N9M)P2 MUGJAV1B*5-:*<-3BNR+]J_#+Y2/]1TUT]$3# O_9,,QDC>4$-I4\MH6VU)19*5&FK[Y8FVC1M\<6;+H M@:&RO@9]8I-ZSK9A!QP4?J]LOY\#QPO/7]L ++1YA'4 Y7\GT.I;]ZU'8$# MXCMXM@V?-S+LQ18/V\_(PA&GOR0'B#JR@#)ZT=K>_2Y*T)3RO0U1WMSJO@K@ M#PGZIZ=<).\,\4"0WP*_DL!_>DZ(_JL@_3H]/M+=/>]J5A@P_(6<_GC1A,:;5F^:+3!U':\'UN" M'!9UM*%/1QH/FD5A3&)+*JN'!(D^X>FM[#B@VB#!EQ)<8$+2_OK[@3V)^) ML%FQM#\_TOEXKW_;:']PG.#=(MO&:1140?$T+L@*A0LD@4M")C/*"&@2E5$T ME4$S2>FQP=PN>)B7;?HBZP-<*DT"DD%*BV^#^=M^^S:8XROPKV,PQ\=<[CBB MM<;((Y.YFJW5_%&N[K,5;33I!%E7MZM7,IG)+V@R=]ITG2N%MO'7-YL_.J[V MKICJQD[V=D!/K#-/$B/'-A-KR=[ZWY[]_F?N4NW1=JF6CW*H\?&<]>N6!)X08J:S3'KIIOF*1N3Q7GN-%BGY5M]#P ML$T2(Y._O0=TT?++[0>Z#53-#=G&"XM)'PPV)>(J:+;0"4HE"U6EI2Z[S1?7 M5K85J!,<<.::#&5Q4 ?Q=D-^ >O^P2Y%V8NZ'Z9K.+MN)T0WX4Z!'&88*@G- M2FB>FY#'H@,?\9\K(O+* 9[M^HN81I.ID2B,0%H22$S$A#2 , !D*IE)9T04 M32J/WR"\7DXHJ$$^?B>13@L];DJTWRA.1&>#E/AG0 M\,KM,[^H,TMF?AO/ZC ?*',A]#.W<&W7:0G;-(!/E/]!?L33H?C20_"M !\@ M_=>$&LX/PVWZ_SHSYW%DP0T/29HZ]CR M7XKOJS!*'*!\"Z1VQ&5ILR5&CAYXZ*=!C+HD<)JMDM#4*W2Y"DTM)IWSPM4" M_%48Q5&$3)%$!J/.HS1&W)-^_7C]$:EZPG82MC<&3F+B0^]%T>0H\F*/OI R MWI?NO64H2P_M!^XAP9I3PP["C3=? Z+:XDD6>R- 'T9,?LOH1BSA'"_2_+S.W>O0Q6A6OVC)X?:> :TH3EB[ M9?V?*IRD#B>YH:>CO5(]XQE>O=V>O"Z/#2=0-%%_2.0U8"@)SG, M\/Y,<+[F@>V:+XJ>=!)X?'AM^:-H2[,=2F1Z$Y MJ:1, +(P:[K96?3[:,LR)ECKU6&/5!(/ZX5<$/%X9"N1<;&5+ED,W4@R7 F= M.E"+M:EH), 2R'X8.X=?C\+%VS@ZEY;Q*U_DQ 5C7\D"02(D0#E/)6G8!7A%#<.!;X'](F_13.66&&)"U[OVX2EGK< MTC.B/ S"H*^.66%)6193F9% @H52%02A30Q(@4%14D28)DTH,#C^%+/U"5W M K6-[^717$M2;3"0U%,QJTIMP?6IQACH!8#T\UETU2R5#W=9[Z[TRAIKSZJ2 MC")\1N@O&&FY&F\MIZ,KS4*;TYNX6F%G36(\(5N&J2;I@SC8!T:WKA:Z(H@' M@OB?QQ5IILOG"\XX#N8)_1 MA5RW^7V]3^BY7YW-P#SS\[K2U\48"#<9)?9_?I17U=&\=?TV(,KCA&R(KOLJ MO_!";OJ-!.J(D='K1INJ_K@HAO!J)OE]Q%G?Y*M'\ 1+>1R>H9>PK<1BK,%O M]J;SV]9%?B\^^/0PYL;I"3!QF,MAOVX) H<:8)LF&K_%XO5H?^4/$:7?53?K).:"$PQM^EP*>KO@84U*P[J%8(ANU)9/"8Z,6G[.U__;*:]D>_&;F:R$% M0^:--O\[4;$3]PPE$V%B^/%7^X(=;X;/GMZA+D-5N!&4W@#KCR.6KFWXEBX/PO1 M?)$T@;T*;XJNAW>&[=D\+*SIY$8MB9HK MNEXB@[Z3M!0Q<#_4]&!\QX']6%>D"IUW3_1\]RB5=*%13-]*\8S3+0MY*A5H MR%>Q/+:O7/_[V]RX-ZH*-14JJ:EY'M1M8$!E=6PKC (900+,@1,D2J%/*\I1 M:F!.],1$?FV4')'8_AF'5LKU_(LV4'UCO7&*0SJ)/\*GIOY*X 3^L/- M*AR MRS2LW/(<#2:NQ(#K[NXX#;C_^5#..1B2<$0V%'3 .22:YKRB/='8F=>=]29, MKC,AOCGGFW/NN97I%QOY.NZ+@B4&O!\D1%F&W >5$ZIWJ,]AI,0Z^2UTT2SD MY ^N"4D3OL796@)0]4W8^^#/T)*#CX/V3MA6-:$Z]L(;;W]^@#8=B-H616:B MW(0H-SN4(8[^]5P+HY^QO[:7O7C!\^W;7AC:<)N+GVGK]LI-[ @RJH3@V_C/ MH3WZ\-G )"X'YA?=E!D>JGC$R4%^S@GY>K3\BE8A^+,F-5"X7QTD#^7X$4#]EMWVP$%[BP*LO2$=F MQ2N"!]QS-N*Q#GUB+?@UU43MS/JN9@'W,-9F268>EP&JH14>\S&>&$DY]R35 MG*\#_\@KC(K 7Y(+$:]YXFV9"3?8/WEC[;^?SO[\(CS!/N<>QHHEMJTL1(UD MUFT\8(M1ENWRAH(4V*"_&,P-IIU,SSZ0+:Z6.75!9&1T)@(1;E>\<(TZC!=' M46(X@X:+U9Z=\-UU] *^?WVFUXG3"VPG>I<1A"]?:/#5\+4)"_;-#B<;J('1 MC&R)EJR)1FCVA>4WHTQR3[04T5'<1%C@0E-.IR8E,.(/\3\G Q&)]\[NOTET M[>/7'38KHQMC(TQK#P-0HN>!L*!).*IP@,-Z[+#EHAJM%NYVW(JN"V?^\*OM MH(/1"$01<6M3VB"\4PLG @LB*J07QS82H?]X +2]G>/#3N]R*!(D2OXA[?#$ MB8XDPL ?N/!L[11.A=M3_Q-V?-_+31*=9$#J.X#S2'/, M]0K#%+Y;#"^"&A!E9RE1BT5?T;Q-NQZ>65+X4"HMR2.'#AME._1^:/*&J!XP M*9;JDU+-,>OA@17.GAAC\TJRH))]DV+*^ MG4HS#]@F9!8/9;DKE1XEW'VZ 03K"PFBB6B?=F*?-_3LQ'+("GMMC.H8K9," M[*?94=&.^G7>XOJV32K!R(@R#.!7LNTX8%N\-9KO'"=,+K!#99MKMN\:P5;7 M3KTU%OJV/>PJKUF<9WILV 5FU[%'>F=[57M2P9DRCTQGQ6Z)QUIC[>0ZWS4M MF-]$?5ZVJHX:^5RVV@L38V@(16BWH1VU!NP>QUNM.]",:/+8K46'LZ=L1^OT M<)(T E=;SWU6Z /!R1"1Q-"T"HTO8+GK635<#X<_13E'N[C;4?@@U6J/,WDL':U M?U//[#/2#;ZS,>/,.M(G$*_=ZE!O030>/F_&XW-1]D_\)&^I:T5 MDH=_"-S&619X+B=TN9&Z,ML+ T728+[$)1V1V-:/H_.U+=]4;$\!,GR!\2,1 MGLX-)48=ZSKM"HV10 D$NM9MD61]T2\M1%X$-;%?#!JD4(-6R>8Q[G]_(,FG MFMZ,?*&\88N'B4K+=I)1@H'6X!E"TII4@TW-&C2DL3\IE'S(;-5TV]]_$G 8 MC;#CZWG-G]IK:U V;#>4]!0J+XI40K,Y$4;\MD[PVCAPP\UY8]M0PGEX MO0-\%.85A_&4C5&\SR Y2"#98VR;OK%V=O>SS;.;>#9IQ<2?B>U[P\M %-B1 M(^?;@1)QP!F!;<8@:GQDS2@ 6C+;O,%]VSX]8^2; 5_/@ T(72 Y$.T!Q$FD M4V0(!#C,B_!?%]*5.X; <(6YY9-U3]''?*_=9 J=\@+JHWH)8Z&G& L7L$S( M6*1 DG1>=[*>S"-:N3?BTP[%$4>,5:KG3Z1V1]"-]L1R40L;OA?%(R'3''!8 M5K7:)N^3%5T;$<6>WJ!TK0@Y+$G\21+4G^DT^93&UCT.U>90/_[<[][?[N?_ M,V'O7QI:SI]O]\9?2>[IS-]<@^%K;+W#)4IUIM%N-MITA\TELH-$F\VS;;;. ML+]1#0OB(=PW M_GPABA,_WTH0VQ@VG"7 4<>>)GQ=['*>D=\K=K\?9,3]GZ-3+4595QT;VI)A MMJSM_-J*2#: Z(2EH5+"O+X(UV-]6!OAJ2>!/!/0>"Z IJONR5:].\HV!2NPL MQ2;=[I0$(HE3R=233C]K+^[$X'CK.'%I+0WQ$FSL!1$_W;@5^#^\BZ](X;W5 MX7IQ@GFIP]:P+,^5ZBS'"40JE4JFW^8AE3RP79!Y>.(H=MD:91BU9/*+* W##+)LFV,9OEWJ#(0D3F;(]ZL*\Z54Y8HR8@() M.)ML^^! 1HEOK8C1B./-=J/)0E^:Y80T@6%XZKT:@7\EA;B6>)J./0V[#;[> M]$!]#44@JFR!KL+A9E@V5ZH7.(%*92B">*\Z$%])':XKI"I012/,-Y%!5,[P MZ^E&ZO^S]Z[-;2-)UO!?0WKG_=(! MD441;1#@ (1D]J]_\N2E+B IR^U+RQ(^S+1%@D"A*BLK+R=/WHZ]G3%Z].?WH#A7AXL']_.C]@@]V_3!OD",_62'I^=YE.W7&7/ MBA:X\*ZYA>?(M[M7/GL@_J:)^)!IN/V9!DZHG?QR[]Z]_02W4578K3.D'MV./7IX>OSB^.G;XV?/3WX\^O'IR=&+ M9T=OCWYY\.#!X\-/#ML>?L.;\VO,U!M'P[I &]Y;MCD>WX[-\?#ET8]'WQ]S M&@N.YD^GIR>O:/&?T<^7(3]G*=RPMN>M>VA1* M'44\)L\]2\_3NM)Z:%Q#&ZXKA2;HU<()%<6M.YKN[=V2W7?T/S^1Q7/R]NCM MR3^.28CHSQ?ZEX5]/GGWW2I\RI>;L?\!+T^Q9+0X[R3ZH+2_HWA9=G16=\M, M[4N@7&[;[GIP2W;7(V_&G)* B,HFB3G]Z?7K%_S7T9M_?NKN>G2;-M>7F[!P M6IT&OBYLLM-NL2CY;Q EH&73K=M-MP0K]OCI#T<_?G]\"A%Y1JKVZ/LWQR(B M/Y^\_>'HZ=-7/_WXJ;OI\6W:35]NPIXR=5F;G8C)1X=3?MXXW54_@T/X2'A5 MOO#\9N3'Y^_>O.2O()7/_[R MZ/'>HX/[G[Q3;A64^3-/TRLF]3RIA(ZJJ*M;MSWNW8+M0;+\^'?28D3[X/;@ ME#]A/H+=A.Q2WG 3W>=U0Y=5V?_MFJ*=%$I3S*S$KQMW 0ZDDZI=*'_QL$5N MS!89<#<#'.%;E=T>[N;DET5^O;HY,?OCG\\)OUZ M\LE[YE:50GZY&5,LYBI[=5G1R3,K%LSD27.3%U7VG:L<'4E(>\CW?#(%U(W" M9[8B08<=>$-WX#T5GC?'+UC[0J)@T?#?Q\\ *O[D'7BKJB^_W(S97N-MA"@7 M[<$VV5AOT0)5N/[)7)3TI5B/: ?F%FB4.AB'-W>SW7_]YN3'IR>OCUY(!OOM MR8_?/S\^9IS(\9M_D#=Q^LF;[595/,__CEP>&C1X_N?TJ8^1]#E'D0]!LLZ'QX/SC^ MWQ].OCMY>[H!&OOTA^-G/[TX_F1SYULN\/R*,W;\?D8RI[CA#8#B['0\L?J_WTB)M)[;S>9K??.L+_%D,C=LI#5Y?G)Y\ M_^/16P8W'SP\?'CX^*,-\5.:@WPI4.9KF^$W7W@>;"$MN)WR,&B'03MLLB9^ M?';\OV]?;3# ?WG\:._PWL%':PN$YM^C,?73NN*N-1S+WU35=ZNTR?.=?A71 M7[FUW WMQ76+!W45QQ#^M[\7&(9^CX:XHJNC]1_EE=?G^C:I/&&A[>7^XUWT M6DH[B$6W3>ZU,W9E^>3*WF&?M?/;UH9/!_<#19-.XL%Z<[27^X_.IK^DL2DYX#\?O7FV\^+5J[^?_/A]%@[.F];A]/,WL[YWN#:N M8H-,%4N:VS$$:&O/;0//[OP]0R/5O*A:\+!=YLUDIZSK=ZB5:0,-P&6QG!45 M-Q2?N[RR=N!2)J-4\ ^/K.=XX%O+CL9+?+K_^-Z]49:W63X'>&"2_0778-+EK!C/N*%YVYW] M2H_,N-6Z_U6;3UTVRQO2?/JC;$Q*4IN>+V=U2[_4FJ%=S.^V>2RJ<=E-T!W= ME^%A_L>ND3GMFHPV*DD7]GU#+]%V_(0&G?>"8*$5XJ_I7>IYRNZ@:MH?&6YNM9LT(7QQUR- MA<6HZF5&$KRL&QR^V30?:V2Y:SOK,E86[6/]\7'?EI/^A:Y?%?--=W'L4C:U]7$!Q3]8^GN>K M_D>R3/T/:^A]LM[7OF@@%2?Y:%O'__&MQHS2MGF,_E.\>/]@_>+!_^.#S'U>_4P5_^\K R^#74PL7 MZ+64O:OJ2[E)5\F_FZ)]1T_L,$RC4\ZW0KGMSQ#$I %5 -K8)MWA2L9R8%O5^#_-6TJ>?TQ%5O%:Z^ MGVX=6COZII@O2M-4-#?;#]U=G%'1F/F%9"3QV'#0Z268_CRKNOD974+_UOD8 MJ:31[>E0+9XOG.GGD 9:]7J.#VBOXR+5(MFD$[FB$Y).._J)',JZC+JN MQ1A2*_1V+1V,2GQ"Y@+F?5Z\QU#L$:V_.4MA14)J2MTD]PE$B.Y%#Z#IJG@ M]&^ZY*_T]Q7/YKM,W!S_ :,YD M7?EJV5Q%.98O'@#N&J\/ M?HPCLJAT:6O6[86L-$;GWM.9RX,)C#5TD5\MN<=9-SEWS C5 A#*RH5!V/** M?L$Q]FFD$$3TDO>A.Y/:Z<:J 5NS 2X=RSSMQ:YB5PBO2VJ0OB67]GR&O['( MT;/P:SZU-,^<9MC"!.=1&&N97HK1\_'E_W1 ME4XXCS'', *6/>& Q4'J8)E!_'25N3#CB\V&7=O*,U![#?UNE)5M)9Z%B9DNH#_GAB.B:=P4-!K^O:6(#X1+$3E'1?FO:X47Z.A?'(I_\2H+FCXCH]]XJ?$+ZY\*5 M]<).LNR<:^F8/*W$R89+SX.2@$HK*DA-X7BKT%G;NG ^UY6M@Q[.A:RR''&T M"O+N[@DI^Z*$YL*>..-7F>87=KK4,2B>#SNZ:-O0C= M>D89PF+=DN]%Z\171]^S@BCS8AZ?-OH)"SR".JK)68+"@*%C8>J0IJOX@( \ MT1'9\$W)(3,1P-$>*3R:E(+6_JRT^2391!NZ'>M#ER&017J@329G#KL!T\-. M'22-Y!'7L'&!1_;,B[:MQP7[>O"",R:)H.NZ94M^AXV>QUB7RGM(0+T0UN>>EVS.'_WTKJ''TBG5TE-HN'KJ1OJ;CL^.WGB< MS5Q>TFC&-&K=Y60-T^%7C'%-C36%SZ3?XS24.^7+G*2H7I#\Z*O0M-%LDVTS M<66^XFLG;IJ;P,SS=Z+;5Y%V8C6[23N)2N*OH(0:8]B@753;J227D'&"7Q6] MY8%Y)% A,V#'%;5 M97V^$A7;= N]V3AN?@A51ZO&(Z(C5F<&8MN0'4V*!#\N2R>FW4):Q:UD5E%+ M2 : IQ;6:1F)!G7]'9.?V]$<]@X]"+J#[$)^ZS*_;)-[_W_TNF%,/&CROQ<8 M!VP7/@'(L*&I?,+'$K:U61&15*4V5\F]O>+#+]X'$AZ1L"/^K&/W@CQ;$V4^ MJ:3UT5RJN63DT/O\RI58UMF4QB4B:[$"T<2B9\AA/:]P5 -ICW-)K9IT$ICK MI8/\D*"X)6OYHM'U9^EEL2*#KL6@V>P7+1Q/7S?&Z3GM8(=C7<^Y?)I%K7'! MHG5DR[/+?*6G^+.#6()+FMZ_6NF8,74\%-J*$[*W"HA_!HAN=C+*@+/*]H_, M=X_[.>^J#__A!V?_K+M, @0T+SF.O6UAPTPCAMBD),8KGBJ6-$P.G]AD0%2Z M[K0TD>O5\UO5LMON95VJ"2@6^N>..7S I]\2K= MZ,YEDR_H)]^3XJQ4MA*E.PA71#/D 5^__Z]!LU# M-'W_P>&]1_?#+X4'^Z,%D MNO=P_, EO^!ZI%_N/3@X?/#PQB22,2@[*LZNOO3DIJ6695H9D?[=3Z=H0WKZ MR[V'#Q\RJ=CGF][K3N:6LQ3CR_;I-+4Q?K5I7!OA'XC.NDJPOK-LS:L+A&_= MY4T3M*]APKYNBGE-3HXOA_945#!8_J*^C5VE;LTHSL]'CC-_9:E,U_^D"S\G MTTP_)!_%H 9&O=4SFQ-TJ,2V&[JBV*B45>RIII2[,#+USN2V7N(_#6,3$$>)0N(CB5DY9N0:P8B&62[) MN6E^AN2X7,;Y#/CJSG$RP0\-T4JR+DG&6DV3YZU+HO0^0@N';7F)T, Y6Y)_ MRWY::IR&[W]9\M9N]I3<+DZ 1B8;M<#ZO[/>849_V(XMUS,D)&*)-G6.X MDQWZ!$8O>K6T:XF;W3_&Y[M!V^-G0$\N$ >ISKUS[5-V3<+BP:YX9_DM,CR* M2A)Z;MG4XQG"@XBX+.I+Y/+(UW:7O%J.5Y7SPO.N4H$B+V)>3&B173Y?%ZXQ M[SGV&CER _'.)@ZA*$T9T1X"D0B+!.Z7"'R\QM>0SY&F _)DBW!8F(/9"\7> M',4AG^09>>,?/M&;O:1M3/]1M9,=A727*9V7IT>;4$)!H.?DOA4[*[*WH@R. M[([&8=M.)!6[-A2Y!10#^W@A%9IDFY+,&$<4:9Y+S:99JN)S;I$;LB.N?X*^ M"2KG5%7.';$RKM8:;RU%"OP%XN?3[&#OX "9?.CFQIVS\$$N/62$#IF:X]=N MDR;_FYQF_C30S^4@EF/AKV],HT1?6R+M=;%P" [8-[OHC<)A[:)IEY;JUH'> MXX%*BG6R_6SAW'$ER+L0AR2%!9> LPBZ]SAD+Y ")"5_"_GH$(D*YYD>;_(8 MG^@E=5HR-I!A&Z2:[.9/9X7SK?Q(&SVCWX:%T-TW6-:2(),G9QOE03:M.?05(C%&!AIWH M*%K'82*;UJ^C3V[VYB'9ZQJ.16^6.T%N;=P07N!E3X2-(.='@= W_;9;F/@P M J39L(6XG8GM&F\<^V5B(5U_O&:$O4F'3GB;[5 ^9FBK_"8YY7Q=&M,\CDO/ M']D]WC+%[QC)P*@:S3+'.!G^ CN(+%8S4I#RH+_/N@ 8@\TP+Z2CIH .U,1( MC1/[[A:>?A\6SE2T/F+)Q?6XYNI+"L>$/3+^&,2%U*$(=NJL-+ UIP6"T#/: MW9>Y9(G(3YFI9%6Y)K>^YB\WO:N5(?P99ZZ;IY^,OL]@@"POCV2U>6^.]U M3.\[X$5]_J-FR#7T<@WWAUS#D&OXI%S#UW8/CR+8SV?V"V^J'KQZ7*?DW/U8 MTWEQG\.?^P>^\.-JD(B/5#^MYV>*'6Z1.O:E(A(RQ;W;:U6AFV'!Z6P&LCRZ M.J\OX),>F% P,7?A?/LDQ,JF_->+'[+O25$O1N2(CXVE*7M594?=.=D9V?XH MA P\IJGWJQ">?_%#"*+#MD)5U\XX;V=BB@B=<':1EQV S4L!G;UGV"RYK_]V M_^#Q[EY&,U.R<5 ID* MF./Z&X3B%+98,:I9L-WG5B.P9EJ+*Q:_YX0)DP%9[2( MPK!]/GK[? =-.!]E+UX\C??._^W(?WBT:>=$/_"[1CZ[SL9AM9=NF7N'']HQ MN_I0V1"6Q<)E_8P2.4S>A5) ;.3IQX%Z@?\FGKB/2UUK%RPEIJ M!WCC\]$+9MOX\_U,)VIJ4J20Z=/\VN/-Q&:Z>;;>2HJ"T< M=[O;"&_V6>:SKQE:^(;WNK4$SA,72<8Y?6&./3B4/?"2DI9:G)!$J,O,!.&@3A-1"Y7/T5B =F+!;@SVE0=326"!X2Z# MAF$@/K.T=/F\]=N-2\8XG"BVG7$5K.?CMX3-?=8]U2FD@[^ \-_4D^_Z08!3 M54]W$5SU*E;/,Q8RG&..(^=MT2Y]O06#&$C\!X/WGY@OZ-3U4TY^E MUI2^/)9QBC17VC3Q 4Y*7A@&Z9 MK^IN^3>N/HY#@A;5E%=,^:+E,E[./_TU_N*3!MPG4(3D,(MBI.*KFA6\CO/1 MHL_R]^__Y_'AP\=/^KR!/2K XK.,]^I33*.6VZI>>,M,(4QHDA2#BRC 6G']:*7ERU1(9J?VQ4^X>J! M8>Q!!8.0L1TP_J(#,C&_9/WX$H^Z2L[X4?^@]N=D?.9KV1<7LFSB"_'9\:B. M3M_%*E0MK,<-R0+P[9,P%0>*V8EVVMR,0H M'F.CO]Y!W24@R=ZQ[-72%Z>H]/F:!_?7%:F]9Y&C3&'Z)13X".5*T@Y;@]G;(&DMVN-%G/*2E8 M5BP1&4#U>L.MNQ(" 3'SMT!QBVA(DP9$2_.:RU]E2JVB>,[N!Q"AD1IB8%9Z M!!@BUGO$?2SKZ5'[$1!54=,&-&--4')4 [ G"7?S. ?=->BN;T-W1?UDF^P% M;KD4N$4)A_\J90C]0/=%HZ)UA*B?D$Y%5@#J$! MSO!1JSP#8&/ N+E6G,.)C90;<-NNW;T&VGLM8_@Q;K>4W.T1^B MP;8XVJ_B$H)Y/7%E"!8!E5Q.=Q)RQ.EVCA;L8B! R3$_ :L:[#33E^=*;,"D M<&J!Y0P2+04VBA2IW+]]5\#1'R5<8>,FG[+%,Q7"LQR(2R-:N9R!UI%4\;BI MVW9GV4B(+"JR\;Z?!XDRMEY4T6H- CNE*_HIHWXP%^B5"/VL^,]B$=C6OG77 M<0!0]@"4#P8 Y0"@_"0 Y7#JWYU3GP\*1 Z^*W@4-^G4_QD(.AU?N96$*?K#[:; X7S);F-P&'D[O/H)L MH)O,A:TMPCBL1["-#116BTSK>K(9]'/SA41[BJJ8(^V5( ,]2:EP"\*(0'6) M1H)&1M!45YZW4\B@)&HD7-!"+NO'N>9&@2J13!()9YDNT' 03?V%4WI&3H;[ MTC3^*>?B)U_&[@"'9,_R M4FJT9A9#R-E"=\T%'Z2 $^&.<<7O'Y4)E+VJK^!XI/W!)<':-HIS3-S9,B+W M)_\"M-&@/)T53/M;KI3>6"MDI-*Q?&,J<_G3.NMM,[&R!%8 MEGLAGZ*-ANI'F1!SC_C/TC%!Y,A'=8P>VW-),.E>8WXB%\?ZRH$$ H811&X@ M*?6ZO.!;)>RRJ_CEA#D[8JGU=^1\X4CH\C!_S*.:=UIWB]$IN7ZYR8S^2&5JUZ5.7EBO-S MTZBDYJFQ\6J"SI.?O_([=JU0Y\-]H:)Z]:(:*R$3O=G,-0Z4]Z <8+K6L;M1 M)=@1>]W!X<&]@[V#QW\()]J?_MLG1>_BKO@"K$57D!--ZLOJ.D1%H6@: T?? M"L<1R$OQ'R;=&%:RIR'P]=/,M3WF XHCA%J/$&.S[86-'!FHD5^9EIS./(GG M:+Y&8"C"_BT.$XY8R8;$? D)$\)Z-7@X-#<1C8WT\5&PT,QC)<,$B&ST""'Q:C6]35FD=E#A6RV"/8>7/T M# N=;B(>,^!UF 6=!*)8HF-!CB8"D$&&\O;"S-I20 M_.S4O^8TH&7MHJFOC;D*<&M;(05Y><& KWF1.\SF]("9&8UCLELY> ^(!UT#9WO*S6EXU_'":NU!$PBRL#GK M*8F&MP5]_E70$_PXSE!^+(XBH>M:KA:NM=C KN1K0HL?>93 Y,.LT?E*/\,& MI6<$5C#CX[-63/X9T5R-F++#\],K[X5O*1-7HTAK@#B+RGVUM.#+D^TAZTRC MPR3(!D5FMNY:::HWTFVJ/@6WJ.9U(*A=54GC$Z!>P/OW;5A:G7]\DC13&IY%7ZIA-&$8SO=7!H8]?H7 M@+D;4H1QR/?R>.GOR(^"*" %#8?KF1L[WA'WI&KVGE0 \NM+!92I&!HH:1>E M?=O0""K >;)+W@"[#_\\RNX_V'WT9YE-^N?C[,^X(61"XF]P7^^XGGJ5"!FO MN"\PQVJ]=>]I.I]YEA3(T=O>(4^S^Z(&E)4L\0]?^BRT^K'C\K3N4.!2]9EW MPK$9M7;PV-:((^:Z!_'FCF[TQ3%T]0)=7SQUU"C[W[$KE3-HE+W.19%\G[=B M[?][/E\\R8[54!B%EWB*/EAU4Q4Y+AYEK^ '1!<^Z]XY?]M3-U\TN?_S9Y3< MY= 9/[@Q0,+V!7@!.EXC^^19C8V(\.P_\M(U-5Z"QOM] \/@-=MF/]+$S[(C M^ADI2OK^_?NZ>EF3Y E'U@P/(T/R\/"S;H1O1NZ7]0*&3R3_?-:NEW5,)-*; M:NX8SP,&33GA$S".G4+28<5;98C*:^M!1+8CBS RJ&#'B54@Q5'A*H9IMFU\ M,2PUTL/84J)>.:?IGQ^.^=^KAN_O[^Y#GQ[2?T2='NP^[FG3$6_0Q#"$*NY1 M=M8;)QXMMLP.XN0#_Z4;GH8B3I+9DAR<,V%]8;!5!,O\4MKUB9&VFBQ189B^';_$1(M@T>;.3H MO H#6'_^>F%@2"4E?)Q1+SF5$\";:R:M7<%K-.6!(3!/6N4;%N?7[#KS@89]7=-V MN'YCM0G?A-[%-G>OON4F'18#6*8'ECDYF_U M9O8%@BF72I_\F[[.IJ>:WF9_64#JT@"W4^0L\%>!1E RCY.'DEHXATV%W:._YPC=K[+,$?[K#EZZ-P- M1FXR'\E1!_*WK>I+ZQN.& \H8.<^S(C8J'491AE#U#-46]VNT=9NX3*S^%VK M(J&WE?!KSEO4FW"<4$AP5P63ZVRJ\#BJ5IZ?';A=7,*5'!4)Y\YX: MQ2L)-(PD42._EWQ1'ISO M0A!=)-UV_H@&MN2].BVA)+ACY5HXR#=IC6)MS5_!0"D=*;VN4G' M>^X[-\Z[UFOGL9Y[6\):(]T@!IFP,X'C6= _TA(>@^W-5]PR/D(N1;"D!'T1 M %9QG]L0C3,M&HZ<78_8$*>ZOJ+EI//W.M980*CK*K6Y02RS 7;@E?JL(. M*FO=;JF^NDEZ2\1/X%MH!C>D00*N.0@^;[BEG*M&&H(HX'O&1[)FX,ZYUNJ6 M>_&2[K!EK1MF.A PP>;WD1.#AR2-QS>\? 0PX0PY5[-*Z2W?FM_#O[;2C6$$ M2A?&*:&R-HB&GS@ZS^>M9K>CQX728>N]G4?I>!F?_)0OYI8U(1-^C!!I&I+# M&K>A!C>LQ%JVU^>W@YXVU8SQ1S2SH2L>![HG-RK2]I7V3K+((>*?I/;"QQ'/ MC.0VW/L;N&H.OSVG_3Y=7R]QWBQE)BH^IFI^MZ$YD58.="7G^D)5Y.NH M"O1IV!#\Z._J6?9=(TG,M4W^O!FVKD>R94)G' BQ MOR^8I*D=4+=/\C[&Y!/%E+T&A*F56!'-^&EW%C6T;* MRJZ5J\C87JH0)L" MJ6+87NBI2UNM8\(!;P&FK:V@)O@H_4W<8$3)VAVMH3EC)BPN'FKB5^?AHR,? MA_BC5V;O"]4H:V\N]_K*;4%C%&,4Z608XZ)T/B:OO5-C<_SZRSBZWCK^I,U; M8P&P=QO%+0]5;4:\+;$QJ2D'CB+D?5!**%W4>E0.%9[7RT+FDT?#CP[CB18O M&0Y30=3S>;$T'"*/3YH[RS2TN/\'1B:D,^'!B".(S1TPHERIQ>3UZV/)VEDQ M76JXN6@YT.3:)=C-+9+Y+]A[>B()N,$/1>8EQ*3]L(R0W)>KPJ#Q.7XS,3%, M(2"Z4&PE?R0CI/F%?#GVOC1:BL-9@T5TY$U)4'%RKM"DFF1N92-W/'/BMTV] M*]B2U]A4#O,'%^TTPA*%&?>OUFV0I[K9O)PQ<0>)<]><2?#IK*:95_/S H%N M;L&6;'64P)6%K&H\8[M#PGY3PO[AD+ ?$O8W(&'_39A3IZ$FA3LJ^,3;&N=[ MTB(UL18\!R2#H)2?,I#3,HB<+1*M/PSZT8H!U3!Y[H3Z=H,"E2=%!ZGEKK1- M^\1^UX;2I]WLAP(Y3E&CH[C^)KPK%.K5[]J#<_.+.0.Q"4*>*\?P E;ONZE% MYR@B[K5^R>;VZ?O04U#AM=(B"NU#FLRQV(=U=5X77&+.UB&W(9@X("FX>KL1 M>/:'+,&[YCL\3>.EL62)BU]PX8>6P%OM2V32!:Z.QG]M,LD^6A^!J:2JX2PO MJHM"C3DV#J,@+UL3R_R=X[+6"(HSB]A>P7W"P8.I4A5J_"HK260YJ!Q%M!IC M1U$S3&(9;H>[TUQL^#T>?%$TR\XR6D434D\^:L9. $0Y*JR/@@;RLSAF<77P M W2O='1N#D9$DR\9-,9R6L%^OJ -MUS=.4%&5$]HSUD)0)!B9)1QI+=,4*]!][;2/VV]0(/0UX4.)3@%REYGD_6QE\M M\^F4^V#$U0H14$/#S8F';6%%<>#-BPKN#"?I\2LY%)CAT*Y2J$A^GL-)MPA% MM*<++O0=OXOT7O@USX6\#B] X] ;H*+3O>@UF*E1)XD =_CU^HSZ6&Z RH!,GRE=(0@96I54(0>+W\CDK] MZKE'+*^D [YSVN2E(A_U.+0@")\8;%$D&L%O( V.T]^DFT5L]1*FW960C)TO MVL8+>P[L*O58K#C9GM%#-,_H[QA.SK$/ %B,QUE57&2VBO0$$?;!*K1*2HZI MG &NC%,Q*M[UH:$S/+=_]^6M&,"O]1G:Q/>P86$&%6T2A;LTJA\7"/M=$%=\ MZL[$#2P!)*0O/*1)/D=,."$)&:!2QD.ME-G=W3X9A:$$F&>0[=[%EPR8P MTQ#HR;6F60.8R04KC%=WJQ(>^<10\BQ2H^*FEJNUBA)>LO=NW,6[24$O(=1F M/5;D* O!T#9$_C5F]W;6M3Y,Z)N$<;S(RUW ;:M\1'O&1KJ;F1&4U)%NX6[M7K)[K> M()X-793H()-ZPW_;'^WM[>%_G+VHQ^(G MC/N'<,S+;8?NY@=$<)*UN4O@6]+/4::!\W =FD59/8/_T2W%ST00((;(5Q4DU$O:/5AH:^H2S.!MWS-4;P/E"8X+$0 MZ.P6=>O$2R@^SJ1%98N1B1:,6=MRL5L& GOGI3#@Y]YZ7A&A5*2Q^$;N^AIZ MRN+L6I3YV!G9*BS$<_;4C>0P4.4"J;UHQ*ZL<8B#BHHMY:+ZM6NTL=A?8:.7 M>3'W6\@_9,#[7Z=I[0E''RLG:[Y68/<#P2)4T?*4#- M5KBS^#01"M'B-P/O:TVU?C[*SH2T$"5+9&U%(QS%:H,5P;+05NR]E*UM>QV) M -=6(>B@X21^XTOR #3\@B*;"?B.W];J&MIFC^*_COMWE6MS2RM'RP1$&.HS ME* TX:^X@I600_?Q9AQX*_CPX_-6(LB<(DCB;T#4N@E.WA&."8X9(O0,QL]B ;/1 M4W"**S!#6,EW0M?:3 VNE/FEA5QLX=HH/J #X4 )C7'H6ST0UV^K4OO"!/ O MBC&""L)VVP!O:,01Y!POU$Y-]DD.2-K8?**-T=0@3VOTY(-TW27I @&I:WRI M0U" L5ITW$.M:&QH L*^5GNA#-(V2)M(6Z[M M/&>"U \BUC^)^UD/"8"6UN[HC%90N=/HVJQ M##[P*E(F J]:)U:%5NK#2&L=5<_E139.UNR2K>1 MR^3#<.PT 5>AVPK@*OWT6J <2Y-GJ>QO3*6)(C> 2UC!>(]"$&;TPY(/B'X_ M/: 1"_J@S1GE ?\GP(DYB.C_4A'PE&? &JG>9,TNB8!#X#P&NU449FOVEK>6*ZH*4D36C2%(S(13%\JVD M(^@8ZEI79M/.E9X.N.Y*]&Z(*'65QU<47+P.;+#)ED*@M)K5*(PZ3Z9$:$X! MWE:D] 5,X+5WD[9*.K2,6R^ )-@P)ZR3U6ZO.H6H=Q OIJ*(>T,/[A1D#<) MIM&2M(%U&L_<,*A1-!+E8Y812K6I#8R)^MP%L&HHK[T$M@H%IU*7((59DD&O MF^A/3(6(XL:AHT4';T':?ESG6DFO>L%[&:\HR&1CS2ZZ7MLR\S/I?>CFI6)] MC4L$#=L86(K"(S"\3GS)0AX*HIJ,WLKJTU:8(RN*XHIKNI_?V2,MAV158Q5\ M-+%:-97>.-HKFUY8MB9K2[#V:?)"*\)C+0A4K-!M]QB]:;/31N<58,(2_*=+ M)I^)G<'EP[!G+*=O\/T5R5GYPLZ:(BTC WM([BIX@Q5!R-/?^B'K=_W![%E"-+_H8?U7\)L M=W&.+ZIRO\*$7X>1YZP;ZOJ8L9VNMM=.!\_@A"OY"KG["G+T\X;M3A. MI+/ 9\:[?<1TW5@U!3A8N_L%NK&:R>U+WWFBZBL U;5B#[B+ND1S%X.^YPQ. MXI-;7RLHG+C9)7.?BMU,GO92&*#'W/HA/ZN[9:1C_$C6;ZGT+UJR8I1\0*>/ ME]ZAY,$* 8XUS_%O UV1=K"!5IR!G)D>X/MF7'4-EVRY4(J\F*U:3NYM+N24 MHL:C3F<9BPW$6'30]WB)C7.N2@L.5_#MV0K45 9^NL'6CCJ)+=285]U\85 MR69P;[Z\B]O6)YY8>N5F0@&VZI,:2K^E0%$%$Z,DG=J6WL6(K)O(SQY* M.C:5=#P>2CJ&DHZ;5M+14U3FO4=J4$],W_TN]'V*?RAJD,,ROC]WTLZ>@YO\ M2ASXK"])^8EB;^DZ4GB2Q=(6%0C+<$,J)?MEERHPU!G/?=P>S%,:!S,@M56@ M$_%"PH%O3;"DD4#T(SK@:D[I"G* AFF1VFW&Z,2UXZ8X@]EU5L,";)W+WO#% M;X)2?.7/5YRVWUG).FGSDZ6;9_M'NT9!^)_%!L'C6L6QD1(\%]?P/_]:_+?1 M%+(K6;39407GGYXLA7\5WH]NO[?S]UM8!'Y]'^V'CNZ7/97BSHC4X:M5(]U8 MXV^;JE.)VS"7QPR.(2%_#?JQTL&>YC'WDU[,+*87BQJXX.GGRE3K&%VN//.0 M50/[4O)>8:\OZ6\[Y4Y6TC3R:YAC!5PHV.> 5R-6X9\]<^6B52LO(@;@O"CG M>5;*T,: :8U<55%?:.7E2N@DV+<@&Y4\LY"9J(2<4WQ";3E:2_ E%!!'/ 1* M.*A$@_+*2W3:(Z=P_*^N$*7)7; 1"VU#BSUV:-_K'Z&]#[MWXZ8KEMS YP[ MVG"!FU74)&BGQ _PP.9?%3$,-F3%AU6YVE"G/BLE__>F7'\IW MCP\/]QX]/GST)SGJOPHUKC;>"XQ';3$I\L:SG$11BL#C[TL#C(,,QUK$$:HB M%=% ?:CD@#L[TG7/W-BAOY)0Y-S;'V4'>P?W1AFS>;YG4X$$\=[>[N&?;$XY(B1!2]]&A.F)E/J"(])P)]D+_? @)7;QP?H)GCETHN,C7_C@-)(2 M!4MA?X0I8T(!]WY1R'2'Q"%&>L,T-! M1XP[0P^$NOZL_:)N:@SVZG%=+7J77I--LH/1PX?W2.N6TL$K.I-H@O?W1P>/ M'JS)H[("UCBP0O,PO8J6M44 L@S/*-I82+@?;EUV MLUOBZH76E7*T2?@]^(AWK74N _%2R^1Z-]HHM^Y])W\:>]PH1&!)#[N\$>.CR:45 M!*F4XMQ4%G.:5H+[:+E)^82GT?E7XM-<7U]Y+4.X@K1RT'6M'RYXQ3'!;61[ MM#$V9,M:^PS63(!T$I9BN-.C+86$0'Y&[8V==,8\6*+28I^=Y M,B %+<";G-JA4$\M%Q@;<<*F&,W&/,I"^(#GI X$*ZPXPAO0LL]KW"LGI]=5 MFLV?)&]>^#WOREJFM 2($T;OBD06=C+DXTG[M%.(C Q[HCSY!E<#! M<0P24GO[*:T@"=*SD'PPN".$&OE3X9#6[(3D=23 7##=/I#KC $$(1BT6IRJ+6DC'-L5XEHERZ?"+F>)PP\7<(6]$D3" P M_E$!C2(;QF0R:#<*#-T9V+^(]Y+T5O:FR$J4YQ7$GN9.[=46]=-/&-9:@78F_%FCZ:* M+CXCS4Y2M3,N7:J?-,I^Z"IIT?0BO,>I^, >]FSY&# MV_!\78#PZHA &HR!+A) AZ1.DHB=]GNV6KASL4.]"5M_4E\ [*3$C'T @%F]; MM]2!?2/>[)C*^383MBS:UUYX:3A#$+%OLU],$ODOJSNF ]>Z[(M[J4*]9U;>49( M!P7J0^&MJ] 2(SH0 &]TERT8ZI>S,+TL^*5C5:MP-WL! F.(#IE\OW;-*GN#R_^B ? 7;T_>:%C[ M/V06M+\;+F)O2OD>^S22.@>6P#8J9T MBM^^V3S%?7&@VZ928F"1BAQ=:X 0? ML_H\M&CU[Q]>9_4/=N]_XNH/S(XW'P:POS?@ 8

,F3W*$ MD5O"\"IO[EOZ/[@^ %EQL3]4\E+[QC!T6G.,K/B;Q.%+QQR[$H$3.78J6"D$ M"R3Y.0?4] 46W#7;0L(]2F2R!E,V1GD1R=-PW&I*/T5FQ#/AW\..)IE-6,ULZW5;3HI 31:$\5$T1!D]G;0&F]U(30AO<6AFOP M4R--,WZG[FAR+6>1O=6,9\,B#TD!K;1)E\._L\4,3<@E.>VEA:P4A$(NG.\5 M!!0P@P&;\[Q2QFJ)V@)3R">.E$M%4>0HK>4)Q-9%1N*=!CED^4C>Y)KPF/3F M\52-LH64\@ 4@SE);Z#UKAX%LV\@F&-_MUBOC SMHG.(2HTSCGS6#4E=[NO_ M4'O$Y/S6/(+[NXB"0$92S"9SD#Q(!U>2&7??4#0OG;,DY"ED84:JCGLGWGG? MW81O ^SJ3/6^32@*5R6)&7G&(4B8\PIC#Y-4H&U(=G]O_R_O_B-[7>8D/N)P MCR4_,8D:8MAC[!(R\B]\E[5IZ=YSW: S[V86!'<%*VW,3_0 MA\AZ^!]*GM;Z5VE;')^7;:$9I0N"#Z7>>9GX/3;#Q"PE8*V#I1":MZ3XH2C# MBB][OP\0:6Y/AD8#Q<2WZDF*P+3&0@+E<\0H1/LM9Y"AT7IO&?)-.B,%J%EYP74^Q(/L%P!/GWG]6MM&=8KIY8E4E3"-4)OWV-K(00 MQU6^'3)YP)LA=_L'+*#9'[HC;B@R\F?'#0.S(TXX\.R^XI4]"2?U@)*$\7^I M,T5G7;9S?Y9=UQ4HC694[+ -,555\681'51.!\F3H"Z MK2%U!<4"N.XH^Y^.O"4'N,FVB_YGE#W5)B(;+WF$VW">'"8R[:Z)[SUJA;$+ MS9N'YD7VFM*(!:I$;;(3)F^HF]:L,-J/<;=ICL7JC[6R]514EJ$EC]\K7OPI MXNJ<3\G^$CWA]/BICTK"\:/9):6W2YK$,%PV8+8'I.LOG.TJ&3FJC6IXH6WH MHKDR'TMT",(D' 7WR\->RE1K_^:LPJ12OR.MU\[D4X,#T$#[!;\S!L-CP<(2 MTT&QE'<%$F"4V++QYS_6HNI5?3\U:S;[GG4H:^3H9;\MCW7"4>Z7/\QFP^U'9^2@[K9EB M"Y=NGJCC4._9:^:7K,H*(=Q3.UU/Z4.. ?=F?!M6)9IW%* &=TLPYV^@;-O> MNJ;T2[Y-&WPZ'*2218$14 +]TA?O=#,S^0*/;8M9= N!_Q]T3M@UY*KYH"4X M]+X2KUX\.0E P+TV)HPK=/2ZBH:"@<:(.I.R8GC.P7J[$9=ET6H!=".HE*L!DLQ1GGF?'D_(H,:_OV6*I4BG/^]^P?[]Q_=4YR_?O'0 M'3Z>'$X/?SF@__YR_\&#>[^S=?_SPP=0='B:_.'E[_'+_Z,W) MZ=^?'SU]^^K-Z2^/#^X_/-C[K.4#U[7_MW4!I#%R35J&<68ZT+O:NLD' 5*, M=\Z1:R>-NT-U8%=I0%5(G.:L]Z?J:2OJ2 L&:;/7EW&=];;;\%X24B94X;^K MT-B9AM"U8H!KBTS/TN+S)[4P7QFUC@3MH)T4@!N^$+(;;2%J._\LJE.,N6ZN MI11]5$%AB@* @]Z:+P*;(0]U&I6IB $D =DS;U&24N(<0%G7[[1/HL1OO349 M:9XSZ,Y\HCPAO])4)J%_MJRZ5J,05T.&[/G/]?DO]/FG:\\'ML@"_XX$J-+( M\79E%^;J1FF\(6??S]GO#SG[(6=_XW/VG(&M2SI2F,8%#J]QB$EA_\?I?(EI M&)AN Q\)TQ4*\YX$8BT6(OUUVUDVI;'X@#3YX4(HR!6+Y&\%5J$-8[56SYW2 M<\Y=*!!&-0@??,)OI'0E-TF%?O7NFPG=P&M?2)D0#]01\<#M-.4^,1WU*A%H M87KHLR+!=D*):(\7B67T7Q*P)=VXH__DFP PB,_PWYN(T?N#S>A60K2E!JK9 M3IJ6*)4T'J+30/=JDD"'PB E\./(M!# +PF895T$SASB,RZ>=29]9D9 +0E1RISHL( MKN0D.NEK/YFQ*F^5+Z40K[QDUA/%H H4>T$F@B=3T0H6 SYSTDW>XW>.P%?@ M?,(PR)ZGS])ETG6\8HTV]N74!;#E=Q'0QQZ]1%KT/-0^33HCB/&KCC>V!*ZC MY]1SSKZ$E5-K7/D75)[B'MNK>H3_-($DL26_%TZ7JW^!B0*WGBS4WJ0L$'"I+^? M4A1ZH1)&4Y0KBB0%*U=;)( G"'*8&O� T")0% %#^"']\0EQ)=4E:GA$8_ M0M9+49Z868,H#:+D1>FLFYPSSB( T#U5=6RP#T(S",WZ@9:$1OAD2SIR"0,O MF-@]$3?(*TH^X?!SS\@_"@5TTO.CJPP)M6 N$T-N"FYL$,M!+'OQ!A U0+ZT M$(9[8C2=T#[PS.](6FH""5N100J_; M07H&Z>D%.L_J2CO:1N5('-/4+_)8TCBIX4UU)'AH:,%D'P1L$#!OI2.+)5G' MGJXJW=+J.,@LFQ3+06P&L?$&$7H:P1[OFI@W3KC? HV1%.N/XP*IB-!]4$2# M1$61)\YI"[>&)XWF"G2IK#+KFD&N@^ ,@@/!>5&WB!?$'/-%OT7A[G9AN2'X MA:]$%)\KO&,43U $Z^+*E4TI)XZ<:"4+"&;&N1*H2(O(M1OYEHO3I.1+[V:] MG\$!!Y*71NCD;CUV\>-)W#>GF'DU)D[[4VFNT*>IT6)!6[JC_S7:7Z.>-Z2Q M5V//Y0&!F'@N/4MI@Y.8X5)@*5(HT*8NP)[K^X["^8ZL^S>W&S3")\7V,G*W M<\:..RV6@0IJ:05I&^%? CD&3[HUW(D)UK$+0^=S'(FUMBMWR.MIU>Y:3P7/ ME#@K //32F^T3XQ5)V2#"25BZ"'D(0!";8MK ':#V(UHF)<5VC.*YVJ 1Q$\ M3WP6X#H>BMW.: [S; M(.-8Q644N%E&_4:\GJTOH(EX)0R<[L.!VW6P=D 6EO:-1\1(]RENJ@ND@AD4 MOA?1TJ=WC03-0U)4'MJD&;K5]5HCY369ZM9*Y9YS0"I'A2WM=VZQ.O6TQ3X_ M8[ %_3$Z=UURWW>9A*+B[M(M"R/>C)3"U$VP8T=2"B=T_S4T6"#>:;52SWZ5 M J\CO1%PMDN?O;1>AV;A++#W!2*L;V"MKB.F'U)A%5,9W.W=8!U5 ".>.*B, MJ+-+/@<3F7?Q4C5$;I-4:0N_2-8*%ENT\6JSV@6KL>3P]+>DQ;EF MLN2HBX_?<'>H2-Q8D7@P5"0.%8DWH"+Q1NKF3_0]7VK%?L\^9$(.MF<$3JCG MK]2=\Q&\X1STU8^F3G%CI*1"ZW2!D6F^"WZ%9:_B2S9:05O4=U1Q">;2>]H:]8=$SK]I(F7HP1K;&#FJ]"CC#Y8B=^X:&"#*VU< M+&-BHK-T04PB2M?H*M],4P4VKBRNME04KSE9FR0S*DSCL2I53NBLB^>(O;!5 M\.M&;'W^-.IA8@0W46OAP+E1JE4US8L2=I)=KRWO\L6B5-:X>+)L/&;)Q/&0 M*;Q^:;%WH:VO>O73:'Y$(ZY:#D>UW$,&_SU';-&WU@AXU#6/I1%6,4D/>(^> MRWTP"44K<(N5KY\6=R0[*R826HE;F _A,H_ZVM2%'"ZH$@T-0X3HG.UJMKKM1Z%[ MKOZT5X?\4KX%6B82AQE!#F=PL8'R#->PU+# MLO0ZR.4EM^GFS,&TH\%\UAWW#1ZZIQ;IB:8??FP;Z5:-J/1VY<;-V(NRE,6\ M\.(F$MJU;$P;F1 Z'M$2>B)*-"DG%^DW1.M2%0,B3Z M%2ME<;R\$M%><=#H2Z\7Y A8PS;Q86J>,5L+T0VY$]6=5]?D%*DMG.S@OL5L M0?1-\4*OWH,0O9$6W>$;:1M5NO.BU7-71-/?=]L]M6_F:A2'N25N?^XIO+4^ M/S+'_Q /Z%MRS1(:"<6T6PZE7/>0C*-02EU'ZX6N97W&YFVT^Z)V$..2.]>; M36UJ7KTO\)MPIR;[L37+*QP6WBD8.*^&,;\<-&#)6WN,Y M2SH+^#I!VO@]Z4!D5(]RD2,/+!WY>$"97[86E,>_?S84X-AJ#3\F!L/(&(.3@WVKYC;Q+'-%M0GTEO5 M4CV"GZ'E>WDYKTS*!E^/MYFPDD,@0&RHNU.,: R M^UXWO FE:IBIZA=E;E#@#;_RS"8+#J!K^IG-5_D=/\ZRTOYRQA!C^"9QL14* M5($NY'*U$-N50^-FU8EOK ]P6-3^BL'+"S2HSK\,SAL2:L[06]-ZOQ#FLPWXUJ:7SDSV5HD[V01^?Y0"XP_\3LT!_D:%L8W@6_EH9IO M+_UMHEW=*%5O9 =.-MXSFKGPVKQXG&=:6\&*<0DH0M3'"PUUN%\$;?(LV;MH M/3W;$.JH2!G"@0GA1]FWR$V2TI'#$]5GJ;,;N$HDE9G&<]9OJ@P!R!-[JTHE MWW9X,-CN&NR&L2XMLE-%._/.9:3]T:M(6$5M+VRW4=3+8M%1BR:-FEE.>J/B MYCT6722I&_\4&+#I M@ #X![''MA^K:R- I\L::A@?:>MQ?E[B+,[[OM=IW]WDK\&,[)ISAG([H55 M72K0(@]_06Y:Z7N53/(Y\%AF0"D\)#V9O'G7#Z/SKMITT.4;8L(6"8;@2(2@ MM6Z3%M/U/272U+]M7H3K\5)&X4;W%EM3@73IJ#5\H83+'&R..KA$K1,]6:=7 MN-ES%F!:/6O//++J8BF(D!./C0924N> MS(YLY(ERR.5+V9ME;IT0?.M"&6AH1%[SL;% \EZMV7Y+4:&:3N+VXYYA)2FA M>*S12]U\KVY 3?11$_<&U,2 FK@!J(D/@,=FVH4JLA)"S$F#4CL6I])$;)KP MT(#EA8M/IYJ3%^VBKB3\0O84^EG5_:(1>!*^^\ H[G1K881V;12A;T&2650V MBZ3W+EJ#HE'2#O*;62M]K."GDWM86;" \=!RQ<3YIK;HL^"TB0GYP6EX+D&6 M;6Y2&#&1 :DVY;"&\K)P)QYZG.=ID4S;$A%Z;Q0LW9RG"5ZO6+5R4J_7@7"W MRL0[!6%')V#SLU5*5CK/?XTP(#2Z %6W"\.XQ*SHW3L8BNJ3KXVHER,IIOWP M9E0*D]Y\7C>>"=4/)P+%LI6,S'65<8\@]Y@QN+=083 M^*DTXR0I.T/SJC0HW5M6S29AYMQ$XX6TGKY.B>$. =%L95*(8%M6C.60! "6 M42B_5R\]2G6J3;G):TF%;S/\A31!)2I7K#ONM\'"U])UM%^EO%%[&,&;3")[ MW$P+L0L.?9$/B,M#O"'WW9=BCSG55J'/'"-[6G<^Y];O*5@D1)@URC4M@D$/ MWS-,G 99T&P]GNA)/VP;Y9&8KT"2YCFW0>D%,GNH7M'O<:PUCM%=^=NHK=0X M%:B>"$61@A!Z"V=3#\Z6PO[''N*69%FLKD(15XX;Q)*:6"7Q_P@98T5?*=,U M4O%!I;2AGVV&(IPKU4H*2HINVO,I+*_E3DC^69*3M#?MMXM F$Y(>CR;55X/@OH!?>E,/R<^03#:C)RST)L9W MGP0B5Y=VNC!M"S)3F\^/$4=I1W%C:OW$)W#HC("6J!B:Z*XKKBS(UM/>I#1O2:;^.\]6W,BK-263HUS&QAXY$Q#/F%:G): MW&:IQ0'U@G%;L(QV6K1TK3@S*>5?6*5),5U9%:2\(=)V_+VVK;Z=Z:Y/U.!/ M0]6$M_@9IS"E7<9+4$W(&C 3;Z,%:3]32[1W]&^V'=7'CGMC11O2M[YJ%>4' MZ"KR77>7+"#.LJ0P$L.E]T!=#.>1BE3QVI2W.R0B-1G,6M10\3&J9!M^H:W! M[B$F85#+:W*@"#[.'CRUOIHC!1(FX%ZYX;5NM1$TSLZ:TW3+A\58._DRO(@\ M4?A@%QZS'".5WEQ]*W@JN,F.K[K&GQU;ICSEK>8N#>8 ![ZB7='DYP*1((M[ M0_L@CV+)O2<5"E[74#9KD^6C>P*E"0/F.$8!1YT#CK%("?66@>[6;MG#SE]' M"_1ZN.L_/!2T!!YK)6:+9TME5)YGMLCF@5;ZC5]2IJ%'V%\0E=?;79CMP%4@= MB*^P'(_=8FEY:],]G)@@,Q<9!\WJL@+5.A%.#,@>%^+ +Y%)8= :1%"\.Z&F^AIS8M M2NN+&1&8]6;U)7AO^-NEK0@KON199-EN]3B^!-!E:(G\V5/I]X=4^I!*OP&I M],]C!W!KA+8;XX29=F46D.&B3!GS7YJAJ8=8GNBM2 =*ZJ:?54>]"?U^X(_3 MT<8=YGZ,^TKDT4BDT3^[[:,UV!H4/GP,JZ32-\Z;8'2ZF$05)TZ*\3E2O$=3Q$S7=L&EH2#-+BC=])OA X MJB_6#A6!^'/J&J'-G2 .F2;TX3KM/WR2.5#=KJ7[T*OGR[ M2::8LM@L12;J-Y>8I[Y^$HO8>29THWN[^W^F MRPYW[_U9=,Z]_=V#/S-K_T)*[,N5,9(HTHY^1C;3*C"6,/& R)/@P4/_K'-7 MG].)!_3DI 7SED7-X5( >.QJI+ITJ0LXU0,UA$DO$Y80O6,"Z!#K?\'XH5K M5Z*CCLF.[6^!GY#]AE+ MF18/2/@=!N_\EM2DYVUK'0#TB.:SPB/;=K-CU'L57@>;N/GGL2*F@RHEDN4R M09[[A.0O-,W#/RN19%T:VB*]\J&VGGM4:PH>B+L;"'(5;# ]VKW:"MCPB8(W M>4B^B8F4J_B)VKQ.G##'3QB9Y&63^3=)V,W%8"3]4%JC-TS9/>B ALWB*\W\"[*L>."RE9#RFM,?'!]E MH!RMA-!QX"Q'EQTHOJBX4"@'T@K^5MD24,;$/UG(M%0K82" ;:GM9%G+D6@5 M6M?%G,F%?(L^/HSG2C:3 ':K%,]HFY#%-=HL,4$6K1)@&RTVC$",_<]8>L18 M<3!^%R7MFPD@E@)9O&69B1APJ5=;L)):_M7KR7 M$G%;QRLN7#"M%4[K(WM[)V7"]A=OZ%=D/^SAB)4YV"O<.VH67<>WC7U+1H=! M?2#/4J-D="75C14[+U ?1NT!6/Z2]EQ47S8> ZG*3#V@RDHLE_O[9+GTY8Q6 M6NR>^X=;OQ5[Z/[![N,M%^Q'E9A"IVP#DIK^T-FQ/^2L1.5)9":A;(!E?\4' M0RWM!<7]]@^-09H4)6T;.=&8M(:&+F>J;.W< MY+>.D[S"[BH2/N3(?"6W#^I6:!R923FNCF:-[1NHJP"J>+J5Q+1D1M/X+MBE(YI[F53[)1QRJ?+#[ MZ,^C['#WX9_%9-]]X"WV92U4Q,'7BZ*5;\&E)2V<5)1G(L:0Z5KXRU4$D_VB M;#)"VS6 5H>\_1\%2YS;R<,,V3$CO*>.YG!$8#L1EON$]L=*%$>A9AW%C32N MJ6;S\O=N@# .0B="]WJS,1#38@RB,HA*&?$\D-Y)#O,HG>--T*@=T!+=YZ.V M7AXML8%DWHR'0>8&F5/UY/GMZFJG3PVM/4G0#<1)!\M-7. Q*>N:)7JU\1\: MB#Y]?60-1(5.1OD!,*STAIN&,,CS(,^B0S_L/ /!<)&7792 \KER.,7<>#1J M,#3(UB!;+%MOXJY3TJUVZH12D6U^P$GJL1"WL/I$ZSLT,+54&^M!Y0A --08 MP1+]-D#-!Y'S(O?,\#;*,DY. WV@"!^F+(\JM]>BDU\<2/Y-!-JND\(#' XF M2&)Z &VS<]849T#EL=6!_#0?%;]V3=%.3!?0EI[1VRXYVJDHQ="R6.$8A4:1 MN=%'XZGTYOD[7L*Y-/+(%OG*

S[8, :LTHXKP,W5@77<.!9\3M?%\MQG/9 M'X&4^F>^O.WX]# M1#W$K->>SG-CK9B8OY'FH5*BSK.$!0<-Z)>1M=!FE[,Z)-([:7&FN4LWR\MI M/X*^C&5,^3S7!R1!U@)0 )PG7<-OX\'I_I6E]#'X)DX>1$8!J+"O,S?N@\-%-' PBI#\IAN);:T\Z!@:H_FT6K M $7KA*%LHO1=-T]!74O2H\+*OF2_+T#*6E<5 (GY-ABW-R_SB1"][\AR*^OS MN/RB<73Q;X+BM(\#LM:R.;)ER?B[O5-[]4EL,T<".W7[)J;L=T3G/IP80.#@'-Z0MXZ"6-"V!+J3.*,7K8Y Z4O(PU.T"B49? M]1AO:E2TIE#L#P_'S&W6H4@SN5.R\GT+G=["73^"45/[3E M#2X?$N<1#JJ2SCYX%IDMNX*L\G5 -B5ZHL4%#[A7P/3QN3?UAY+($5M5Z[UQ MHM)&FUS? XY/$+Z&P>4B_.&-PI 8CL^+<&%M-ST^,1[FR,[[Y6H!QXOO7N+F-?39;TFGR5_K,[3$ M&]%IR^\ AK&++IN:U 3^EY@L\A?%J"I7) MTG$W$^D0)!8U*4R27>YV9=?Z?1)V!&3=Y]W3CC$J\39Z]#66!GU2'&$M/3=2 MT7JT0+#_Z$FW$'?_@;;LW+=)T) )FY973TLNGEC4A> 9V%"RHSP?C[M&-'T* MR.WO-"D"$:)NM@AHCVMG\)7O&F5UF/[1WO%2U9>3ZFSA S&Z.3(S5$UA"^LO M; #)LU&&8:5/TQJ-D'FKA'MBFT=EM#;6-;BJC? C\9IW2[32G?T[5VOK4HW0 MOQ?&1MPE;_MI%:' 2=G7YY6'.R2+ZT^@39AS.A,9_Z6]9GJE/V?.%T"AC?;K MNO:0>'HI-Y8ZQ*0E@48\UTZ= /KW.O9Y'0'LIUPG!^]K0-UN1-T>#JC; 75[ MTU"W6@&@08DQ%R/UJE%,D4!%<3DM&W9DH\F-1A'U:&36(OX("U$NPG&*'4+R M*HJ"NX@8L=PM/(4^0QLHM7ZYB%;=&/*N$,R2"EE?PUKX2BG?KL7K;32IP:== M&]L.J3-26BLRZ'U:'$B$\]6!OK3XCH9!KEE3-+9^'+ZP:&0M$]5TB#M:1M@M50"PYC )!VR?)04DH5+RB4)AGQ=K"B$2:7,J/ M@\/CF5@BBRFB6>&P&5D1"[:>0VF]W--;J-Y1LDX:@*IH6)0S"]Q1B>>[E'=^'HI )"\9QRYE#R)&&OJQCH(F&$4\#-@9T!4#AF80+!:L MGZHX&L_-.Q@<35)&2S!O0ZK4MR5I(]EBOC9?C^JX1PA:[142ANW:U':4Q*Y% M9]J%,PJLRRJ;UY73\ <9C"MS=3&*05H':15TK%H)W+I0VU^WFMWSX>XSD9UQ MR31O8+[F#$272#KKS$&N!KGJ(_V#H8P#U0[.Y#@5:[MN>IB409H&:6)I>L7T M4'P*"@E#*B=Q1:]Z]8/H#*+35T0"N]M6=_$.#UC=HE_5ZK*F!(^D@#E [%S&,9[:32M3SM M:<^U#8K,4YFT%6A "T"1F[Q0V'N5HX41W;F9,Y)+E2[L-* MH]2>"$X4+*-T>X%OP;]'MZS<>)]0[2$#V/UK'JN5/%6_Y*K M!4"3V+$U%[635TR8A,1.CY#S7"O7$YCZ_479HW3SK-D2;KLZ1'5-!2:B&0?:%"+NM+PQHJ0A/! MJL"#R24)M*@D&&7OH2,C(33.@$@-0 M9G<&W@WCO3 >F-%#@6+$K.*8_6?V\0>@6LMB)-F^ZYXA5&DIN=,-G&2-Z2B"HN9?,X "CE1O$,A$!* M76M#>C<2)O8>+VTT=,V_IX9 %H'N= >)BB5[P/AJ _B.+^M;CW=K6UD^4WA) M8WTE\3(5\ V<=V3PP5[\]_^S?[CWA LL?5QD?/_AX;W[]_\D=[\!/L5VP)D4*&C9#&\3 M5/K6V:]<%(&*(*DU9I/>>R7TUJT$KM)C3*NB]&>^LEJ/MZ*Q(A8.&&9\RDV# MEL9/D^>&&T3VI=PHO2ZZ;?!O@>J*SM# CLH^:'SX1K\FU=TE5*MQ2>?F>)S5 M@BO]1VM(/2E1BH9Y5]V=:V(?MXDBX@HUS6]/)-D3)9C*.7V(P=K.<$WB M>.7VZ!(CPX\EJ,)A):8 %)J$RZC%#OM9%H6E00/VW!/QB1L7K28:$A-SQ:QLI[+,33"^C"%;AB4V+KLET3:Q@)%[/8_:-#C>.6_"LT5/6%=M6?23(W%4.J6*,"VR.48#-ZXQ.V2 MB,F9E(M+>:YH"K[3!IRSC^Q:/ZD0UHM#;4$RMA;L#3UZ/DND+@;!1ZO,890H M^F6!443I0@EH6%;(26>K"VNEO[[&LG(M@9IRK,&B/%8@+&0+::$,7QJ& 4X; M4^4RI)$XR) L?Y7&+/*5UH'T95(:B#4QALDSLD2[Z?K9Q#0144SC_9",-I0" M77JU^ZD/OWUR_AE*B8JT@'C,5@H7?FKN.(5,&A^11:/JR\KO$M5U^&=T3EX5 M6QER!JF!;"7I6R9?&9;DE)))CPI1_(^,ER'T!HZCIKO2/D)Y-\@J0]4&_3/6CSL*>KG>[$T<8OCA9N$VIB?Y=GP\I&#A M)-J;8#'019/?:1G3A!E%BG;8##513V6>D*-E]P6SY7$[3/B[^*\F45H\-^6TDI7@$6$!#/EK,\O,N;VC'.2P#7'QMO&;2%WEYR:$4?K;%V.[A M-<(^*@M2I1/>W9-\GO,>8P7$YV:71L/NZ+%VG=C0B>V1]VZRDU:N[O0J5[T+ M%I;2PU[\4D]\66U1)1V7^Q)#OY'\=\J*(0=*/IX5[L(%:J-8:!!NF.0-FAUG MSWO-E8"9B.\&J)&E'IGR;]D/$&R\\P<%4:PKI3F,(T6;Y%(<"LBM9F7->![C M@/9%XFEF\?8*[2?JH*.TCW):CNT;)@E$PY?(QX@VGZ!N4"U\1F?"%1@>:5TO ME CF"M75.BXGM#1GV\OZ2YUM1 "%!]_>5?XPRC HEBD,8Z>T:VF-H:V6>37] M_ +/HK?(@Z4F44K;T,PNY\N#= $$EC.2/YF_MVV%5=+S ,C=8XC?SMEJQS;J M6=X69C-4UO<38Y$;R8^5" N'8N0"B)*JA1$12?18OX 4CH%#H' +1HO=F:N# M:^7J8V9BE:2[)4+2F8#]7*5#6<-9)61XD9,A\1X6 I6OIL5;[#\$QR69WJU& MIT6IJ(&H3+)1U+]HWQEYH$ V-]U80"D]V;#EDW;V=QX8S>!>9GGB-85&S$VLOXYOB,GH-")VR$-Y& MT;-,."%.)S]=6.'HG!1"]0MD=6RHH*MBW]&$&/\=0!0;012/!A#% **X:=14 MXYS<">@ER:L(T[>>IB,H2M[1<^1BO&'&![OGR;/C4,]*'.YV*/+=<,Y+O#^< MBA&B,C8%(M_0+9>*C"!U.!$]!;>>@UYK)E[KQIIAA'Z,-173RJ@[2\^HF$&V M8B6WT!ZBL"M&ZEF0[M[-CL;@X (>>#52J]!T9APMKR2GK+3_C=T:%5WV76(IM-73P2GRCM_W8($ MWR N5@P8?'6)0BY8(GXS'F;:+KK)\#DZD5;G!?961:8E?HG)M(J/_:PL53,\_);F9- M$L=/\C&-M?46M!1%L#J^+)#5VR:0@TK9AGA(%/2E!<;(_(_I6Z=*;X]CT;Q> M2S$)>KI_K-U5#?!<^FJL?!6,SE*B WR4L@JX(<$X3>7$9[D'N_G4@MK^/OIU MX'R6G^6Z!)%AT8,[1;5"G),(!A(0C6MFB61C^!62#;I2UT]T3- =S&4OV!A] M<%%Q&+$-%4%R(]8J9(R@-BE$'O58PN_@A4XL'-K6-&;RA<:-BX-I)8J<$$Q) MVN68EA%(7) MXA]:.RL.T+(:D9 0?X4 RF@*']-3UV=N6;'JUFA1Y$4/AD]Q42JRH0HD;Z7 M1 I]P(W6:/J3S$JOYU2$#S .T89? @VH+IP "6C&FYP1]O3LKW09^"7IQ(O*'G@Y5NT23(@> MZW'I%#:(NGD87LG[60Z'\X3R^E,Y1/6^(5OD@ZC1N$0<63"M,9HUC=/B;B[E M1&.396A#YY\>:$I8G+C/Q=H^2/%[,<'1[35-&M8'<*SF M L6C5Q2^!T#V:".^9, @?L!3@>#3I$[I^)-68MV"!5HW.YN4-S)A&96''1P> MW+_WX-Z]SUH>=LT*UMWJJ$49/G_;7^TM[>'_T'O M",H,'<%=[\RTC%3H;,F.+!TEXCHI-!!'\!E-GS95]5"[47Q8VCVRF:-#?49; MF6VIRJ$60T(-3-RR( T+2T@OBR:]1("UC=\]C]X>(_JW^P>-YK\=KVGR'6C3[>G\#T.L6M;%/QZ1"O%V(&!VLS6M^F)G-M+HHB M'X^;CCL,MJS\%3ICK!.^JQ;8U9BW/#3#36QA0'*T-B*O LLY/ "YA .;'"/H MEIH%DM^,M,LP$^_P -5J(*MTAZO]I'&"=,DE_6/O$5M8>)6)M?E6'A\$2.*& MB=8_H*O>5>"N]BW,4@'F#K>:?>&,C;A"D0%'7YA5AD_1@K8QW\>'46+F)DB_ M0I8LJFKVMN]6677S,XFL>&\HF29K(4'+91PFT9J%-Y([S@HP:C$I^+)Q7P9S M],UZ\PS"Z&\*WQ):JKVJJN/6ER24_8:D\8&*;TH2F+*5E;/;>5W%J$H]]F)%UC2U*/K9>V;L\6B',/F-9 .U!(]1^NSE M^!2%_72Y6IC3/!:E"T-DPXN)S"E#8NBFIN=T.R Y-B,Y'@](C@')<>.0'%H) MY#02!U--0Q76H\AJ[&7WCP0G&:DV[3FDJ 6:@7P9-Y\UDE:WE!@>>BNIVK,D M!3?)%0//*D$XKN7>TS1 65XF(+>T0G<;:]"&,H_1II*0H?;C][" *&D2.;B9+ M1'8PE[A%2VMK*&'+BDR9@(7'(, M)WNU5QT9:Q65'#_B**U+.]X>(>],IMG8 MI0\1@7%K;+$,O5W K.8A@%8:M9)+7'R^XE%PPD?\$%H=.JMV&,L=P%R3;=F? M<,E(T+5(6L3%ZVIJ32/I]Y,DO5O=^QRHC%%:GRK%BASKPL)M6%_E@IL8=4[[.?%JW+1T_( MKR0#E5O1-1G@VB2)5\Q1TF?/Q,H+]#B@TWV!S\31G=5[.W,TM$K1_PP$+VDS MDX:E%7:]+(C'[(V\6W7B&S ;#<%&W^:* MM0A:U\N"A7R9%>RR=I@$@%6<>6#=Q9+V'K%5-Y@!&U&2744B1S>4S2#JUFKZ M&-[*H-.6S/J%Z*8F9L[I(3\2GN,4>_9!LN-@T]W54_^(-?\S.NL0,Q)6S7O[ MH^Q@[^#>2**M[SGD11-W;V_W\,\6E9K1_X$++!A6$DTON'2W:@M?FR2*DK:50EE:91 MA),["Y+#J53[E>&>_8]D8KBV--3*)Z?U;G;Z@1_WQ##A@E(&TUFQ4%648@5" MA8ZQ@MTYCI2/ O5ZO:"65*P60LR_KQ(@CLZG[&M35*@"7"J53=(E5KS35BPM MPS*,8H##N4-\?$%J"*=/KMZ'W#626H]^P+AS23'Y VGM:DZ'^0,/8(1<# =^ MRT;+IQGU85>Y8&[8Q8J(B-CV)':NS^.15%^)F'C]X/B63K2?:=XF#=DZI9CY MW#[&LK, %C&^@=..R"74XVBZZRVGX15GUK;8P\90Q5T]UJZ3UY(:XJO/G@C' MM599'%%/REIJLQ)L',EY7B4*9,;WH#R<>1POF/J#O2?';TY.C_C?^T_^@QVC? Y@KF>J?YD, M\K4.\C52X$>X4B;"W_K1GK_UR^/7T9T9*:@);#/7'P#/NA7/"V6'T,6:ZT;BA][4R^=N)0Z[(.]O4-<["8,F\>\PWH!PP[GLYD4U3[ER"8M!Z?,Y.P TX2T M.6=@0=7_?A27:7@(M,=R>6X9PS#X6B_1ZSD[K\74/Z -V9V)LC(E\O1!PWB3 MDJFWA$/E_--UW/!JUV/U3%YVE. G$Q!]R^1YS;GDU](I"D4F 5#_VF]37QH7 MQ([W+9H">(G01-65.+%KAX3K&$6VA>(ABD+-Z5?G^=)*":WAQJ# MRCPMZ'& M0:$%E^$H#EGSTIT7K0!L2>.Q.N3-!.TEYIRH ,>L5+&2YG(;@WP&9*7N9L8E MXS*QZD(&,TK8MSRL98T<:%?)]LM 7^LF(=%I#2;P1.T]5U@%Q+01V.W?,DOM M.T8>VX_L>WM4V\V3YBY^;V@VAA]B_)",/T?S$D"5 GZ EJ1F)0O=F]P6*97T MMG.27QXI?6/JL]WR %$4PO^46$6;IWETG;FS)V'J&WT];^"KZJ#%*(WWCY!BJ (2G?2\H?[ U)^2$I?].2\K\+Q2VUS]!"[]PJRKE%!%>]G)KEQG"% MC[W[^(0$J+0%$JO<$O974N<2*@SPT_!<-PT]C<#=2A7PF@ MQFA&WVZ. 7Y\7$[IX P,1D,OPKFB E$@PQYO6 H?#)8<%>JG[ E2 M]4O)L7JS\V:LJ\H^I(3D?+KKKDRRA8S1%REWVYAI/T3SY!T M.;6BKT<+@84 NF+:E67@H8GX;;QG#7]Z!I.'E::DRC)$,4Y.4Q&:\?UII)Y,0)Y+>_3VM=0N9<=Q<*@ M:P^S0.*&'UK]"&>?E"6W?[N!JRQJS'P MM=WF(UJT;J_V3^>?(8QFI<5?0(; MG&6$'2ARI>IN^3?FZHTM<',B_A][[]K,Q8) HWN MU:O7]7GH%:O"_']D108O0[GZYD?]Q5\:<,.+0Q$V8_6J!+,8 >$7HC M/-"__^UP;__03'45Z7'Y%[75U^<.>5T_ <[@3V]JC<(E5(9%0";BX,0M'=%\ M@I%<3LHY\8)7_Q$6[$=,RXF-?)! M_4.O9*87K%ZPK!:#E)=YB&U%@[R9JY>36+'8=WR1]0ZP#GJ1ZD6*1$I* M(Q$#F2IUJ02?NN=\@D2"DL#"%8BE"Z+EE/.'>7%A;$_"W.LEK)CEPQYJC>,JR1!0B,-K'KQ0[%[M@%,!)(JL0+"EP*M*I7Y$N]U/ YHGO*=[TP M]<+4(4P4&%#=3!#[QO8F[GX,!5B J"W0_*(6O:0WS7NA\KV]>KYP77B$ J*+ M-CD896UPZ^HY8D?75VB.3P'-9?"U7MQZ<7/BYHKEJ+E/."JM=%WD>414;MCC M:5'4 8RG*G^&CWMYZN7)V?6ZDSR3)HJK&'A<2T&J8:#HX6K)V9"&:VI'U %W RRBP;L\@X82*:0A;AFJU7&,1P$4J*JB M)*J%AEY8".*:@Y#*L;F)!< 6['.2*,9N#ZC[@>)K+NO^,Y_XW2J6H4Z@A9C= MB9):7 0ED/\ OY'/H/Y\DD06X@ 1[NA26AJT,[",9.WWY]HQ@;7$]7;B09AG MB% DA 5F %CIQ!R#]-V,:/S@8C43\H:3N+J.8UHVA R!_$J"]6+SI"PM*C8C M4W IE, 7TTY0I?@6P();<:#@O5GIA95ZZCVXJHT"705!+L0<&;,5^ZY51RJ] M-) X;*,B1@ 'A\_1#09G*5Q7'7++"/0J6XB#?G(3W< W9594J5) M09@]AA68Y-Q1R=_IH;2I2(=WP7TE#J&@R]NFZJ4"U*36^*3BP$2<725%GE&/ MH2OJNJTF#\P1HNRD)@J&3P2,@:=ZVOT16[5KF3VIT=)K6M?LIJJ*2J!4!9^I MR@=JT;#B%WEP04%"O2=PSX5 M>(N0M 4CSPUPRC!,JB+"72_8!<%PG+$6)6< M)MAQA44R>AF;Q'6$""--\FAP8F>?JWQ5+RN]1&6:/VU!M,WYW0VYXSZYIR^.6>CFW,>TU'O.:1>@+A (+.XL%B: M*A"0:X(-#ON!\T6S#,9X+C#\E+F8$<4Z4IX]U2/]M>?&-]D8T,%$:$9@9-$9 M:;Q:SRQY?M9XQSYZ,\/ZL&*S&TY2] Z;5'1)1JVW[/LDW F,-/=XK,'7 Z^9 MQ1RTYGR:.B=(&7MP\+776_#D!\**"=!^(&M7>0J$NF2W&],! #J\2!+3J3M\ M;3SW@=L2 =P9T/<"]#6%[58GSR[%36F @>1LI?Z;] XLZ10@44+T@Q%<.A-[] M[#9X#L5_1=B**8$1"(R!A M'I*6JC29Q0(PJ&B#U!@=;9!2.WYX0 Q)AN=<%]MB1732!W!H8JPS[Q-)KEEN M<]I;JF8U['1)8!Q)CFTP@'O&[GRAR9UYS3O79-4*X(1>);DKTFQO*:42!@U4 M,9HR#QY>8F)P XO@".(BA'1]V],J-L6D9#+N4@QSK9R$1.R&^+F.BK>Z+Q%B MUDFNB&L',=63/"F1B@$ 7 FYK*Z :EU5=PE\^+S.C*JG!LMX>ID94__")Q"4 MA5*-?U[#*:/^+@AB"+;,#/5N B=:&6-;XY6T1RT'=KM1K"XLJ@SY@NS(B(E( M!MT>9RDCXE2)^23^3TWPK$VI<6PVJ(VC@ &P1:1.M&85<;?H9=97"Y+ MPNL1%"GNL2+BUS+(@.79?&\.ZFI%*-%G%_P'AR M\XSYP+VVL0N,BPQNN8P&PM@(_YN;&P?D:B4,@Z28""_->UB$1'PWN3T"1RK> M.@Q:4TE[06BUE5.!X)\S!U[D-O( @A00TL8SA]_9XAMYQ8-\86(S96AY09NK M#!;I[NQ5U"B,.0E!R92][0G'U[>1_Z*>M5AG1 R*!@NLNQ-?$6[;7AZU5;-6 M#4H1R.;'XR^NP!A>4V43G<'<+/X\L=D)IQHXDF6,PRO0*%8I1,9 "R1A=TWT M/A"J"]'J=7+P1-4Z[-_.U0V^=\8E4'>!PIC9*CB6 &/5F?V7SXWV 03TRZ2\ MQ HX^79!_)& ]%-'5ES*'QCX#2W&DDQ&A2R.1I^H9(PIDE)OF5?_ M<V(Y]LHY#C)5G>"@@[)_B:1U(0!WCHJBSY@DY(\#\ M%&L]W#Q2,6N3,:.0(.%[\6;O\+1='0-5ATA/LG#L1];KX=9PQFA4 W+'+,RE M=C3@M,.K:[*4B?B4TV1V9SF: Z_^6T'&,T,J[';MFM8T2;/L9RB/'O[E!)J7375)F'8A[$UE8 95<>?ND= >G$"6"3%=C-,60U2#^4^:RZ1C?>0O;'J8.5AL3FBKT3 M9PP.AKLS49D+Q8M1ZID5=$J:R83. =S>F"\PZH9O!R&-1IC#G68#L;0&@4<; M5R#_PA3YU[& =9.H^Q@1EF_!DF8[X+V3#X'E<+I)* MV*]9(.=Q",)22G*,NR4ID@87("+>X!.-%(9!FD+#$Z9U882,#'45&2ND)(.8$ C9F'*F=I?5;J.PRC+3Y MYB,X?EJ<,4W^4R?F*G/<_6:\ZBLX[CCHQK-"7##<-F0_F[E"'(&67<84N(L] M]]:<=//6D2OQ(TU^SEJA%5WP(%HZT$X'NB%.>[VRR5R!*!9U:_Z#KDEQL5QW M,CIJ&L?DQ$+4(.!<_AQJ6[J?4I MO1,&X0'DPQ'4]6GZ%6GZ<9^F[]/T?9I^S*CSAP?MT'LVX'_8\N)S+:;.?O1 M"IX)/".B\8.WTQ&@LT>\3V(7EPH^XN9@"+\\@N9#\ZU0*5B^+L@;>-,P@+)? M"@@CPC.]._M;J.O!ZB_]8*2.ZM@:"!NQG_+[YK5%YO'5XP4K8X$>RQV_6E!<70M1?\OPSEE(IA(14%FSK'9[D988 >/IY>:,KZ%>Z( M]C>-NW^O21E740$@69J?B??H$*2*0+CQ\"SUV1Z_OL#HW53I( :G9ED(%_"; M!M&D5,:C-J K!O926IT$T7PPINE1K*T&467O36X#V>KP*F;#UV7_T;-+Y7Q0[0$*AZ2,H!X'IGX MTD,@)!DQ#B+B$8T_F1_F9$3]2A<(? ^0 G$^0(.5;B M@G"@E8#?5;TB'=RF?EZE=$.W-E#AG,6LS: MHE 792W8UCEF-.J,NE8>=!<_X.DS\>[I'S1O$8[W+;O';RP')%<=OK!!D",+ MKR.ZX1?6XO_GQ\E7J*#OH*.FH]X':K#0QD(H=S"!YZ'TTC@,!Y4R@LX$B+$C M#0GEQ62#/]&S\12-66-JB_< %KKQ3R*4X##+8(Y@/O]3 Y0ZL)RZA0!2*TX* M(0 +.AZ@!_'X?FW,)-#D1"S$=I_!I>GX> M2'A2VFFBU!JLJY>?[5PZ1?\:IM,ZU?R7C0IC*.1-2@O6BVZ?/9(&1+4F] IP M$5.W7]%Q0PQ*\"Q%B3Z)Z9@-L1)6C8!V=IYUR='<6$EY!'XM9L9>0UOK0+(> M;C8+(2:$ALU4-]Y!WD=(X9S=#K,=?XR+*52M: _LSSJZH'[F$WMW]MUDQM$, M@&Q^:8E)F4 IO\9 *Q8&Y_6DFM6I; 0S*>;W\ &T?]GDB\W3V[Y/S&X6P568 MUK$G(1#S-7;"$CNU/9R0-(?8F[EM1(*KP$4P3YG.GF$4&!(/5)'L%1*KK4J= MN;B]]%:RQ;L#"61_(L+(HB VWAE?2MY1&D+#2B-W8R2,[BP=K3\,M84]P\8* MHPT1M$!A74@G#3)+TPM#L1:^*01.D__4%&EK3+(J904[9AIS3!7+;%]T/VW0 M_M6@\6*-]Z*2LLKV>K0FRMI%D(>3@],N^^S (SKO6482[+IW8:G5"1\A MFI>DV1DKMR]#P?WCX@?#F]- J,X$F9,+QB8 /NG<:V++4L?KNU@B[Q M:^\@OEM0]Q&% $2*K^.0Z['2A&!+XJBT?WFET%<)Q2G [N 9Q38ILU>ACAP[ MNW6_]\"'PWKJ12.XI@IW 57T,-:%)5QP$J;FGV$UV!]M M'!D4Y[[I",=SVZTN\9"RH'W^"6//*Q!E*%/!IB,Q?ST)-K8GVK^+O"P1&@W- M!(XR_5ESQ,/U!'CA=3O*Q\N>TR?0FPGT[3Z!WB?0-SJ!OK9!KVSMKM(@J]2: M.5)B: ]%^0+$MW,!X4_K+]KJTT:!=P-I3V/(K?S];Z.]K9_7\66V1X-@O#7>I@)= M3F(%Y26DI1D,3&&7FL=_>["[/]P/YD1!W8UFBM>-Q_O#/7M=HWI,; 0O66'L M;C25FV\#'00@ MHR0KJSB,;"RQ(M)P$XRO"];4/1%LEKU,G^4 MSTWVW(A'[<#ECB#05B8HHBZ5+,_@:.O9_U)1N8],+ ),,=V;)82THZPAUN3#9-D,MWCBB.DKLAO1.P\)OM88=.T.'8T'>2[@Q_D_.HJ_$A8*C<0PS+&&MSCR=H& M\6HH&IQ"E2DR,IIS*XD]7/ZLBZ2,DFD3A2Z8Q1&D/0:4JH$V\VEH$< )9!0K M!+P;#/&]9.D@YA2'MJU0 ^(T%MN5TJ_QTT+'!(%/&%,X<4;1&2H@H1?M#@!0 MT !+4\S3J(Z),7'8T?=Q3)J-H7YG@?S&!T_F6A2W_7V\DJ[D3O/ T:E&[EV[ MXN17([^QWB'TV$Z?4WK#:%9,"X& B^\/-1\(FXC,K_TG@["NX37ZI=K21984";J:;T$!B+P@)"D6E\D902.&PJ 7D$*I4%D+TKU)5Y\A&1 MB>VVI)0[&L"NL=,8'3$%IF$(+DFN](M=#7_NC&WA;44+]\L)5:L?/J5#G$+3 M,C[*UDL[T==W.MU!? $L,**7AZF&DVYB) )]1-XII<7K-#-O]@)="27J3Z@, M[.9Q_2*%FJ4JT"Q<7X%7JDEBB0FB-,?L1EBXR0TK?TEL-4NN@%-;"Q&\P.0Y M9/4@<89Y>:X'U%4C9F@ NY&@*PD-NA0-0L3!Z((JAP7P#3ZU(_$>"3L7CQF) M&@0N&/#M]M;6<,MZ[ZSN?2$#$0.]AUH*06O-"6H:= M%CG.'[0%_B(%,VM,=[AJ\<)@--SZSKT$]OHZI=R82?+"2,]+L9B]A,NOL'$: MHB,?\00U2_OMK@L"??4:>?UR46[V,6[9W"SB695//_3%H"N.K"E-4@F3!-:> MLNA7AK#H?D##TH%[ OP_U<;3B'1PXD*>J=K>'._:G6(7O:=%FU%ST MJ.#%PJK]&^IK<#<')Q]956(R_HH@0KJ)YD0<*P\_%3? S%7V85SV_EI[>-36/KQ>-#:*68!Q6UWH C_[84FM%@U-HCBQ+EVT:<8''(>';1QZ >V/EP*>IG4SAW;A M"MASW'.77T.7^V6R>**'V/8-AQA\ 9<$)_]!0#!C\H%Q?R6G%Y]<^A+X0DXQ M.DZ:WT)!#:#Z1U@=R<4$ #5&E^LKU<$#2_]+#@C@<(H8 XH"NM8FB^EG"!)> M4N$NB,;><+?#]FP>CNN=3GO#\6UV["JIAS%BJL\%IYK3,I0_^!5P)[ M'MGW M]8 =^YWQ8 CK1KO2"*)]R6 _)2>:+.(H9D@ER,#"[(3;_ M8D5&7D@$)\FDJO^INL?KE#T=@;MKYU^YH!#$JY)G=F)51Q2O P1PP:6"%4GF MW)R/\4$%DTG ?P@:0:ZA=%H %WDYL''%4)9--6-<2RX*.^N(6K+3G?9=/0D. MJQ&SDKK1Y0:Y^V5)A"L 2+;R+7W9XS>D+EPKA] E@'4]:A!<1?:3=!1!7+'@ M5+?$9]74A9[?2UT1*7RZB#%9"H I0@L*D>8,NRBL_G!.4GA-EZ[O+J+&_0E5V\Y:B1:V6"]O?J#<%4NPUU]$S!12E)4SF/*GG M4B:9%)LXJ6&01/_XYOU.%(=;6^'V^WAG=_1^9WLG?'\XVC]\'QV&8;0_W8[V MP[UOR,"F7YR>G[P:_?+N][[N_N[6 M%O]@/4YWZSVU6-4_F?]\=V?1Y#^_T^F^@3O^EA@ZS%HP^F5H0^4W\[%OQJ#= M(@>XRH$LL_\63Y6-_?<\BS>;9Y;W^&_IA]'NX>YH-#K<]_;R^WVSZ<.#_;WW MN]NS\?N=G7#K_>'VUM[[\. @WMJ=3F:SPVW_%P=;!X?CW;9&.#[^]R\G;\]. MCM^]/3W_]_O=\<[A3J\'5NB!X\>E![RE#;[XYO=B8+B4>F<\PT]N\4OT^#?$ M7Y(P:I(9ASM^-DF-\>"]V):-R.'FA[U#H[MQ:0 >T$(:0J8V<#5Z:!R><;[L MWI*TG[L 6EGM[VSM'>R)_M@$-BH%'G\_O%3B1$"#Q#K^'C%RK.2R&JPFLQ*0 M[Y#*?9\9*47&PZDG6XCT.7>RQ;R/4%!JE#(5!G"-/=-1:0!FJK"\"#/N2;'E MHU%R@1!H'JT55>?!'%PE\;6 :\"4V0K@%CJ_1:A.G>PSSTF94X;/!UHE\% < MJ4#PC:8YE.QM%O3/!GZI,?1*C+\AI;V^AYZ*(G)3IS&"#(+G)DOU"/ M;,LSLIS4.'EAV9)7BY9H&^P9HC4U7Y33&N,L@3W6FOS)!@\X%@%-4)* MA0(\#*#9@!KX-W2KIQH*PS(;;Z[;N,5E&6L8-H[(<#"JQ+82 M!J/Z7=H53C.C9JJ:PDEG4J2,MSQWREX"^[^?GIU+,#]X858C=B<%;.SL@H*9 M+F-LQ6P: Y8L:JV I38\ (J BD6 J_M3Z-Y_C& 9M$6 M>P4LA/B//(IA3HT=(DA?9N3FG/$0KAPJ1#BWY\.<[T%)#S5HHTTU MWE%M0;;;$3-)6M6UADH'Z"D?@- SL@!4;DIXH=XLZ2"/V.8"4X'!J8G<*:EL M :MMEN"8B<.L4+RV M0H'@*I#/^UEU5X2!N8*1?RXN+'%7GB5&-AGFQ$X>X>+\K'X49]'"'&V5'9,U M!'A.:,X\MC44,UH*OM:[HS45M&%&MH+W"UAT^RN?'DOD1UD%/94.9)$QP('> M #:$>.WP8C.C>O WC5A$310CV#;'9.=;=2GX4$3TI3JWM01WL']=QP*VKX&T MP+("62BA;9O%T;-+G$_DB/CLESP(R4.X(\_,WCQ&!RLGI!WL>*+2*DQ3D*T/ M2L65R38,1CY;1>5L=ARN+]5JEFKM]J5:?:G67RK5\L)%^_N[!WN[]QLN0@(- M24F+CWFK$HV_7I-RWNV9==K=VCMW(5EN H!6@\ZP LB=^2-&A"$Q<0DCK71!@,;0A\$7 M0"5^G(H:)M?( PAY4E! %M#6V)&W8-0Z%M)+ *$2 MWBW'+ 8$MP!]++J(%E*B3>9F=%=+3B; _AS/YPW3>7,7SP^#W\+B"D3IU2]' M.@@$6 $Q8FPPN1/=5K"!X8$O\@+V\;1DB"7@3[%@#'Z@3N._>SD3OOKT[/5X M?VMK=.N%;\(E3NPQ#/F4Z6E4+9X%;_WM]/SM.S,$_P:42--7TR1VSY*C*Y(] M&4,X$A$S6.%Q$3$H7&QF)]\8+,FF'G%-A$0\BO U D31B!MGQ"T4A'ATM#,# MVF&-F,Y NQ-H+TGF(.S\9? 8'D0[R$NX86[[KK9 0EA6FJJ':\R6Y4[KSS?TW@@T[R MH&88'0U1: /%FVA./ @AL[Q+#K),YA:QI8*C#X5TZA,VAMHJH$ZZL]4/)5;? M$F.T$E2L2^JSS528FP)'YN\C1S7U#N02][:U+H[>O7'!6+ J(<$^J3E#[2;) M'/9Y?7&)*_.2NP)TQNV,."9!U6";@FNTA:#H%(A64L!BZ,+GIE>Y;@@*&VBT MW[H9[AX?OQ]N3Z/W.Y&#O_<'.[O;[@^WX,#K'LQ:A6?C-V]? MOSEY>WYZ&$+4+Y.Y(U;0V\I M@;[4.E^5HR^),%[/C98-C2%W'G\,.0=R3=8F_Q S(HJ/DC4^V%*@@=\!-BE4 MSEE4HV.C_:.0C#7U.[;UA[8V+N M14W=I)$"5[;B 3S#-=0M[>Y81BUW7SL-$<.DP0@C:&SY \B[4B1FQ8XA<^I_ 9P MO:2DC9W'I%1\QPQ0ZNIHC.=+Z#F=L*VU@0XUVMK6L WGPFOD7LJ2M*B^[82>0W?\=GM'W^*I28&G M;V+71AMXU$2@JR2F:B?4B(GCVZ/>-8%= 56$P)6V#@3](?U3UW,10 4O'H*OY $HR"/5-XP&E^36$8*]P,.HYS+-TY'WH8T Q"Q P!:I3 C'N MTH6,OH@%FWH(LFA0+D>R##MV(>>H4_="^'E(ET%@"K5I5@?HOP:C-;!RPE2S#N M'!B8TPC04K,8>U&9&.=^C@MUH?ER0_H$^I*"SRPIV.M+"OJ2@KLH*=C9.C@\ M&._&[P\GA^/W.[OQX?LP# _?3V9[!Z.=:.]P_W#4BD-LOSSY]>BE\5J/3TZ> MG_[^Z]G[O?W#O>WM/AK1&8W8?ES1"%S<0*UN'Y1H35%\86R--Y WB;$P^RDZ M-B]RK[=*Q=M3G)Z%FQZ(J,?![[DQPD;C@,'LUT/AIW2QR\L=YPQF.4TZ,/#I M(6C8'6O6=(?.?Z8)TID0B=D!@H.;@?0#P- 7K,QF-PM IG[3,!@1BH%J,EX M GFBNPJ(C_?"K6CG<.?]^&!KZ_W.=+;__O!P$K[?G\;AP?;6X<'67CL@OO/J M]/>3LZ,7)^?_?GYZ=OSR]=F[MQ ;WQN/=L;]:=1Y&NT\KM,(5CB@)0[4&C^5 M,^DV5(8*/'>C*GZ;'[R$P/7.C K'3@EIK++\\"6O* UGQ@KGAY=([@4:^/__>W MUR^?G[P-7AV=GY^\/0N.?G\>G)Z=O3,?O7GW]OBWH[.3L^#U"_YMP&@S#YO^ M=Q?N/6Q\^,85(_J*O6H&3(D\CH7=[<'.]M[@X&!G)?V$<=1WM@\##S4PGUE:9F+,BR=% M#21THT/,YN]89)+N7TD!0A3C69@7MG( KE5#H3% WG-2Y!]B!+@$2 #+80@ M"'61#5;_,*OG<0%=H838B9$#RMG=4^KR46S'YPE4\F71_86__&EYV!:A+P!_ M)>A$BS"),+\N!3^NDA0)."*9^*!,(#TZWMHZ8*PFFY.4 @+8(%@=3EGCQN\1 M+=I6&%0Y -7BTX7V7!>Y$.TO%:Y'\30-%>CL@NOCS39B=F#WD*34'#18MLE4 M;#$\%!GV'FVG1WO0>[2]1_OY'JW>$_N[P]WMN_<&UO)#'85V M\*MQKBY[(_/F' WV!AIW%LDV@];T-4AM7<;(6%[0(I!7H'4]%3Q+4HW\83RD M@;FNX%]@6Z.^T23VDS$Z"P.U=;EFK3?WQNX!:_UR5P:8DT?$E3 ZW-Z&@AWU MC;6:W24[@P!Q?*#NUAQ3$?2WQQ^A*T-ZY9!WO+)$8@AZ/N.Z*C5@0.]I#QG? MD@8[A$37/4O@X69)H"]C%RA79-;$U 4TK:DG!RKL=W(BM+:!I!PE@\PS)[;BA9A4+'9&GXLC0+,(W ML%!>JUY"C1*X266 YME04F@]/0%OHX?^/9PO?@[>Y'EA(7-VM[;8"SPU$_W1 MXQH[P^O?P#6V=8B@CQ:Q>3.*B??.7+2DUN\$4<2, M0VB<67H5:$W#D2&U+5#E.1Z%DK>VY2"$LL@2&<$=[$29&$$/"^XV CRMRSA# M\H2,"!BOC>#% ST[7 -:-D>/[(&(ZD85ET9T4O!)@7 ;Y<"B82#%(&@S@(0S M!G:-9C V?\JLX.O1C*E'L+0A<)QYK5=A>1Y/!QQOS:;#0?#JWV_IVD% 'SQ? MFE](LRL"5]+G9^"*$&2 *@%F>"9U2Q0?A&>1'^4:&0X=(]YO0S_RWMH"87.1*A6F--NRWQ@PE M>0-:)<'P4X?#@)2JTXNV35D)K,_;[)\25!*MO.T8BYQI3"3?+:;09C"MO9'= M&R5P2S!=0>5IO,]NH8&R\G!Z:?5%2"U C"I,U?MXL- SZ9"%$(:9HA@1HXW; MG%%4(5:8F9'M'8IRYC.=@2(.9FD]%;A!"TI170(;3424Y>="0BJ(CM(\=)W) MN] PF"D52\(C:R>"$IR&W!,E!E[K?O?7KQT\\);YS,S;\>M7;X[>GIZ]_AW2 M$L]/CD]>_7+R-A Q#LY_>_OZW:^_-;\9;W\)>*#/?8=WK]Z]/#H__==) AR2IG#R%$T?=\.L_^PCJ:YQWG>6"%.YA=! M64S_\8TQZ.;/0 )'YO\^CK8^;&V-AW\N+KX)PK3ZQS?H=R;3;VZ,R#9##1R1 M/<"0[(_W^5J/OGHO7I3@LF?&-Y%R\ED[_W.UO;!^X/9 M[O;[P]UP.QS'^_O1X4ZKO'#O[.3ER?'YR?,7I[\?_7Y\>O3R^='YT?O=W=W# MN^-KV+XE-N7F8E5:?8_2ZFM@D@7-_W33;MSXR/_W[("4;U &_ M.SL[?6VT\G/S\8Z7 +C*$7S15XVODX!W()VI$ MY[-P&^ULO #R=T#U$I_QGPQ)ZC(\[BZE:] 1'RB3GAX*'90WMO!@$'15"P^% M9Z"/AZEKU/NXH'5> -WVLS3/$7!!/<\"E=AHBP""4+F%BMO!5:K_W;PQP2=; M8)(Z _2LS)$]1\$T*:;U' JM$*@!.JS"8%876++@ACH(%@3N EU5[$V^X$&_ MY$&[/B=ID.)HSR0VDN [M>9*2@Q<^44N*I %!LELUE<:#!GAOHDMF$'1$%Q MZ3*^:68Q8$YWAX'-,6$78K6%1H:FFQ/R=))!TY4$]GRV,;NR]'B>)! 1?K$C M(A=Z$5K^8"AWN[<\VP:I@_-5&]RL#N"W4MB4:&R0HJP9!JT]0-"C_F87J%1!9RY$"7R39K @I8X=! M=0EELOB;RP'();59Q]5 8G]8T$?(B<+_H,!3HD,E$$N;TU,0,0/)_!%/TBR< M%,)$28#BEOO/#1'J/2#K @C@A(<=$E6,I2A\$JVYMZE]*E3 .I4,<\+CK?$8 M(=7*^ *ZN;&&7&MZK$L!?/"80:')TXHO4'G]1')0"5(/?TZQ[9,L+BZ6/[Z- ML_@ZQ+RG_=J&NI-%#.%9^09QBL@X+,K*%EG00 G[30PG4M&M$;&YF<4-:Q/Y M*"XR30AGT>I;3(@J?6^W R>NZ#$\BM*FOG+&SWE+LCYAQTET$3>NC>)YGC)<'4*Y$1%;F2=HNHTN4 MJ#(GU16!+@YT3YECE+04^FEF,Z'^NFO*I$>Q5Z3A!BIBTKA"=,(_!>NI5<[H;<DHJ4F..7CTK[ M$#/:X JZ!@&.,@965HHZ1:$1#R*OP, ^DRLBN";\[_8>T$94E\)./IV&)2/5 MXS7 T @OP)* #G5&8W2 D5#/55VBV7S-DD/5ZW$&&RM&,:,&)XA?@8LE$X#Z MTWPFU,7E'&O?W=O+1 50X,2XK\++'$(D$<*"B(0/VU4Y_%(H3,U4_)@+X_UD M^+#>6#."1ZUC56RGB:K_0\\31>E#0V:Y\"V;6?(QCIXMS"XT^MA8&)7\NS+# M8I5/05 YZ4K84LE\4A<>RDO*O"..28*IJ5$)X$,IPDC2D4#/L M5K0,J 2N PZ;/#@8@OF7^?3;[>%A,"'07?/7>+CO_H*KS"&B,# 6<9-MO<(HJ-:X$CFI#&.H!B:J^% MU"F;!>#L6K7V0JR:\SC!_ 0J/9X/9"D9J"R)W*@Q,1"GYX$I9GHGAT%?V-%5 MV+&]U1=V](4=?ZFPXPL8^4H7@5T*]?25509.%\#YJ73RT+QB25C<^<37:1BG M=MCGH-&TS2I95H2O+VV>49JC1,GT!A!&JU+@-Q?R.8+5<.WW%TCWAM9&A6:P M1 XHN(7)@;J YB&RP"&7C$/D+OW@SSKB4 .O 9-_N> I!25MA P2R!QN=#XR MT\XY!Q8$2:[Z,T\@!*O]:6J F2%*^;@K[9;J+^\,VTY MU>V D$6/X9"Q14E .#@SOWMFGH1U$,0H4;*G0$4CO'A>&,5RH=I7I]T,',9@ MS)6N.H6).).I)(0M0]'!H\5,JO(W6B&9AY1_0&Y^&'&(=< M$E.DNQ,92U1(!6XL>(H29*B E[>LX895Q6EZ>7).W>>Y\DCY.0[8S32KA.A=B3/?#BYRY:^#'?L;B M@8Z[SU;E&W< _H(\V\%O>1I-\T'P\N7Q'9^']S&KW@$Y.CS<&1_<[P'Y/[6Q M&@^ZCL?V_-H3DKY:YY TZ]0X';?W;C\<^=&@B[VM>L,^1#,33DNI\"'3W"^R M"9/"IL?8,%6Y7%U<0Z$S?8RXRH.U3D/$L6!::K@AG'\X]%?F"(X+E\JVIX*= MW5=G1W9JQ8/!\AYW2MH^;I4+ML43+LK4.#+7._9P^)V'P4KEVIONGZ2YCM() M>&'!F3G9KH,W20JA^)=5=->UN5_+L? :JHB,N':;\2MGTS%%GSFF:,HGHKXA MR6]KJ)WAR+'X-7CD$( E!<-DROT#1.$<:O@_0/J#^@,%&"B&RW!LS18;+6*( M&[E4/'3G*U>0HH-D]A7#.4'63:'X8+:$6*W=+&TS8HC[9,=/?W1;0LIX 4D] M>^.4[D;8+QLDEI^TYU\0<,.I[[O!X4J8D.9X[;?_:BLES A'=W? :3^M =:8 M6ZL+7IS^YNL"?^_O;>T,]V\S3\P]_KIMDN79,RAM+S /!B]WD[4R^%1S93%GS %Z,>W'*AC^_2,GY5/:'T$DB?,J *Q^@^HWO-Y"X*QL^ M9T>>.?/I805G2"5&%P:M^((81BYVH@(.?S$Z8.O^4&JX$0(RA9U1 M W'%E6.]TAE_I/:7;J/='QWN[NP>=C78CK?'6_MWACGPB8"8OTC]]TEVE11Y M=J]4SNY"R-UND.;U*7T+ZJJ@K68,!<@T0*8K<6D-JH^UJ8UKBD[&-B6?.Q1F M+"T* \K<7<6*(IC;>U0E$J3%0!F 446-<5B" DB9<7;1+-%%["7;&F=>(+^6 MPL^;C^S5#89P,O,]&MV8HZ/A+7?537APGX$"41LX'3>KC?\L*M5980,!](OS M"T)\@6*&J5%UJJ9=T-LP@A9/+S.LI8,42U$E94RG)9:EI.YJ"M-9_"PD#VXL M*I8B$[ZUAV4(2G*C54Y?3M$LIQCUY11].<4&E%-\PEY?@? C!5A#%_XDB:A$ .(' M8#Q[+"+S)#+O'8=SUSO@WL"S(ZA5&9?0AT7 MY*##QN6"ZI^QAK!F/HY[%NB MJ4UE>>6E&3K9#I$1V"765* I,E^$A&6MBVHDM8:G&A102MNQ9HC(%S!/QI"? M!N$$[ [$+L4G44\T%E2SP:+GCHI I'-*-W1+V[(4D7/QNP5 11:)4/K"RY_N M$POM 4W0.Q[4>M X7Q;^A*EWBALAHTC))FY@'ARQNPS!+F;%PS<8F-8E-;&X)(Y?,AG M".E$Q?FKXU1:#V 5YLE'X>,A=8K'SAP/O!R<*X*([E@I!I,P7E])F"WH>:"W M"0$<;'*QF;7(C"HC!A]<#>OAF(/*5JV3E@OV3;,@'$'B%&+CFK&BXE504>YX'"]G"-TBE3A1[@(;)8K5_5RFLTX MWO0>.;I6Y<$2<07$UE@&:*^Q2 M-R2VX"H4!7Z-0J#Z\B[0:,&:X(LBF=8I:2G1:U0+ZI%R0$O+,C/*9NHV).T5 M9R?+%]$G]+8VS47 J@T+:$_3LM^1-+)PG%\Y/%G#U4-W;Z\])K8;T*/=6M_& M\>*FVUM[NWM2-=);/T_(^O'*4U9OS^!!;) .$P3=O9;QP29&Z=L8Y":C%BDX M=8.U@Q ,G;20$" #2:=.]B6E!1BS4%N1VN&+O,DX7 M;E+IS%.N>\/3YR!!1/!;=->RG@&O)I*BV&'3.-&*@M.!V3W!&3;*&A@_J?D. M"$E3M%C<#]Q-)&U%'J^1F=8-3DW3G- MX9/3XY\YC%XA/Q&%O"):^08W\7.N30\>5!>+7-[K,?4P;\R>&*; C :>$A0G M^@Y5F*3@V]BDEM\^X"%LJGSFTG=IR4J'6QA3'*%@$P@%3Y<#X'8R1YN%:W$. MA7(^"5>%K[ ($'5Y26 4!(@AK6P44LPD+FK3?8(#*Z1[PHD38OR0FMS,-B-2 M7&1[NH@[,K7+87 BD$0>%)&""('Y2^!4"T/D )?%Q7$8C#VGSCRQ#C= M'.JY>490Y;G 5"P>2;KDRAP\=_ A*ND&=#RH+_M.KQ0G4M;-,'V.+!@3_D1 MLQHA_5A6-5"ZZFX<8,6K')225WB>A%>N'!LN#.7;(!7Q?FK:M+X]C]U[7O0PEKLUSU MU''>P6/_)Y\05Z^F@],.J%UX./?0[UW+_6O)"Q6:MH$,_5.Q$-D67KK-\ UM M< WY*>XFN/88QMB?COWIV#X=59UW\QAXZ!"@/1C#RD6BPEE<+5NG&L+_69QD M4KC61;KA%?%4LA$]WNKOZS8_LVYS MW-=M]G6;?ZENL[<5GHRMT"R(4G5,SV:8GB+?")JY'#23A?W%3Q_ 4EA%Y=FV M'URMP@WI3CCBL5H3NLR>I= ]0UIY2K?D-U=5>0KV%I4?A)R^>@-KP*55]P.7#(63[.6 MU@.@9)-GD2]J=H^E,8[BO175$$.>V MVA5X+$2K1C7$+ZB-A%7;/"^K09#,"-/9' ^LW\QYG6*[>))UZ76)XTHWCD.8 MMU"KU#9#5H&#V,>1J$-:1>M5:SMTM3-!2$JY24;+QY.4*JKM$@V#W\2,6%CV M-14.QC=![B$7+'=%P3I=\%$ 25$*D-Y+2XN4_K[\_5=;^DLO!'WRDL$V8Y)!T\ Y5,:%I M>*X'*Z*R#4:PE&J4IC9ZZP;EW4H7DX *!IV>%S:]V3I68#S0+H/KZ'!:<#$1 M6-FMY,HEQ"X"Y#P@;BE%7P5!<:A6H2QENA3D K/Y@I]O9FG'%EV;Q:>\7)AZI*PMXAH5A& M9YX-%#Y<*0]M5QM3[G)XWX9GYY-]>:HMG*5X,>?D5[$3N 6OI5)F8=[+O- 5EG8@ M=1"S#@GX%E4B8NQ#B'V4K8UJRU;%4$X//VKHVAF4#$;I4A?]M?M \:>LN>/5 M?(_^SC!T+,P3Z@^ M1PKGF_V!Q@_N$X(7S[&P5\9,GO0" K94\ O(F61:9: IH.T43$4CU1=T6WGW MTG_Y/--$Q*@L04:K*IXO\!; +W6%P02%1T$ZEEIU\644H\; O:>0L3D+B2(M M,19\X_-U8RZ\.E:%0W$U]!Y%?T([,-*B@6V-IN=,D6Y1*ZJBJWS/X7[W5P7#%UMLDYH;ULI[(]WFA0S&H-W#P_-*HQMA_0(75XAD#W>9H MT,R=_^02/\"-73BF-[2.)S'*Q4X[/ M9] W4J!+B'URU*^(F Z#?W4'@;U'D.AQD-OCDZ5VR!+82XD_3^X!=M[,3 ?1 M0Y*6[L Y0EE@F&,D)?2'Z0K+;(074\7\%$C*!K;N&G[$DJBPC!",B?>3YSJ; MW7-)RHN<9P7$CBS.S0 P6#<,KV%>FKH]^5B:$;M80ZUHY$ N3X/SHZ^.;=C2*V"0-'7 M9%_%73KZR1^(YY=>C; @!%IV5ALK5AY/XP"\.6U(R'23I8:!@4O I!D03)T? MR@$+"<*;9/JY\^8%9@1#H)(<-*IQTO"ZY'CS!=?[\"EM[5L5^05D@B8TWX#E MABQNA9['0^%[4I2Z5=*D&!:9*Y>",];X7C%<'6/VQLYI64%NZIAA^[/5 6$G MY:UT\8IU;559H05",T,6"$_,C%WE]LG?55_7\$(Z<[VN LO67F%H!>K0T;IQ M\$%V#E9$\QPEHZ=>&GADNBK)>P<+B3X%,Z6)^=2;T*ZC/"\9.MGZRFA($S U MGA_\O5,J6"\ #<0%$^KE-O1"WCQ0B'+P3=]N8*$R@4MNDB;E)=2? :*THQTU M0IVE),<>R/^N\4Q9,* Y 58\P R+]$O*AF$$8#M%12:KG&3<)50PJ# MT7#K.Z?D<%!U_JMQW05)DL0Q["7,H0JG3(/&8M>16-SESGT4&_7&U-09 M$<$3T<+Q&0.]I MC@;DG(HH M="OD9$S]3,C5&653 U>ZLK(U^7&$=6<7SA;-&3#PQ:2'["!GD) M^C@".PI(5NEE@:=&9M[60^,(0X:R8CPN0IDNC,+DJWMC!K8ZBPGQ&!O#!8\8 M,($AM8:)14FK7M99!',902D:E7(TOY(3EB\A'+9)G7Z0+8.AW(06QM@(,<;( M90CP2,E2,$Q-2M%=,WO?;KL3W#5IRF[WS%@K^4Q,"XEM*"@E29>=/S #JW"O MSC@LRN^+PF.NQ?]U?14<5&:O9V!';?8, _A8G89..O4:!)TYT-=*>Z ]I-6% MT0;&%& Z);0+T.L0 %OM*D+> C>@F\.I,5-JW'._Q-,0["S9OGS,4: U;BJQ M00.&78X BD$N):4!@VW,EUG(W'+0KY0X2!5EV%&G!<(M8P%&G@8<_T>I7D_L"4\%FK.&TG*30WH(SXA6Z4BI0U9<; ,>5.E> 0OPH1B& MRT78:EP]&7-,I(-S&T%RAC2O>+A)9O,]'$2#*599+7^Q?=VE%MP<5JSLS!:< M,JT?K3N:3^:H@*8X.E/C*:;]N=8IK$)SJ(9)2H69@ B-%5]896PSK3 G?+28 M*^!9R(A'\?5)3"HSC #A68W GI$= :3ML5Y!'0>@E^R$7HLF, (UP?Y?6D@E0WW\=,EBUBO:+LICF*@7&+2614U0; M1:"9Y4D.VO=ANOPO DSD>82!? L*#[>-:#^@KY(4+-]EG,Z,*H+-$QDK($SF M96N/1?$LYO3I%/RR*OR(UCAE_^7THWBKU)+P&D#:E\K*\M(6=*/WAA]3LZ' 7-(>C.<"I>3@AY-9D/P Y>!6'X?> M[V7&^7>.05C--['5S-&)%%5=D)-E%MBFRH/0AO)C;S5A='-D'$W,6-R:NM4F MJ<&H9$$F]02!W^,,]QLI$?AQ(ZO2\2)J@.I6:?(!G&/HX8(J *]4L2VS*AH MSH"9X@B54Y:G$N="B(CD[A9S/]>DNYVG*FU;L,8!J_L M+SF.5S8L-'O$D)T/U;.8,'5FK;4MY42!H NT]&@C^H_85^+&^ )B-$IX=[29U@4:&QH\Q3Y-]HBNKI9B&<@'18G\TE= ME(16DAH_=1:[DM;2=3!0Z \I@)3U@BE3#.FGL3&# ^RP=DZ7O A:9@4:WM*& M(S7'6/%;3HV%3[T/9HM3LLV8VL9/B9K5M-=4'ZS,&F6],98,WIL\ RKT8,(C M]U9J8%V."O;-J,AJ&J-;UHC_49T+- IB&\V,".BER4+HXR7,^;VK?29;'\FT M%F!44C.GK3.@: MCE9I]J"Y#@@7T%H+RS<=9JS7JK478M6<]HM9Y:)1>66FL U6O7VC0&Y@ECP0+#A*& M=,UT.()"O3+P/D^R)A]MC(VO6!\1T]E]G0?27>86I;QD)!Y8PXD55#[>./B$ M6+T0X,@NB/05CUH$F)RDT'(BX71Y5BC76O%SSVG=&D>$:15X2/?=C7X\.P[V MMO98:D&3KAI'R>6&TE=@-O $IG#1F24 //ZX,PL_%XVG"$,#,9J?JDG9@[E M>HN5HF%+XZED1+7--4*?E-_&2;$-<\&%T4:9#GU2[X:&6+&#I&K(FP5U(.5H M77)!17'&UD^B&AFA\JA4PE&*?I>I %\?]JF97[0"*"=$.7.ZO>J@XBD+*6O, MA_) ;BGBHDKT\NDT+)DLPE9=-7J.;IM[/K4^[4?4%L82[8W^ADT@R4R'B&$O.'Y.,QN8+<2"(SDX!9UGQ1VM_7_;MFPL M%XDNP4,'V$;&RZ0RK':'X!'3\._!R8Z29I_0(#38I MIO4<9'#* !FX6?P8JK6\I:_/D=&SWFWB<(2Z55GMAR[[65R-NG2*3JMVBOD/ MI!S)-O--ECHD*^!/5U@+Q^4#6." JVILS68CJFJRA&9WVX+JI3N:M#O0PX2% M0=+K+=Z#+9K@0@9N:^>_7.V#PS00*"\TFF CFP/8_()Z?EF!)53:YUK6,=TA M)>8#C#"8:9;NX"7DR^"76 '/%6%4W !=^'.X$C3%(N$_&BWIXK!@RE-J,:S> M=C*IEFR- OHFC2MT>A6)V:+2YND':>9YA"AAS6W!S!OD+MB*TX&CNK(U(W@; MG'*.W]OW$M?>&2$EG;G7<)R;&8/V4A UH*Y*H7*OXXTZ"NIPCCN%WI;%M. % M>G\$CD>_BL5:7' \BMFD(Y)0:^Q#4 M/T='08.QX]U9,(U[J7DZ$"NFJ.+N]Q:[%' ')=_$=K*9/,:\BSUZ%RP%JM*8 MPID28W4[3DH,V*;IM-G4KE:MG&)M8KF1F:EI3(7E$)FCB4EPWYD=-,%O*'+L M.1NPZXHRQ!)5#*7F;=6"=7KSSYD5 M%V5&;$4P-S'$ HGOLA0P-$S@6RR'R!,IJO=(O:CT]P[GU]$'<9%L;)25N<_5SW*TA='F ,C!/0+DJZ?Z< L!@%L*XX-0&D.Y=FCUIM@AG4BB+>SCN9QB MS8<11^$'/#%Q6]%?>.JF@/K#]D]DEDLP.LKFM!0(6PYK&AS)LL(>UREC88 M6B&8 ,:&I*:6?HJ8'#8F"J7W:H4XOG]4+2EFU M8(K*N#*6LR-,Z%274M)/15\0@DH#W,4ZM@/V)B0\R2_U@H=/WCS#7BOM%+ % ME5"V1Q)2%N:O6=+GQS64L][T-3%DS34<6%6RB 3%4JZQIHA["(5ABG2))I<5 M-"5A:/BXDYM#9;E.;*IU[Y ^"AE#Z(ZN@EI&_&C0_(F/=B=!.2?K_E;P\Z.8 M5/$NE;P$V =OVTF6Q-99<[.,MPL\7Z;P?#47QQ<$,#L]9H_-L$4[6W84<7KW M;W0R8K<,UY8JVS %6O \4VIH('/S)\73\8K6Q,SJ--5A! FJ03082WWLQ320 M03/;W)C!CER=&2ECWAL-6]0R%(MP)UPPK-%*SQKD7UK?195*R^]8PQ[K\M%? MPA17Y.PRCJM&9F>=XO'.@5+I"*]DF0>6.>&BX.N00C;W-1NC1)7!?^,B;PM3 MK_B.JJY.>PRK1,W6>#.^X:Y&!- >9_?!U/0MP@MSQ!+X8_-,MFW&M]_U&OTL MZ0-!Y@77;"%0>NZA9%6!IBXHX>*P,8_\-QSMJ_9_T7"WCP?F"HNXN_/D-Y_X M@\I?CI&788,=SR&#=2YZS+9'$ACA5&&C3SO M%8\)2# W@%#)S>=0>U*6=0(L/&JADX5BI>J?B .JG98JHS^P=POJBJA M6]C0TIRE8HUH@+_F((VSER;_M<%(/ 4A6T[]-Q+RZ%L M0(@>HGH^M&BBVRI=+UV] V)H<9G^&]=%H4IC0'H9",&8(LSQ&OI%UC[?HY4 M/RXN0P[FR6I1P!&&:+W4L'"H7X3% Q24\4T$!B5(<#-8S@QPNB*DN88PD2'7AJ[O0F>4 %M M9QEF"[",V]QN')U8?,L>^(Z [T)L(&A9QM1[*T9QP37Y^ +:8_7%[=I\P5V6_/=;='D4,-@8"0[*#80/'KD7&"T8P MT0 6R4&VK^:,*$1EV;J4G7,9IXQQ&R[1XC67>[TF6#^..#Y &1 ;"P5,7=I2 M&&*$"DW5!>*@?JPI5?X, :-^R_5;[K%L.57H)A64FGKCSWQB<_[J$CAUEC&G MG>'D<0<9$:]YX6)[ XFK^(.:C?!4=)!:SC]1Q;0P/&1 O=DXI[6K72:BBV M9]3'EG-P'W Y)7IM=P7G'50A*K^-V5Y27>._<2E9!J]UL@JSBP0Q.X@ZP?Z) M\[)10!E]W62S;G*OKYOLZR8WH&[REA,@6:W^O_GGJ=9&YZ)^CD3])/\,SE0* MTEN^KU+\>'!0I6;J,"G M]I# UE45D[(]D#\PLS)C6'8?0J5[ YOA!4/#F,N.I'_%8:/*1_K0@A+2 M3-\"\W 8LFX#5 \=YY_X!$E)0[^"H#>,3&H1LMX[^87YJ/R$OE/H4&7^M#\ M9JOVBWJSRG@R0G$BS=@>A K@MN,Z\T5\BE%6&U/C;IXQ:L@?^EC31I]MU"FV M83ONU!WY>L_] =F0+ ;/+2R6C-#$S=0$P!)8'N)1 XBE\0H^(.V=76M!3 NC!PI2/F M?+Z& A9+ONLJQ%W#D N55U5!\EU0L7:1+\.T6LJ?TF\IK+',B87TD=RBS];D M!AIY]U(DZ.H *-Z:6]!IWW>PRDBPD2T91:D;&\VQ!-D2A>U+J4(!J/85,5$6 MV]H+U>CEN00.C,4^%7,D%]PM!;YF4_#4F%8>).ZEYFW(OQ:VAR)T-J, /%E. MX/2UIAH>XS. UKE$QZPH!XNY=8-XO+!2RQ8ESX)Z@>!>&?.:)+9'+Z>B,:R> MA])")P_*F>RHYM-B@1TGKHCT51M78&'4'U1$ 1@+Y>0JA^^(W=.MP0^#YXY) MIOWUP"OVQX;A!%$Q[*G!:!(^2*;4 F;Q-8)4ETB+^2O\ $:XF'6$F1DRWQS=8$R&2TLF ?*AW:08+YY B M_R]6@5*+M<_^7 VUGYK:4C!)LPE'5H8G93,;IO2#N:(::X>;\TTQRZKRI M2GD(@\$K[%?8K3&V< @6#T.NZ.Z,%@7*P$T)T%:"@2+$-9S\(Y JW2K2#$MA M"ZPUW%7YK^829WL>" DP.%;$W+C+(+4>-*WF4:2W%O@8'2,+"-$I7?+DS"78 MA=87E*4#.:>(B;\F4&D+UJR[E\4U0E%1TZ[4J](3CLG!/L%;<1A!7 Y<0S5B MD-J.CVE8%#AN=G"XQ\K>2Q'<$*] NB0@\SN%07D4>N6/V(O"RA1IL598?.B> M+#L7A9K' -UP>W=K($?P+7Z352AE(!BXGN9Y#0L,[A,?W -7!2/'$+&+P#@1 M5@E)WCEZFYTH=+XSAC!PZ&YTP0NJ]Z8 GX#>PC#ZX#=2L<'')'3(N]@8X,G1\:^*_A8IO-) M?X^5,?80S1%1*57$$DT4FF/D9%]R!Z,W"[:BALYW;,MA$I#N@,O-,E)7*9HJ M9FJ<)!( "C$?EAV+$S8'A2K'6Q+I0E$>IF29NA0J#L:/?6"_RG])ETA, A%) M)(5ES^:)IM-5DVJL$/W+VG&GH^T(:I5) @6?;AHN0%_K963UEC,U)&7A4O*C MG-TR).VM@E94(.43""%V2%'DD[R0(&?GFTGW\>G,/^$= &MK!9)&L80?4ABH M22]ME *6'9= \(,SO23=3;J@H6@4@)7-H-]AQ4\>J/U"'5P(.^C&;8?1N<6_ M0H-D]3 D3YADL .?3=)\^L$[,;9LR@G/#LB&X>C(Y,6NSRS7C$XM(Q5F& 2U M#"A\U]';:OY[C(MO_C'Z"N?_KAW-4T6#U2HJT,:EYLM28 -$PZ7+!"P^;0B\ MNOAC4*:DC_=WUC/-$G&S0F5TW M^ GH$S3SIN1^L.>)>@']7^R%:#8_=](J=0$NK#,\@IUT<7/=#&?N;90,Q)Z$ MQ@'&.8FK:QB6/Q2GCR8VGP>/G4CGW(KGT]D29X2/"K^@Z#GH9 +#\/=CHE"R MO&$)FOZ4E2C!\7$52%_'T%G'L-_7,?1U#!M0Q^ =+0Z.2;/76<600WZTZM1M M$/55JJ4+2ZD3PS2A6_+!TT::057-0#ZEZ*H^#_.\8PG8:">4 4K#*M/>\7DF M,PM"8\-_X.G:6.K@)E>9 ,' & 9@9-4F%7;(A=Y%!)8\@>95//:X8"%[!>[&G(,5YT81UZCSOY\4X"$BX8T)&%D"U; MQH62ZP%^ #Y:AJ.O8%]<)(+@"U.:QME%A5Q,;A;0%S)GZ360<@EN#1Z.#?R& MKIV%T+? "9"T.^X1&)8-,G/N6FJJL@8V60)B\%_NQ<>Z\@6S_ C-D-/J= V903DHB2902/EL!G.Q4BR9!A.F ZN58#*]R$K7 MDVQ>2I0+RCUN O:==]+(N08"U[0PA!")A .Z\N7D!PE4+ M\1: ?F+UC.L7@Y8CYA7T'QG6QIK'KDSHCD;(T5I(./([F2Y-4IT2'%<6 M $P$$88X]$&;"??>C.'D/E_QA%7"'&B-@"EA@<")]7;'9\>>WAI)$K14-FZ(R"ZE-'?I$0Y4(&J=(W,STV/:T$E MK\6:[$=J?6!V+[B0UQ6*$U"&N%$@N%D1I9L\[T !^!L5HB3)A MD'A;T9-Y)50P$H3IL9R8]D?TE8^@:0MT4W_UF+HD!SHDIO1&(+;_U&%184Z8 MX-?,4J8(!H4/8JX91)Y2JKGF$'EJ%#28+5=QFB_F-AUQK4N60X#^F857.>7T M9669/\M.)V*YM^?$K-_=]2T- NCY5 -7=ZGXBK,E"T;'"X%BW@PX&POTE_ MNK"U6#CC#M4BIQ^LF/)0G,9Q)=RYGZ0)SN(X^-V(3C :VR2\A%=9@]X8925V M8,>B?.SK8!MV%24$S\+I]1JU7]B1GCG=J+7IJ?DP.*";&!D^PJJ?X"T&)V%* M7@#2Q6CKV?_B;IC5!>D45\3V%4;R_6'<=,Z]13_6"-PIP!%&@:JT?%/D60X% M0G,*(ST]I\+N@/8&N%'RS^HYDND9F=0=-7INA7,;[VOVP-KKP)L&6P>^_,:A MVA>[>RB[7)_X7>_ M0.78'.Z(8^CSQ9WYXH,^7]SGBS4>/&$74XWAYN M2:"=#JF]X4[[D!I]VB%U=^?3]]_N;.T-QY9:@EJH@$DSA*!4.2V2B2L4X]O; ML,\D3O/K)^U\_8HD+V^0Y*4WFWNS^;[F_<5:Z4:/@JAA/&]O#?=\S70PW/M, M\[F1A61XA&'PJWX^ILE5ZM-C2I]3QIN!6;#;#HVP[>^\ 55"DR)$4]J\?D++ MWYL"&[OMQC=NNYTM=]CBKCL<[G^F.="]Z3[AX#>62/O<'R#!)64:=7&3KFVD M*2G7W]_R8WP_VM68T1V-AL;A$N.BM:]'ZJ7Q[LQ*;>Z<0*PABH94G#"<2> 2ZJCE/.2K.1U;*LG&'E$JG,.XAO M1+F[O(P!80/J#R&YN0 "HA5#,4(3IQ%&T#!Q=37CA?NIE6Q MQ)E>X[\BY;$85*Y3@XI.01(B@' &[ U$!>.ZFK4\ CQM#X?;>J_=;ZL$[4A!!W0-83Y(LV7<8R0(- !2U2L8"7/YW4FK?Y8$#Z+,6MJWF6&/T#X M#:Q(\,$-:SG0AD^VV;]W61^HW($WD-M:6$S_[;9Q/!VWZ9IUM+KQ9F;,ZOV& M63W:,W9URY<=M*WH2Z.1L6 'S%8D0=4[F(S!)NR6,2V(=M76/'4 !\CXT-"[ MC,.(&U+%'KG9/C<&0&.Z;K*OUTJ>>4;X[O# GQX(2ZYESW3,H;.EQ?._-Z$* M-E7:>P]]L[3,^&#DXEUK"GI3R^R.',TTA5)9+\CL-CZ+L21RP-DH+D)C+7#^X,XUR]C7+'O-*=D;[JVE M6;KF[8MJEA['_L[S^8=]/K_/YV]"F6C)? MS%_:U-C1+3S/-XGJ>CX V4*[SM\:Z- ^V#BC'945,+?<'W4Y4D*%H_(3?&*W M8A'$VP/YBLC,)8!W68Z;AL'#A@Z\&M@^7R"WA[$D.70_U01PY]9/?YN9_Q@! M?X)[\HMY%T]T3X[%/]D:CM2F;'@>VRI"0G[']EI^1R-'^!C<\9UC&Q](N])I[77%EL.6= M DI/M='JYH'^;LPIM_7:LQ8D1MS7%,@&6BB).H"Y(+-T&7P/53JT-\L?OA3+ M]-TR#0\!A2D%(ORXS=:B:@1M7+Y8HBU5(4\5CX#>P1'2K@BR MK6*ZW=L:;AU^IV>DP6BKHB+JD0 P $WQ,DOR-V:K?Z+(U[69EUL#3HI$V%X: M3A",(_["D:;.?4@7+M:F6_;"ACXU\">NQ&BXM]LOQ"8LA#$2=OJ5V("5& _' M_4)LPD+TNFE3%J+731NR$KUNVI"%Z'73IBR$T4U[_4K=$WH_LW*;2?(TI^4V M^^!ISDJ_A?HMU&^A?@M]D2UTH_'YJ*>EMP2_E"5HA@4?_N.;@V\^' M4LPKQ=*CQ<< AQ-("=,7G/B#->3RIHSHOR$M?>+E[ CC='LT8*)?R8U^HC!N MAN3=K7JR C/^7($9C88'CUI@()GKB\3F'O%_]5UI [3_N_7^O5S\DXJ>>[GX M G(Q?NR",;J+,T17,T^G<3R;W>^Q\B(OS'LA3S(!3:O]:!WLA& W'=^W6/O0*?U;OX..4[!O$ MH1?UMJB/>E%_M*+^121[;],D>UU9_MX,_H>_$$QY,/]5%RG?K6'QL*LF-O(C MC)C?E7;=>VSQ\8U0I;W8/JC8CN_>*.C%]G&)[?TF5^Y&;+>&VW=T^C^T*7<* M$1?@)>:^FR\>;7C :-,#*.1'-P'KF;_[!\-QV_[MO;E^D_2;Q&Z2[<-^D_2; MY L&2C9[ M;;)*.#X>[CBZ18I+?1&!]PGE=ARC3=MNW[KB3?6^5ML\I17D.7 M\'TM\Q<+:C_TB]V));0[W+ES)?\T-/I#+W\OUS<9+WO#K5ZN>[G6%LA#O]@= MV1O;*^R-'Q%\8V-D\7YH8SJB/VN")X9E\"W$ 3J97+X%Y^>3 *8;)$^(\W;H MZ"(MJJ)#=7-X]:$1:(!JCN))%4S"%&#G2X&\B$]XH M-+W,P#)1X1X J77-$>*JH1.%"Y+755F9F46.EZI=/=X-^V26>V]X\-W _/?X M._H<_S1/6<13:.Q-ESUD^B9#IN]L]9#I/63Z!D"FWZ)G;ZI)?E/DL/WY#&-D MNRK\>.>T95\)$N Z=OOKN@#0SQ7SJH@QC 6PJ\@%P:S0/"7X4S1?/XG8MXM- MK0F /9N9<4:%D<(,2 X1)#3\*(QGB"-ZD9DIL32].)9IN "@Z@ JO8&I#'Z& MXS/654)-:+!9PJ"*YXN\ "[#-+QF1L80X T!^[1.X=R,:G/&T:+";Q;&'HF2 M>.ZX7X1'5'#D!PW:%)AP&#-1F)9!64^ G!,MG_#C4*;AW(YQ-J-C%=\4CW&8 M-Z/;'LCDV60QOT6$'6O,M^8P]P1XO*K9;! MX1I#?T[HWK*5H'6B%)Q>1-J%T\8!(#-X'Q#*FF8,!Y)=-6.0(;>^GYIX;K]ISH[WA[IWN MND^Q;3M791-.DWZH_5#[H?9#[8?:#[4?:C_4?JC]4/NA]D/MA]H/M1]J/]1^ MJ/U0^Z'V0^V'V@^U'^HC'.HMJ4"Z$(I ^H*SA)G61SOM9[A+[[9#:3LW_SS M705O 3EX7IT[YD^_PU5YT#6X6>S?QE=Q5A-OJE' 996=ON#WJ&84:AM*GVDEW0[*UW9-L;<)"[ ]WMON%V("% M& T/>OZ_35B(O5XU;<9"]&=$OQ#]0O2']08N1']8;\A"](?UABQ$?T;T"]$O M1']8;^!"F,.ZWQ&;L!#FL![W"W%W"_&)<(FW1K_OESCQ]R,>%^86G/#)*0U 9\K,I\M,:.]X>'C)F.]0V[-VRS+1\V(W(O+75-N]N*R MCKCL/W9Q^6M$G%_9B=/OE+N;E=O\YZOF ML_X8[55FKS(W8%9ZE=FKS'X;]+/2J\P[2YD\N,KX\BKSQDS%@[__"I79>]^] M7NSUXB,V)1_EK&R\@6F;S7KSLE>CO1I]\%GIU6BO1GN%T<]*KT8WVTM_E+.R M\;Y[IQI]VIZ[K:48?VXMQ<%P_W%7WGS_BJ@^RA_N['R]#R-KXW5!BYKU44D% M0WWT)E>O1GHUTJN17HWT:N31JI%[D)F-5R/C1RT5G6KD\SP7#1@ZG<;Q;/;@ MP@'_%JBZCI?OP*Z[VZ#/ TR)$@9$7+MACNXQSM-/!%M=&[5)[M/2Z@6@5PG] M1/2ZL=>-O6[L54(_$;UN_"0W^TGJQO'7) "/(!UH@P&/))[H#?[;QUB4T!2P M8!O8*!1MAR=N>MR+(D:X''--,!YL'VP-QX^MFNOA%\@FKG]%@;_=@N/78BC ?7OU\V9K*S?.E'MJ' M_E41.SWF4%$?&;HKPVEK_X[UU@9$T:5K^ZL,CK?6^6"X_UV_E_OW?KHZ;+0U MW.]UV&/6868%=WHEUK_WTU5BHX.].XY?;8! W*42V[A,7%N)C8;C[QH>XH]( M:KLQN^U>^+-O(&O&7T;Q-"]"8$IH4+PWOTV3+/[)K'91<"YR2;%G%8QE$P60;?;N_N#@^#.17>#X*\"$;[P[WO!D%4 M%V:W(#MS,,WGB[ POZARG+YA<'[I;A0D$#)(S,/,J,WO8K@,>)_#Z7_JA#@O M2F!]?_/R-UR!7X+C?#XWOW>LSVY0X;1*KLQ\P==Y702+_#HN@BA.$Z,3EGBQ M&[OLK/#Q8:X'E%IT+'*JO MLX#&40X"("6@/"BQA$ MA2]4;V$>"9XL2XT_9#0/K3RUAFH>$]56K,JR-G.>FP7,YW&0QA?A=(FB:2[[ M,YY6I9'=T RJB(,L#G&.X%EI7.'\71HU;P1RFI?FRK L\VD25F88UXEYQ="7 M3;FE#'J XAL&Y64RJ]1\F-7Y*-<\D!C?KHL_0=MNT)YXN-/&T=GWIXT];?:, MI>;I(J-K1IXR&C>5T>AN3IOOOQWO;3E%"$^9F'6,?KCM' JGJ*O@$8_O+-(F M\\,=_SS:?LOR418544RJ=&R%N' *Z%_*DR#Q-S*Z&0C M(O!-0TP\*0*9&8YE;#]TGVXI"@4?@)]YLOD'F'>T@=/ WXS:@N^F<5;'*;Y( M&DYR.9]F13[G]Y^E***AD=LXNTJ*/(/I"*[C(/YH1IC$V32.9 C#X"@HZTE9 MA1F\KWF[/_,"-@-/VG5>? BB/(O%2G-]:B7UJ>&2Q,4L+^;FMD"?9B8JNS#_ M4\7%/'AU=F2&F%6%68D2%].LHO=AF5&6QAVTIRI(.JP0'=6I M68.@+M$LB?ZL2[,NL&1&>(QR-F,*LZR&.PT"(Q9!M5R :VENC&H#O^/?RXMHFUFXH\<)H: Q2"'Y<_1TFY2,/E M3ZC5^%'2SKN-3S=_"X'AX1":;GUV075;[U[/IG&:_GQ3;OIN^0E7M@*/=URT MA",F.^,V!R'\]__C,2S:(ZYAP*G9XXD98QCH(GY&!([AS#S^IS"]#I>E! P/ MASLC:9?^R?9%PPR#DAX??A>H?\.LM!9M'GY\IB:.PT[/TGAF5H9^)I\5M%S\ MX2U,DKSF5;[XR9Q_>_Z2[XR&.ZTEOVNQQI795H'+,+@TZN$?W_SM_/7Q:G\B M,V= F'K=S?S1-_\\QT/:*(1C\ZT1A]+NA_#V/=&ACP5-8' ML#6FM*5\X=723.IGJZ4WJD*>JAAQO[FSMI"><;=G97]:"]&SLF_(0MQ6MM\O MQ/VQLO>J:1,6HC\C^H7H%Z(_K#=P(?K#>D,6HC^L-V0A^C.B7XA^(?K#>@,7 MXK:.U'XA[N^POK%KME^(3UN(1P"*= /F].>"D(]V/A>%?'=[N'?PJ &G_QV' M17#2G57J(OQ]W!+2FH#/%9G/EIC1WO#P<0/70ZJQISGHQ65]<1GWXG*/XK+_ MV,5EU)\X_4[Y$K/2Y6Y M ;/2J\Q>9?;;X/]G[TV;V\:QA>'O]U>@TNG[)D_)#$GM3G=7*5XZGG9LC^U, MS]PO+HB$+'8H4L/%MOK7O^< X*;=MBQ1$NZ2MKB P-DW'"BH*)%9GB:>Y1>9 MY3XS?8;(5-ZWDHM*+FZQ*;F54"F]@9EN8%/FI1*C2HQN'"I*C"HQJ@2&@HH2 MH^7VTK<2*J7WW:>*T?WVW--:"O.EM10MK;G=E3G7S9X#5A)9 M4-]JJD@/%54FEQ(C2HPH,:+$B!(C6RI&-GHL8$G$B+G55#%5C&SG<8(+.HQ/ M6?QX,[S51GS*=4#(.(#V]D2I09T4 2B0H0"C9J&2CDHU*)"A M*-FX72['(/18_9J7:7O5AT4K\*/&SM:A5XF>M)]576M6VUMRV M"LS-BY^W+:@LGR^U:1\Z?U+G-H>*5&1H57Y;2]?JNQ9%3[9L[V1P? +/AJ'5 M?E;,K-:]MT+,!.UJ*B&VU4),UZI*B*EU[[$0J^I:;==R=JL48J5+Q4T*,5.K M_SSF(G[B1]J6]\3=DDB!M8!GSIG4_$V;67Y \?R&L6/5Q^^ZCL<.@0I9@']- MW!8C\^KKSZ)3>G(Q?W]U]=7^TZ\UJM5UKPSAX$/DZ#\%V/"M@ M-&0VZ8[(^W:UI;7(0.P3J! _(-6V9OY<(78< 'OS0ZZ)Y0^&-( W(I_#M4*& M@0.#PRSA.8:7LU$#YK%'?K(TX[76%;AGQV$4.-2M<-0,G2%#5!)J1JNQ1FSF8TMC*#6J-:U:0&F]!J)R 48E M'OL@=ED 2,Q.3!??#352^"8-"25#%N#V WK/B-]+7\JF P-RAQDN37Z76Z'R MSC22"D$-.#U06UZ$I[8_1GU\6$Y03&J"V,BC'_RH /P#'Y8*T^OY 0#;@OEY M.-^$\F 1?S$+( M 9\,^7GUG*E8$/J>Q]QT&(O&DB1<_Y'AB?9 XGQFSA#6D./#!]^-@10WQ&Z+ M]<,S-(#2@"D)B;;^Y=* FU-T]7I#:Q05'):Y(%H"D"1#SL!#E"NA$ \C._#OF2>O M@?2D8.%3%Z2GW^N%+,(UX^?#N!M&R/34Y:MS&9\%2.MQ$19*P6'P#U "!,9O MPU60:B!1&1UD+P'$?\!7; ;XLLNMIS>MCNMC!E9#:RTDNPEE6-3+R^MBP&). M%^L)5CT^<7O0D2,0_C"#^ _-(P2K&BYT^ERQ^U9 M ), P;]S[83PE"C0^YC2_)/-L!6N7: W\F1?VT-MZD6S^/+#5L8Z\!BKOMY M7D)WM2?ZS=P\:]:R"(.,,M2JDZ?VX;__4SB3,(V4C"GR'/0D8$P>.KEG!^+( M0]J#SQ]2]Y&.PB3(UM9J1K+!^##=28P01@8VVS^3W-\(E0FD#>C300YP,E1S MX+(>8$:\EEP+!+KDQ05G+TJ<1_[P$ BF441Y#0S]"92OVNS@F*GF@GV4] /6 M^_7=3[>71[/M2@^] +>P'UA>>O?;+6C'H"'"=-_W'IF$<^%U1,,^?(G9>PF:C%H" M-@Q8B!Q @%((%1-$?3BD(W[)=<1%![[_V&=Y"X*&*@#!JH/!P&M'05@/L1 E'X7I+!X@A,K>V)6#.XU/I>.@OI+ M(Y=P29@E(R(I&9G6S8@]$.]9B,XN=='KAU$CKNZZ#%;LH0J'=Q@%78_V@F_S MKZ9OX8&TH; WY-3A!6F0PYHU@W\\']Z,T%=!O41 _<$,X:]0 A6Q")Z=[S[@[2,!U5,QOU$%C=D!&,#H MYH"+ Y#+ S\_,/_8^[J1=P:YPR/P"*H@_30"$SX B$([[KW9K&9^VRI=GJV0 M$\NDU/PJ"]NC@B7ZCWHT(N.%T!LCO2YD6GEGR0;\-SZ8OP89A!;*$C MBY,!QI'6,KK= S"+N8%?Y'X04#:&I^5L@W2VPKY/I]SGGI?OL8,1GNF+#%M) M@]E@&SB#&'QF$%9]] :01AW.DN@#X&(<("LP'#0]1XO(>>C]@]\%Z-*(1/3W ME MR1 \F,V?>]S'^;10[\6D!#$P\A"K3'P01;<#!EGOJL8I .L]02\+0 0NCE\ M/G@;8[DX!OI/41_6/A0/"Z!&/IHI!1D@A#@N;_:+A"3N,M!((>ATC@& M%NBE>P_(V^9P;M8S,.-*8=0)B01R:OH-*>]MD +Y80#VF=Q(I44\@:KU!4C( MELL/[O4@Q:5:*8Q[0#A.07,*X?) W9A*:V%,_Q4U)@\Q!.P^=H%)NQ2TIT;( MGXPS!H^Q<2E!':!;=(ND:$F&0G\]#&/A_P\&/J["MWZ@SO&XTXK(]X )0!=R ME2VT7Y!X^=SJ0!-#**->(CR !CV@LS!$DP8FP&TG?# SFW"4Y [24SZ0Z*,M M\IB:23Q\OY>9YLO$?$.VYW\@[H$XI.T#.&3(N$8S"\2AF)TX>UUR>CXN]MZL MM;3FPK=,#3G)Y:WQS#8 ],)L2FM>_2!O$PC@EI'3V$(] 6V#KSF8L!;K^94 M) XPG5Y$S!6$I!O;R*#5VOAK^86GCHF6AC0*2T";12Q;<*XP)[H,: O,@O(!N/YJU%/G3Y<-^X&DZV>WSD"^,Q];3$+7H M5VG!XW08LL/DC_PZ<-HRF(MQ34O$0XOAXUSIGXP=ZQ-!WRA(OIID P1REMN\ MU:AJYMSM>+E(;&Y\<.,"A'""Z^0WMRT/1;0=C$1[89!;9C3XAY-':1?\BCAB M;QS=GEX9P1^$F\N6^.93%:\J S4U?6Y'$H6(-2&BK1EMA8@2(,+0Z@V%B!(@ M0HFFDB!"B::2($*)II(@0HFFDB "1%-3(6)UB'AF$XZ%?MQZ#XMXZ>DAK9>> M'E)M:,W=/1]5$<-+B&&+3PWY#R:X3Z;'JI*-I]V=(9!7\<9*#A\R#,TTMIIB M,("YLG.'YANW*UGK\BN;1N\*Z0G2387TYR+=V.YSQL1.L]=+_TTW4'C^<5)' M?>K=\SU2F((_7%U'">%%EJL%PPL3;*L(,"E 2'%8*A99R[H5)RA.4)R@.&$B MLK<[@-@"7_F"1:+*4)82\KW-TS;)K(S.U[J\5;337I0**VDK-*/=TAJK%LY[ M(8D5A:Z'0EO5U1XVH0BTQ 0Z-V574@)M3CN.8#M#(*F>Y[VC'$_N6W@C'5\Z M$VYE+32WP5F;144'RLNT6+V32QG+38LE$3SK:BF;'*"!;E0V6!K*!?&7? M9:%%2K5=(E>P,KOO\K1BCM5V7RY]TX'KU%%JMKK*+D:)01:&KIE"COH(.R^4(=APS6!ENKW!\CV^*H ,?)OTWO["[ M=NK*6FZ5,23Q0JK6FZN7NYLF;^68K9[@R^=OO8S@VVW-5/2NZ'U?Z-W0ZU.. MUMF">,/OU/$(F"QUB WZ:!@RV9#/=2BGY96= MQ5!&,U?58#Q+7K^%N-XT]2N73^6>7\(+S?9*CU53S%!>&E#,L(@9C*JI-5]_ M--6F@R-^#\^E&L(41]P&PB;%PP'SHAVQVS=E[I1HU7..$%2^J*+IK7!:EZ;I MZFI/Q50TK6AZXS1MU*?1]'9&7BZC/@O>TH@N\3$8:ZDB*?'Z7UK=-R4'J9Q. MQ2^K\35+O/Z7\8NY^FIMQ2[;0"Z*75["+M-*&+<@B).>+YX_57Q:H_/5,<.F M#_%XHPTY&U_7ZBVF=FOU)M-^"/Q-T\(;;9C8^+I63N.ME9XQI4A-"RXI(I8V//D).QQ^CS0D[[E1DIR34P&8XH;P ,NR M,0?Y'G?(59/;Q/('0QK V)'/(:\1//5'GJJ*)_8<8&_H _R+CSX,')@DK);8 M,<.7G %.CV$B$XN\\* ?N 23([W '_#?UJ(:,/Z;O^E9;ASBO'"F6,&93A0N MW,MT*EU0;8X?X@<)>>EF>&WOJ8D?Y@0BT^F!P =<(>)]CQ^1"Z!%X+_/@SL[ M5W<&RO*G.LT]U(D >9$P'B#9_ U/9>F1-'FKN"!()(-S$G)F>?&@#TP#RX# MY3U&?2G <@3WY@;)*[GF#<7:V\Y1L?$^L7''LD"R _\&P)[. \=]QLKOC8;6 M7L#&%0)0L(!#0VY=)*JS6=?T],U')L>',5,C*/WT=?;I&V;%@9/LZ">GU.($ MNT:VWZC!HCA; M]^. P'.V'X2*?Q7_*OY]H8&=]S%S/-RJ: D3OIUMHL[];6ZED<<9+E1%P1&TU&] D8KA=C MAZI)'1FP(75L,J 13)>Z9!@'5A^^$6I[PIAE#;=G!ZVKYTWPM%R0'5H'T/]M.. 0B/^3+&>.**I\:_$Y.%&YK2%/%XWYSPQ;& M.K"8ZXY3;:'(<[4'!L\\-<>LY: J2+Q6GSP4&/_]G\*1QZD*&;/'EA]1]I*-0KA4$?,W(Q$8R-X0P$:<.D=S?")4)I WHTT$.<))I M!3'(UY)K@4"7O+C@:.>2CI@Y_QZ[N?;B^/ MI@FDQ3+EE@L2X&B,-R WI_Q %_/$.*2G 7 ;^%ZIT7U2H_-3UX;16I2ZGJ(P M%Z:NS2U7C=LP1\7&^\3&\U/7R,KM5A8B7YJ3)])<*F3^NLB!XLI]XLJI4?0B M6S;U7+GMLFPY.VI.N+4I@HBA[]( XY5_,2M2\?09)% (J>>Q*$\(/9L2L2QA M>FZM,? XG!W-%6'OJIZ%)BOD?:UE9+53%1Y">=]H&SG2EP%K#$Z&8]')A!&J M27A2YB4J0.SAD.&7F3O22*F#DV]-)DD4Q?$PO7/0=7WK1V$9>NJ0"_G]FYS= M<1P@ @5\\[5I[]OCDHGRT/^C'_S -RPZ1*XA41"S@WB8ESR(R:OSKT 5_XT= MX0:O%#TEP<9\*LD :W+ 6&TW0)> +DC M]O/D= ^.T1-ULB+TC_H)5Z016':7N0ZX,7Q:_J/'@K#O# D,Z?K>_0&84@.^ M8TA&]3-H."&Y9_ XGP+87CWX$\UXGAOPN/[+'N8[D*31== ='<@_21<&!OX& MY1CU84"8/DC+^Q'I,W?(LP;,"^- 3*[P:?I '9=_+UE]8M*1QS[#="P#V&KD M##X,UF[$\<2_08?P)+7Z!'!-X$+D!VAGPR( PK$K4[*N_P@Z%G/+<"OW:VH!"CI&>RYB@L51] N@MP$R8 M)=^3/I_2#\#\?Z.:KUM[7\M;1)RO:FVM7F2K9#?? F.H(TD!)UO4ZZC#T\GQ MC73M\;KVA5OHX#67RH*>;NRXZ&2%X)UP03PCR9Q6T^Z=Q'V^TW'J>!2$WAL[ M'=NI[J?!1NA\[IL@19MZO>A:2.N6[\V86CN#-"N*'#!<4"8"51&C?8H8H8N= MEA*@H 7E$K 'WWW@+E? 0*KG+1R^95O/.=L+ K2*FO:)FJX$)7%UG9JX-NOR M*^_;.0=IC='!\B;D7J!WTFK05/?4ZF;.[Y3Y3J5[E+0HO[28\%B $8(1T+"H MYZ<#8="CT1\/0UX;*IQFG\J6'%4S'^:56V"YP''", ;V8<*M))B^F%,$H AO MGP@/C1Z 9\ %8&KV+&/L* I2%#1==*7R)A% (>ZFE]LV@+IR ;M>,5VEB$H1 MU1+6__#R/?^M'W78"TU&5F1D)O[H#M4+!O MBM/5JN?J5(7392BG2TF+TDN+USM=U78]Z\RGG"Y%>*LPF2U_,,"C"5%E@:)J MYHJ'%04I"EJ)T]4PEB(JM0]Q?!]B0^U#5/L07[4/40GJO1+4%5\6"C$G!'X-D/.!*NT]0_=XH/ M=/ !?LOX_)%'QRP?O EJ$QH$V DKJ*2=>GHBB(S[)+&Y&<,2?)@MS/0#:J!L MJT'N<^DK@^ M#ITBIS*?'(LH94^.V,_XWLS7&9#KM 13#I T8\<< Y 2$ "^+HD&\ [#2S3] M8#Q4&XJ-(5DM)]\/(D,GSD#D)/"_G&A]'DJ!-UD428TIRB$J>.]]U2P03B>: MME>2TSCP)OSCH1*.P@C&YI_.:BVX\.-SG[-$M/]8P!EH8D*%@?G'WM>-X@%# M=FX+2_IIW#X('XA&8K^HV8F$6G7(A.T ^YQ3UWQ@$&6BM44ZP MY,N&)[B ]P7T$N'#X'V7RRC<(?3DX#YRE[=[R;)H%2&I<:0N=7E4#U-GDP*' MRZW)W2[%SW,J2+>D/),"!5WQ$G^8LY#F;-IVOJOSE6[GV\Z4Z9\LV9K+DT7O M&SFU-",QE-NX$_6=P$[H"Y\7NXS"T ?^QQUC*57,%*E"58:DRWC>=N"#SI5] M)!UN)@#QL*2QI;SAIY;(^;V-2$WAN,#4(VY*0/L('/ E7T MDY@'7_'"):)"UG-)Y+'MS#/GM/?T)MA_TKS!W81"\\4+Q1M0%3S=Q4UC*8D M$3$'E=@A^>!\Y*_?R'3")5"-AYX0R>H#KM',^B"MMYO+T^O4=!NZ<XP>"OG #)X5)H4CKLIX? ML'0E%6R!C:UU;38$@G7$<2Y<(@K>$!>2N9]\.;L][J2SY[X(SM1F(/D6S_-C M!7>T?G DR+Y@#$? )CV:!J_#XU22_P KU"\PT&G:W7]9SYH M5SR(Q10,)\:XY>YY@')+9'GXS*98ZJO"@D;^F:H^#UPT4 JDQQ"XPC+)&29X M6>J=*:Z%N M82MN'1GQ%SYF+8OU9K.^-1'V"'=!';QG^'] 1L$W:V 8@_]CW M,0>" H&[;8@@'!>-9&F;4(*('<0#\5X:Y'Y?+VQLV2];\IR+W &UV3)PYZV> MBTG:9*\S/VT3S?H*8A;WQ*,PAAN\.)N&_0K?7P\.?P ^0I;:_<">Y(NYBV'< MY;O@L7D1&(5.%/$NO6 #?*PDG7O'&YAIY(@%$9[J"6^'CNW0 'WW/GT0F688 MX2_?P47 ^R'C&]C)/8@'ZLG=_Z1''_P@,2L2[XPWW7 3>EU&/>T=$PN7R M!M 0+_Q++07^Y$0#A/E./TR&Y6;N"P<]:Q@!,Y,=U7D"Q(L"WQ6%AR%_&.>5 M^RE5!3;)B] PQ6("7V1/!C[OZD"Q*/'GI%UTY&/K',%J>T==?\JPA",./7 = M[HJDCD5&-$G7EMGB:TKDHU3@I,2Q?WUW]]7]8=0;M7;3,/5W(HV_IECM/Z@' M$G&4BPN-1VMY<"#C)- 'CW0H0EC"G<,HED?O1:<+<-Q\T:=$UM"ZL17%-$JX M &6"[#Z9&S,440(^,NOUDH@KC":8+#G?.3\-8,?WU4(43LIQD;G.A9V$ ,?9 M%8,./!:13@B72GCV3X[?(S5-;]=_1HV$5FP\J,RQ4K-:8E,SX:6II,=7.06: M(EK+1<+0ZF+2.Y4F!5T!IKHW%L3= MW_PT6#O<99GDZ8:[]\ZNX=,W8X]<[J0_B(K(J= M3QNY C?ALF4T6BRAK$RAZ+#O!Y%X)$?0>P=J>8;8*/6@)0GZ&0EB['8"0!2?+[ L6#X49"[K%7F@] MY@HVTT=I%^R(.&)O;#9.+[?C#PZ?>4"6_+=8ACD#[+/J.\&C;"A$E 1AN*( MDB!"UXRFPD0),*%D4TD0H61361"A9%-),*%D4TD0H61361"A:WI+8:($F%"R MJ22(4+*I+(A0=E-),*%D4TD0H61361 !LJFF,+$Z3/!=_,5F"J_*1:QOU5BG M-)%$718,;RJ67PV#U@0(YJ6-139N\M\T;YRLUO)=!,&O[\QW+V4_0VM5DQJG MI(;,៥"DL*4-P;-S#JP)8!UB[4<$Y!1=+!O=& (V/R'T4!1P^NIH;G= MU& *V!S(PH:,-D)%''LO*FH%XJ@KXE@M<6PU;72P#GP18;S,QLZ*TP]_LBS& M>KWUFMWGA?JYE9'YII?UHMT5*P@>;'K=[U>Q$A$9W,!2BJ7<)-XUC1MJ)MH.VFJ;45:2O2'DLV[P)I&[A; M3=&VHNU=%-NUJE95M*UH>RS9M1.TK1D3&-Z"U--9TB+ ]\9;\G\P/FY#Z*<\ M'+G61281JU7IEZUC.-.LK]Y04G2JZ'3%=-JH:;HBTWTBT_EUSR4E4\,T5V^; M*SHM,YUNI3BMMK2&(M.](M.YY9 E)5-=JZ_('=RTGW\Y9-A>"?N-X/$4H0K< MK#YPL\'Z@+=7,25<[\K9O:8W5J^6%(.4AF 4@[S6O3!,K:481#'(BO*ZFU[O MZAFD:4PQ&16#* 91&D34LS65 E'\L;($\Z;7N_I\6&UE(8<=YX$]"OH5J;P* M5&[[,?8(W0A;K[(<:M,+6[T!6*FW&ZNOV%9DKLB\3&1NUMJ*R!61%]S[32]L M]>'@:GU*.: B\CTE\MV4Y*UF>_4>N2+RK27R6@D6MOIR$W-E==V;#C:=CQ^: MH\)H:@O&+FTOJK]!!>.F4:Q(6Y&V(FU%VKN[X1FQ;)@K#^]O&LN*NI7@5M2M MJ'NG-SW/HF[N('_BIQ$6F@N_?/9:AHHDO)"[@N<^\Y^Y,XTUH\T&4]H=%WL8 M+W-6=J[-\N1P_--:@Z7.?EW3TS.R/=]C*9 )C2.?Z$3'[^;;%#_CU,;7$?$< MR(GCSETZ\N/HD)]-GP=4%>+QW=FM(1P-^ M!8]']N. <(R0@$9,[,VG81@/<$]&U*?P>.!XEC.D;O8B#1@94)OQZV-LO-\6(/-# X?0)!/.#17P.H3AK M%IYP!O#3+GZV2T.XY'O\F.AT*#YWQR,@YY@5C1VWFCOE&5;BQK98&KPP $Q' MXN#;8&RP\)$.-9+*G@FY4Q*UMXX3;I&NDC-N;1\&]OQ(0I*1H8]GNCICY]WR M4]3)('8CYX -AJX_@I]#YH5XT/#0I1Z2 0%VL_HD] C=9E%XQ!/6D[N#Y&7@%;QNU[,J1I EH&+T_GU" +JACYB(V#_C1T M.B)[0'^ J /9CE@$2B^2!3XPE]![ L" 5*1TSAIX0#VSTT.U =7%,3D:QV@B MH3,DW]CCXPM"TPARZ)7\Z%4 '&EQ3N@(X6;J>@.G#Z]S/H 5X/02^)9^R H>KYN1.&-$H!E:Z2DA6@DM^VY*<-8A1H=@^6)@# M1D/@,(X8D/"!#SP.+SD!$5"70\(U,,?N^X2FT)!/3B#C81P<<"\%AR#!=&26DQ@!K!3> M[R)(4VV)*'4*,MJ68"/"%*1=6.,.LG=Q&O.Z#E_V>N0+!71:C-ST&=@=G2! MBN2B/VT^O%/062C\>.MF-(* V, \IJ@H>[V#KH13R.%$2W@%L^<^%4*E;;!6^0DV_)O,'__:G=:+8_ ME\PC[$2I$Y1L>A"DL-Z)S CP9&[9(S*Y3=SQ&@(0"!%H:Z&=X>I[S%01F*F+ M"EDX&5RQ@9$4)CZ$?#6SY;D8 ,$T.3Q:,>#> GW"XDF,!E9W))U!L"$X0UO MRPZ^!H*1X574N\Z@B[*.BQLTE!*USF4%M_9P:-L)\3$^>2GQ5PI\"( MH'S,+C@I8,6.$[X:,CFA\C&.69K2!X'%$S4A\!T[!B>YF#Q@T"(:/I '5=87:/<0!V8" )B M(J2 ULX1]:CM $'+NZ?4XN]KY RLK!R 1T!H 0<1P-\"_=2+T3FT _J("$)G M:1PZ-,BT%)K,SR%P+[LD* M"$]2@?;6@0\I& ]?S?S M; ZSEH.JT$ZUUN01=_CO_RP5QLY!3P+&Y&B^9P?B?$"*1WT<4O>1CD*YUF9; MJQF9QD_FAA FAJZ9[9])[N\LL)V;SX ^'>0 5R0K\5IR+1#HDA<7'%28,UE, M0VL448Y-M"=0OFH#3]![+F5"21^,Y5_?_71[>33-EE@B0,R-/V#R([@K7!W) M#W0Q3XQ#>AH E76Y3];EV4S_C^MTZ0-6IND]:65EMDEBD*#A 9J_Z]AH7UC^ M8 BJ"8V]KH\A$H?'>CT9W^*.'BSAP;%R(5",X8"'II$)ZW?"X,3/B#CO^'=0 MG8M[>1,TPM,/N9DRA*\\\8@+Z-KW=:T-8W&K5/B< 1O(D'+>,,K<3)' \ %: M^#W,<03^7["J4'P"/UW\@JDUDR]@7'3Y$ M2:!]DD!':: J<5!"QY:>%/?M,)\A(L&+$CY"F/"X.G@K(-H&*([ \8J0=4&* MB;AS[H7$G4KD3BY$.SLE@!*ESZ@+WQ(N@=OC$\7HMB:D%#G%R#N:[OPJ__*4 M3%0N-4 ]+^9I+APRE;$RT51\<#]3H#<=MJ6CO]X5XCD-YPN-E>0^74?XK$AL,BP*$MCC(] 41@&O:&E^ M#A.%@\I3+!W&0 )$5Y0'%/&M7*9H7H;I&>D?#Q@P27;P5,_2R1P)R\H2R9S* M$MFO 5VR,$:Q/HZ7N5KVV,B=6J;O]475D&=] M;G#&(9CFY,_I:4Z>:4_CCE,"O.-:> \"58K']X?'W_UV.A[)%^XSL(4/M)\+ MN8=9%B&]EA2V%?*9D[;Q!MVX[,'6\ARP[OJ +]3ZX?KW9!\K 4ZYR=4+:!@% ML<4-KC3"DLO^5$A7 @D\"A3C\"^,B?4X/G<.I+$6H!DA%7-=0S^%N1@_\$!&)D5X#2\<'36*G[\#Z/%Y+@]$.\5;R'-KX7E*]9J)JM EV&:*+3 :,3@";7!)A5Q&/'-K' K M8* UDSJ]:?4XTFE*QB8/U(5))6[**2^\E>26#34Y1CS M$G A+G,#YU],BE93,R9%N73: HB[KXYF(5DU/Y/ AX0]3%';04!;[A>0#"'19)Q1^/"R3$?<, M=TY\%:$IB1CQ:0DZ*+)-WE,5/*-/$'L4)%_-;3E[MVR;F6ICP8E..0K,C>_# MF#W 2 *2Y#>/7AP**0/6C+V0N7.^:?HH[8:^&T?CN^[6Y\,8SRTWD?^^\2@PL3: MU'6UJA!1"D0HT50&/"C15!I,:$HRE0$/"@MEP(*22V7!A*GI MV=I[8_/5=_=U+^:ZIMNN7-D\I55TSC9VB%'-EE#)?=Y5:BBA%L5>*PGPI M^QM5S9PX\F6KV/\"B\D,DWSCA60KXOU2$,;JM<1KR*0Z<4K45I')+=86*AOB M;:BCQE7E%E/'&PD1125%*FEM-Y6L5H:LW[I,UR:K.'O\?R9)X]UONEYTKYHD1F#]+EI1?=%GVUH**'M.(-V:*%I?%';[ M[D!,=XW>V%H7N:)#Y^9OP"CI"7/MQBH/OMT+"EVTL:"L%+JHIFPO*'33F8_U M>3>*0-=$H$:KNEH9NOL$NNX5*O)JE?T-KRHLE!O ME87:-,4H5EJ?6FK4VEI;Y;7>)*^U:7)1?+0N/JI5VHVF9JA,V79FRN;4.<[" M./Y/ZAGOQ):)=;K"!?ZO O_;?HQ-&38?]OXPM[ 0F@U3:VE^,+>P*WVS0E*!)_AB"O M@RVF$H[;F7!. MKW%/Z7=/:YIE75_I0JJO"QS;E;J[;:FJWS2 M;N235EDEL@/47:\8NJDVC>U(SD@1]UA=7]O45UNDO9>T78)%*\HN4':U4FT; MJZ1LE?O9]OXAVX&HE>Z0VK^MH].V4^W /M&JWEIM^?T>,,2TO53[QQ#3ZO5W M@"$:X)2MM%A_7W)1FZ8$Q0]O$X2KMU;;)6KWV6%B?Y9BAAUAAGI]I3O/5:YL M3WMJ;*VW_]8=)W=B)^N2321W87.K66GKS=4[D/O''TMVD=P)_EBR"]] MTM3KJTQAJR1?R4A&L<>KU(?1;*_\K(#]XXYENCTJWM@NWJA6VK7::NM#5*)Q M__J&; =RU48TM1%M/PE8;43;70+>G^3?CJ]Q3^EW3Y)U.[["/25>E5S;:$^- M6S^BKDJ:[<"N--4!<=,NT!Y20"EVK*F66)OVG?:/ DJQFTT1_H:=KOTC@+U< MM*)ZE9S:1'+J;=J&; >JMBG5M,)RQ*W+?YN51KN^VMJ0/2#2#:235EC8L75$ M6J\8[98ZI:OT*:-]IE&S8NBU51X%J])"BD!76^E6;]97?U;Q=E#H%J9^UM!2 M8VL=P;?>(+5_6TF7W$VU [M+S8K>JFE-E3U:TV:J_>.E)JM5?;$41FN$I&+XJ/UJ:2ZT5YMK%#ES/:R?E M#2=W8O?JM!Z2N[!5M59IMO35-^K?<3*?UD9R)\A\6O.O72!S0Z^TVC65[7M] M=TA%YB4F\UI%-TS5\_&5/1\5B9>8Q-L5O;WBMDQ;EG'\%%' 8&DFMD(Z<3SX M2@3NXOB\I"=&PKX?NS;Q_(AT&;%\+W2 O)E-*/P8 )GT&5QZ8 1& A*(_(#X M/=*+HSA@)& /S(M9A= 0GA^RP(*/T7N&C_AQD-PG3DA@4!C%)KW 'Y!AX/_% MK"@D49]&A,)(^/TA#2)\DY*NG!R0G!6[-')\3R.W?9;>8&'D#&@$\' \RXUM M1N@ G'X8D8^?W+;)MYM.6"'=..+SL>(0")<%8?I-6' 44"N*J>N.B-\%^N;O M13X9QH'5IR$,[*-D^@ O7^L!@)H 6 ;,$+ZED3./?P"A*2$D(0@0\BSF"A!5 MR"/C"XM&0^16&"9@SJ ;!R$"'C 'U[*YA1S^@1_?]V' <,@LI^=8Q(;I<80^ MPK@_H1+,X0\OAKACLF4@ +68"$N'0')!.P>*<\/<.3_Q@X, MSY"^8,P$]BG(G#",&:#^M, 58Z3^V >V(J'E#Q&\GHVKA&7Y 4N!0!ZHB]P$ M[(*T26WX,( 8(&:SGN/!*G"ADE4EX7.(($(SFD_6+XA66Z%(*8ED6W[?[4FO MQX$/&#[S>H)-./"/^M2[1UJ]"I";TX!42>!$B6/_^N[NJ_O#,!MF3:]5VS#0 M)[H>W7 )Y 1D&G!P"5E).2"%W +*0WG A2_0-\*O@N2-! T"*0Z3QQ* H\[@ M-QE0NC\ CND!M?L!L,R?,'04L<&0,WX #X"M 1@"N><,J6#XW-=0,J 0H2Z M%$RQ"D'F'")O5D K,9=C%_D@<*B;"3@^3> 1$$!B3L"7B M2A(2!Y<.?'B#TT0]^?,:+,#2L4HSK>#!-Y/.#R#_ M_^8FP^5Q& ^'KL,U'< CC+O)?0[UK_XCR"@ 'LY/3%XN&@$I8&,++"9+SL8' MZ92)#2@H%0.1< M;;E^ (:TNI B!#@ $GP !]5-X7U'TD'1QKCWN7KV@T<:V*52#!,"KVY(@2?O M4+/9:%5I_:ZK-WIW-;U'[[I5O7'7;K*:19LMTS2KA3?.;D^^-3O__-ZYN#V[ M[=R>_>NDY8-E-0S98?*'=/X.=5SE MW&0-%["1/YSM)-5K;^L8)1YJ[@K,9QFEB9 CS8XV*TM3RDGG$4T TR2':I+@ M^OKDAG2^7'Z_)=\ZUW^^A@!P,?/C>2%HC M7!"CJ1PR]D/,RD.O-,K-)#$,<-&Q6"B8V.!-@=D@G%4N[>%S813$W/9/EI*[ M),2]-$R&5*B8Q"S/S9.$CR _I&TR2EZ0\CP%Q:EN"2(:+!&K L\1P8 MJ0PN@X"H2#<=W7I S ,3]E,HKQ_PZS;K1KFWAW3$-0U^!"X&,9"*ZU .& >6 M"&\^>@F!' &VL,R#<]<7,%W!V2A(P)C=)[ME!%TS/'P>T!Y\_I.XC'85RK$ M,#%T3%23W-\(E0FD#>C300YPTIH0[8#E:\FU0*!+7O1#KE(.DS#9&-9R]H)I M:(TBRFN&5IM ^9O4R%1ST7=*^N ]_/KNI]O+HS&2%X/@WV 6!@/J?LX;-?(2 M2"HN+( G011$*%M2?J"+>6()6SM=T^,K7*&*R!I^"Q4U7$WG4C1#--+ADC,1O223NN^KNJ[I M9(!>*SJTPODKK@EU!%R.P@B @3!ZI&$:+.%BFL\&'-POW".4CO&"0>BL*5%B M:/K/J8>)P06;R;]Y"+5@83WR!(&T1&2P('T$8,,\>*T[RBLDF/#[NM9,%ETJ M);(.@@?ST_9YH)8],2L&Y(#YYH5@P7$S%^"--+C(WN06";R81(4PWAP+SL7D M!&< ;NIFVIPK#!$=*GR1QP*X!0)N+>994-.GR9=L(OAU)XIEW ]#Y -&/CUFWM5:%KMK MM_3FG=6SNJUNO=YD>FTB@M Z/;OH7!R==@S=;B8RSZN$\I,I8CCVNP)YX.&M9C/Z8&Q[+27GW4))6Z362W=KNIW[4:O=U?KU:IW M[5JK?D?UKM6HZG5JM]H3$K=]]+5S\?O)#;+C\?'93>?WZQ/!C7^>W7[M'!U= M?K]0$G>JQ&UOE\25B"9G%US.%G!-$-E$8/NV@Q_\Q4Y^E17UY=')\>8H[NK-]IZO:VT_%(;ZX3J M[VB$;)?VEYCGJCS#_;XH\&?4L&%B1Q;$],BQ$UJN"+N@8 E\5^3_K@+? A\D M*%\MVYH";EC]*4*Z&82L/(2&*82RR)?-,* E4M?,$T%>O.=X/93C'.BR_),_ MTV7)\%GA9[(N80AOAG& \P%?XWEEK#[,0H MLIQ6NHX\>IT4KLIJT\RQO#DY0F@;S<_P!70^A=?(_6N8?%K !,N1Y6;9FF!2 MU++B02P2]TD2/?:PQ#O)Y&/.7!36"6^I03SQ_FCXO*LDQD#P,'%Z(C%5-O#2/!T,! M(+P:UI*E>P&[IP&?6(JE#/V\'$Q@F(?#82I,\I)^XHJ<++UU[3 M$.;*D\!8!&X!7!^2*D,<+>#%8GP&Q.=U>8">D,,4JSDF*-[V!8V,+=%C2*.R M3",LT#^@!B\"M?\5V_?\::#&'%23 LV#+O-8SXED33O@JN\,<=9@RH#4<&<" M7".72R%F8C'/ I<3B+".G8-3J1RF-97\ ' ]&5+C07Q>QA*(:)M4.$L&UPJY MIO'* YK1"'X)'@9R1VD$",C$9A@/<7-%F-1H9S/"A 6O!\YET.;(IY-+(7=. M+RNRG$&6W@*:L9(I&6()*OM P[3X'BC]&N2L7':5'ACU#^RC^ G"R:C;^2O3 MU<''7 J/RX\,+I7QR>.D9!24/[KDE!^Q^#9=;Q(JGN_,6K7J26GT'Z,U7I\]3H+@K& MY:WO;RFL4[*9$(9G&.SQX)*TR,DE;F+(#![Q)(!W'TWSRZ)QP1D['.(>"91% M?(]6B Z> Q:"M-(24Y[_EIN@1,F!1]W,PD$@9VF:( $RF13984%F]R9D=F^N MS!8FR?+?Y[L=ES1,,LX30CHI!1P5"U)SBQ.;$L:U]+1T5;H!CD\[J1C@&34+ M12N? %>R60$!W&%#+GM$P2)^$N0'##UT$^/L&9 0^@O%('P:;#\7U#B;ZHX= MEHDOE@LYO6WX1(2P73KRX^BPAT>4Y&.@2;A+++$8\$HZ1.&]3_D;KYKPL\-H M1FLBC/;!^;@@-C41:'WI=)>,T@YE'9BLB^62AWF)SR!,$$&@%:'64QZV&;SH M\LK>.! U3]R(H$[ -][R#:O"(,E7XN SF*60$=W4%@61P*(PH\(WBGX58_:M M,>E]P*],:?I5;4RB1](K'XD3B.*MS?)6^9AKGN83AG6!-?C>:6'THQ)/XA C MKD5QZWRTE-I[A8++Q&(#O[^8B&DO80/[QJF(A'2O/<"R2/AB2;D0%.U(+&3AA#GFDXX9^)6G" MD;YASXKAV MLZ4+GY)KJ&R'9(63?!)FLME]P,3#_F ([F"J2[C7EWA0H@U)XD#AAW'],%DT M1=4&O^]O'%0N*G'$96R)B-T88U%H>IJ^]<'4C>I'F:<3'6]XN%-L4QP M%T>";&\PMN/S+A67P3WU\L8//GP+JL!^!(+E;X4A[^WTJICX\J#DVVJRR/@4 MP"[3,"T#?A[Z((D<]BB;28C&0F$B[G+H2.FO$^,NJ +H<#%??%")(M$OK4)> MV+%>]E$E?JLH\3-5B9\J\2M!B=\"7I];5@YOH=>+DNN:W>/&!DP.7<5=L$-( M)W.A3YU@D&1$]C'+\8OS!'3A7<0#>-GBF@B>OT;Z.HY%O.+.@/]%O7%WZ]\9 MYEU5_CK[^C3ZKQL/J_J!/SI_,L(_JW___?B.>*!Z0=PQYY"K"C^X@ OO>.WD M!0V"NV^UQA_7_ZE_.SH9/=S^N]US_OV7?OGX[K=O/E@9'9L.0G)^?O7+I\+, MENH(6DDWKB2X#S+<#P7N<^&3'N)>%,/@1&5?)"O?NV!&G";;XS.[RH"( H,^ M#1.K@TJ-GKAM+S6E2*;(;[G.QL9 !%&^DFVZ'DDF,:T<1DRW);?2:VE,HQ$W!C MB[QG<+LF!W[KY.R$7,Y+J)(FC8\R/Z]\N>'- O$YR>+* F^MX).A@)". W?$ M1GEO^WE,*3P+B_?AL0FXV$E^%J1 @#5\HIO=%#F2\V.<\!E^3"7?MR5?@<,[ MZ>'21-=/;"N7KNSY"\LM98#]\#"^#;S><[ O8KHZOGS\9A(FP["Y[/_(@Q4\ MAR_C>2/B.C\P6L=+1L>>KSQO?J4J-$EVC3?M6HW2^IW=I:V[6KU1OVOU;/VN MT31HJV&8]:;!)OGG]K7-[=GEQUVKK+3/97ZZV-(QM7/RR M73L7.79)#KW[LFMA!4:P/MT*MNX._MT):_]V3\S+T[]NK[_^W^G%'_?OB"BZ M^_6=\X30]\%_\GK4#5EB'S/+/L02'T/OUHU.$'1L']-[IRZ]S]G*UN6_[X?V MW_^Y^OY[^/27<3NROQU4.^]^NY@PCS>TA O?6[R*_W39:9O:W=]/XL[O)T<- M9S#Z^^"?[W[SR[**_!)N@X$7C:]@\+?3_RMVK1_?__CSO/NW_\?U/__U?[ " MKRPK&,/#U$46.PR<;]_1FF[5: MYEVCU:W?U6I6XXZVC-:=95F]6E/O=1M=O:C@P-UH'RE--EV3'95=D\WX$OD" MJ_C_/D^L2V $RS20?0[!NV0!=E>&@7-;T:[33.ZI;&+Y#S U0]N123=N4E[) M9-V9AU79_ :'U3R@:DJSB@W]$=][ ZP"2R^W7"D)6E0^8CP?457Y")6/*$$^ MPG4\EG*75FVNSI3IMKI&JZ??U?0J U_=LN_:9M>ZJUJFR2@SJ=UH%DR9J\[U M[=G9V5VK:3;J+7GKC3ES"4L"IR72T3"YLF53LBB'H1^?79\WYS\^^3H M.[9:OSP]/3LZN<9^#D>7UU>7RDR<:B:"E"JYF5B<=(KH"DE131)<\PX.'-O7 MG=L3\OOEOTZNL3.3:L8T3)J-3]T\F&1DG)"@3Y5LI\7P:L@B=%>C?A+CO0K\ MIU&6ZQ&[X6%@<'AK2=[L&V-B9WL/'O2M'WW '9[Z(38IX@[$7/G3SFHDB'_!IF2H:FT5AE[](6*VM1]W.VJU2E]7U&FN!;W[7-7OF7:'AX\H#JC+&EOT:%()$I1_(LSQ3EP(N!)"Q/0_@#[2KB-C4BIU69ZO67>L18S[FJ]7NV.MNSJG=T# M<=ILZ$VSU9L4IB;HR._79[?_N?SS LRH4J5251,G)#10_TBJZVY+\;J\[JCWR#)E4W2Z9E$B? J8+ MH@:1?=,YXCU M-K/OJ&E9=U6C;IM5VFO6:HU)\5.[NCZ[.#J[ZIQGW;A/3T[XH1@GU_\Z.SJY M4>)GNOBI;9?X21&=:\-.$-7B5 R);"5;7B!;:F65+7-2,T1DZK)\E2CI[DDS_IFQIZEUH,L-[?ZRPRL[\R42?%Y'QY,T/?.Q[RG? ^)8\7!&;$%.Q[XV;9R(V M?CB[WZ#;>V6@*C6&&KE0D-N]@;B"HJ\ 9^ $0U0WV M'K%@!D?2A$_:D(1Q-W1LAP:\'>:,U#L^"'^8:=-/KO?ABX7/YS: \CVVI3C;C"Z(YOS\JO*\G>65E.IEXZ5E-I8+T0ZJ MZ8,A6_O2KO_ %&VNG3:K9:/-"Q\/M=XM6GH#V[.,M%0K&RV=@^CB[>.>^N"3 M1.%$F8>@EX9N% L]9*\I24#KG?4,G^_FX _P]VZ8V&HO)OCABR3X+@.;X,T[ M(6Y#E\-"L(O/KM"M\9GM=5( +_\O^MFW!9<&V[V)9H$L$H$'3O9T* M";%9(5P4]3[+'#1,>H$_();LF^UCAX*DBD@>>E&12EV:NV&Q08EX V8%]O(@Y@9?E5&.3'@9XE X><\G=,X\I,+(J;*KQ36 MDU^@>&9"#_"7BB'4*$BFFL36I4[H3Z-;*4-R<3/\]/S@>EUKMW_.@W5,:.?\ MZMP4L$=$#_$O09W\YO+J4(2W'P&X"Z/*.169/DJ[H/7CB(W!HA"&C_HK!(*N MF?L.@E95:VXK'7!EQ_]_Q5PAQ8.0F6QE@72Y",' M(;,.@%X#:D6'TK(N^.__^]_8CSXO_+YX[/,[F57N1]$P//STZ?'Q48,O:/?^ MPZ=.8/7Q-,I/S+ZGP2>;1O2346T8]6KK$["I8>BU1KV-S9CKS7KM4S0 $+=J MK;9MW+$G\\#0^M%@!9[P0M>W@VW*TS*5*Y?RKFS?6'#/@@H1 94THFW4>)!8 M!PM_X(/+,C<^7B&GHOGZF=<+*+@1L<5_?@7>1Y^A0L[/P5=(QQ#?)#=QE]_A M\[GU'^$2PI(RA=?%PC].9/U3'WJ;I-5;LKR2:"5>X-91:L;)YK91(=E],BRQ8@4? ML%9K<<5J5$V];9MKJ^FTJPJFBS MA+191C58K[>J3=T$!U.O5FN?AN!E'6!]C]XP:T^@">TU>9@STI3+N)W_B#U& M3.%RFDNZG%?G7PDAOX,H&%:P6DJKD,Y@6/ M\:IHL=^G 1-%5*@F Q9BMWU^ MI% Z.'=105_F"J[&GGVF+YK,/ZG:FJVGI8Y&MHM2 MJ[4V9_;4Z8&CR%U:?B:'#>J*EX/8Y AQBZUE(I:4+6<5THM*J!--_XV."-?S M1FM);5K-(KO_%,==N*,I!P[]^$_R."N(3Z]O9KU!9))Z=_M%UR[' 5^ MO;)=)F"L:'87E>US?67Q)X:,==ULIKZR89A&'7SEZEICQN,*]LO(I8^+=R-Q M14<'8R=:)8':GVSV5%N;@WF##4I!>?$>I]A %<.M!=]R.056RQ*@U_F]"UDSGD21 MW1R 4CP%+8:5KZ1:K1X8U5JC7?LX+SW*X["HV?3&]FHVY2SNI<39-_V'LD 1 M8@D)L8P>8)HMU MTJMM$RX]@"=8JS7OPAI=E](#O=LBYS[0^RT#?20[&9UYN*$,RW%X?=!\90>: MC3V1HZ6]O]JG#OF0+]+52.WCN$=8UZNUZGR/T!V1-O<(6_#V3W.T8])C0?5. M'>^=6E>]4U7OU%?U3E6M&E2K!M6J0;5J4*T:5L SJE6#:M4P27Q;W:IA!=ZT MBB4K;WHI;UJO-6N-ME'5]9IA-C]1TS1J5;/QM\UZQCH]:J/Z,C]ZB!U=G2?2 M25SI8]9S/$>\/W:R"?K65I_9,5C?1JTSPTGN# /'%5ZR45W@)>^>(%&1YNT7 M,RK2/%U?+%#[SD.CFB'K4I^8X;58]H &0&"\- M&Z+;#XH?2A^X\6/0T'3LFS<1 ME[MMQ>W8&/RB?+U"S%\'4KF ).W"S#JN M2X[IB)RXS(H"Q^+G(E!OE =+BHYK0.\C!N&22:??3L9.P)9_G1^Z(+SMM9B4+;1C:D790G-MH9HBVA(2;7EM MH:K>TENU&MA"U0.CW6C7I#&TMDU'W%1PNC%7Y1-FD&A'=<.&4?[$(%WX\F/F MT)\LO*(6.0';ZGXD%.\?C")FTIZ/8RT?9QZK)(?ZYMA@9C Z2!M"?H7)AQ$- MTB>P>?T9QC(M?^9#\+UP\.GL7P>=PJ-+:_+JRK8:UV409&O5N0J [*7\5$I_ M:HDY6OF*7DM(KR6N,<<_S5K[$WLZ #5O--;?Z!F/!$PT[]1PAY%T>5X^VL&? M.Z8/CDW^ &0OVQ0+RU0;KW*33UDWX#TKS:1%LTHP*/VZ;?)*Z==9^K6AZ+6$ M]%H6_9IU[\@W\D ="_HVU_2RIG.OVJ -G7:[ZU*Y)X.AZX^XSLVTK]"W(B=N M)+TMI:+MLNB1,6\)57OK#\@W"ZX.'.O',Y3M2UM0BOE.:4$IM.V.RR.E8K=? M9"D5.TO%-A6]EI!>RZ)BGZ-?JRVK25MK*W)[0_WZ!SSU32/'OGW/%I7,C4>* ME7Y5^G7_Y)72K[/T:TO1:PGI=1OU:ZUF]*IU>P?TZS_\/E>P5S"A$(\L7UK% MUI2*52IV/T664K&S5&Q;T6L)Z;4L*G9.E-C4]IW GG$(4;UM'9ER/RA7H_R/>; M#G\-RXM"]L"WB/GP(P UZ%'/[,/& M]W$83>W%.;TGAF%RRB)Y%B@U:^Z!J%6-&96HG2=JJSS\UTA%;14JQQ6>$ MD@__;WMWQBF-LF/EQ_:D^<)0ZN+2:MC?-0Q/NH8'W6,CSK&9P4\HX[Q M4Y6WV$]PIZ8%?.R*K\' M=UE AG$0QM2+,,E\PWAK_:3=KHGO\50R#;K48^'!Y9/+1J1C\6@-'ENO@BZ* MH*I,A+M!K20N6$ME.UK4%I(::%=8VBEA>9H(5/Y0J4DVK5K M(7.;?*&VWEA*"RDUI#BZ+!RMU-!<-:2>?PPV7]_N3['H]DC?C+[L6_%?!LW[Z-D M?":W8)0[R5T[N6O[,!'/CP@=#AD-X ENO?/S8$$78?#IF$:4G#HN(UUFT3B$ M8:)0?"VB]R&A 2-XC*MMR]W=Z1C9M-+O<7F_XWRC5,'6LY12!0M4P\;J\\&--,-2AHK:;P%5*VD\0)I?-0Y5W1; M/KI=((V/J&O%KHB+G#O>CRYV,%>R6*;LM'MPND\E7 L!6/,IF5<-YB(E?">8%P/CXY M571;/KI=()R/6<_Q'"6:E6C>7A+?:=$\3>@20Z\I0MQX)> 1%L61*WH_J_3B M0P\KZR+LQ$_#0FD%-CW&#E\4KMA8OY%AUAB7N4G?OEP7HY>O0L:WK:,<_S M/9;B@F _,Z(3';^;;]JT7 NVM G?NT6R #4)I[B^$[$#H%$+RRFQ U4R1Y-W M?WM#RIN"LP1'[WXKG%R:+6-3T_E&/6 -;D@@J2-[$#^ OV5EJ1^,R-"E7J5P MFP8!]<1KV@Q&V#N\_K]2X?64GPB"YP1BW9A"4H*D7 M#789L?&\&)O7&9KZ9W[("__;^$Q :>%F(1#)C+?AEYN%B-%*MPDQ*PY 7L/] MDR>KC_R:[!4RVM4:/S>&BK,M*\C3^$[^07Z1'T;YZ("_$<;=O^ ;N#$)GW0= M*@P#\3D:D5#,0",WL=5?O"@8IXMED[,.PG$\>()Z(SS;!OL\@V9BP?C"LO54 MEU@/>[+8,%T!0_<*ICUD%I^HZXX632?$E8GYO(ZCW0+!,K*T@T#?8EW3M9+2HS^?T::(&R^]4>T[[5$H< M^]=W=U56;[=8LW[7:+;87I9!::_=JX,A^4[L8Q-OG-V>?#,: MIY?7WPS]CYOOW[YUKO\C'WB+W82S&YSF+=UAP#B18D 7YD>,AD8(SI$8^L$? M1$XS[8+ZUJ>HO10G*Z0E&=*MZ=SJ+TSUPO>8MCXXO)I2U8$,XPZABP]#3'0L\9HXIQ%*/^P?XH+BP;6<*'KOFA M70%^JT]#8L?NB/ ]KC;<=L+D)&,1!@H!T7##]_@&V"[K4[>'\1<%+ KM<1_NL+%;7T-J;#,"\V*=>)@Q9U5K-'5U;76O5=G1I@+;J5J[M.84E MB]AN)9I]Y952D_K_F$;L\"6E&PN9\VT@\)RUG;)N$--@1,Q&A9BZ67O).A4_+T4@LND&CQ::NO*7.6\)+#Z%G\@?S/-8U"??-'+LV_?,>U4%V9LS M^LO#P<^R-B8?+\0[1W-0[TYF' ):-\61@/0WQ=QKPDDM=E MX,HE$;R>[\(O+.(:LB#TO1 #?3+()S^6BQ9BU;7L M#Q3B?1LN9'?>( 2X!OFUHW$JP]R.J,"NBHB]FM9+PE;5%D\FEYY 7[(V4VOM M3T5G*:BIUM"JVU#KMBT@?]:FOT6JIJ3[6-_8 9 ";ML"?MU9X)F6Z8=1:!0' M+'>R^&HD9 G]X1<7KCU/A.TRO=PZD3M&*TK0K%C0H-Y9*]5L'Z7B_M*S@!(";R\$-@N"

3?AFV/U*7.Q MNOFHKXR%THJ*MS 2U1:&[=MT^09TH$3 =H@ 92V472CL+/*5!% 2H&020/D+ M&_$7;B(V[#./'(&QX/MJ(V1))85R%_;&,GB+ C3%Y-O Y,H(3BB@4O)C4:^T;#O>.$/1PF+<@H+Y1/LC7'P%G5EBL^WA,^54;#' MG%]Z^E<20$D Y1;LO%MPRX)@1(YYST3JNDX8J3V+9147RC$HEWFP0[5%2@QL MCQA05D/9!N-')C]6G,L/6- M$A;E%!;*92B7<;!3+H,2 MLA!)3%4':QL+/(5Q) 28"220#E,VS$9[BBV$;= MH>0/C?Q)[SU5E%!68:%\AG(9!SOD,R@AL"U"0%D,91<+^[-@Q>^*WW?00SBF M$7N-C[!N"#QG;:>L&\0T&!&S42&F;M84WRN^G\'WGR+:==FJUK+,1(WEIYE. MRG;"H4M'AY[OL0+ EOCH"]:B/P.2MO/PVR_P3_)-RV4T..SZ4?]S,FL.8CG- M)*I0Y3.'WPGFVUH+KD@IJ^L_XUIRPQ;&.K"8ZWX>(UPQ\-@(JT'K3(HT:\.( MZ-G_PR?KK1Q<F4(86+HFMG^F>3^1JA,(&U GPYR@"NH&W@- MQ4!R+1#HDA?]T(D3252?%OX+1@0%TQ[*.8K[ST[K=;I$$\8N4([@(]9">L MT,5,,0[J:1"DQ+%_?7>GM]OU6M.JW=7K/>NN9AO-NY9>K][5*&.];KUJ6C7[ MG?CJ&].Y!%VW\!4)EJ[OVNA=7Y]]N[P^NR$W)]?_.CLZN2%'E]=7E]>=V[/+ MBU\^=<=\YO;SNW)MY.+VYN[=DMO M5,W2 )?/E-Q>DG2N))MLV8#+170JZ43\"*2<2X SH\%'+]$>"T4)Q*W)[MRVPN M,3@:7;GA238^$1_(GYA[Z@2#G&5&/GSSPY!T;#H(R?GY584<4]!%887<_KM" MKHXZEU_(V?'A+\X3NED7\0! 9A&NC)Y@(;#"XSB@R/QW!OROJ9O5NUO_SC#O MJO+7V=>GT7_=>%C5#_S1^9,1_EG]^^_'=\2C _1@F'/8B6TG\@._]!KW[[7_),&L_]A&YWJ\)^WG7>_->KM7SX5)O3;QQ=RUR:YAVOC M(MF<'IA[Q!I'EQ0$#,U6PVP;]9?Q!+@?7$+2 M".C_"W6I9S%RTV"1L"JAGHU_F!,NR_835'U/"2KS M!-"5.;K\=G+7--MFO;D"JKJ)X#\#]'&%Z+7\ 2,]/^!'C?X'G-J0G,!\[4E* MX_^:";T9.TAO#45OIT!M5X+F5DYL1_Y@&+ ^\T*PR%].>CG"0RK<#=)K*M([ MO;F]//KCZ^7Y\CH7_>']IK[Q'M M75S>GJ"XRY'@M*"U\3+:N_ C6%ODDP(1GCH>^!,.=7/DN(-D9!A;F1#>;(1_ M54E?4]>,R0S@-F9]@9 VD/:MSL[Z5NM9UA0$2/+(]/W/P MXBAM>63;&TSCUN=6VQ>?!C:/RLD-"2&WS_)N!MQ]JTE73\1KHRJAV*J#8PSUPZ)A_P@[A44_]\)+[*?QF?/\J0^/P)3/>F,BK0JQ"("RY&DZ)3C 1G<#96N@U8K8[Y-]% MSY%1JX]?Q>E'H T9&7$_TA$D/@3L^C9AW*M\"90$0!YW+OX@'4?(/1@ M!>X([O58@.H G [ 2@YG>8"17LI%&=@2;&H$2(VZH3]);SF\ U!P?9)%K3R+ M9H,'"8N^@D+$VKLTA#D &5H!S"9P*&$AFJX.D*^-<)X_](0L.>#BY3X0#EE M!^S1#WZ0#_BU^4.9NE%=_-1'3AM.&,8P?G>40&_@1!'CIL[-$/$1(&PN@WOJ M.7]S-@L3,KH%X]0&FU2\%8::,+I$J ^4,THWK4"=Q1!>F(NBX94$YB2+_A$%@K?.4<$ILTP:UDH]6)S40R M/'.&L+S8%?+2P?^ G))$B /BI4S6O9&<(T4VAX%@EO"I 4K;1R?J':?:J2#,LV90EP)/@;T M_V?O39L35YJTX>_/KR!Z9MXX)P+ZUB[19^9$"! [B$UL7Q1"$B"T@1:V7_]6 M26!CBW:WV\: 71-S?+M-(555YI5;964"@0;^T[676$&?3F-Q>R'QE_IXRH_/BO*?@_#/LXK^Z,J0$>HLPB00YX M*T(CV#,#Q@T.H7M?3_W2Q$E'@X\PA\#\ S#'XA8^R(BR07S=]Z-Y'03CPR,= M\$$D6W__R4"^6:'V*,Q>8> W'C;H8<]XQPD?'"4H0G[;I7HRD0K8O526A[C^ MGA*!\'S8_8AA(#V 1M6W4)M"U7$4KD%KD MZSW,4OK>_9Z:ZAK4H2E?5T.@6PP 6$O9^ _6A+)<@J5$L3DOA$H7?@#6'%I/ M3=7NX_?A"&&KSA5GII]:KL='1FO[[-I@$$DB+50A=1_YZ6>T %SM:( A'O8S MWJ14;PZ+-S]^>N ,$0!- ?6%O#?HXT%9A>TF&*:Q:\"7.!.H(P#WU)\UXF( M"$15Z$7O!M9O")XQU\%7O%=:CBD(RO.8!).;>K%[\V W00XX#DD_O%(+]4AF M>!X0H^#_IQZ8>"Q8CT/^Q,S:*/Z)$?=3&^[3>U#B(],=>.H]9.Z#3C@P7&R2 MNZJNA5Y\S!DKPSA(8?BF_U-..$[K-S3V;[#,3^<3*RHM%HH03=&LOJ>Z(?!C M3H8^K$S?@NUW(E4,I58*".8 Z@8#VOUK ]!0A:)X!@ )WQ8ASH8"/A9]FN&K MENL?GOE>&Q\KW0,]E=B).MR26>Y'3 MY:2 ]0J4+A2A\ ^OL\5B9CZN&W).+'J51Y;>Z(H967GZ%A@"_L$1AUL;O3Y! M'TV')(@^.3C;IR;H3^W%!^,DHG$T+?!O.*,76.,$%#YD=S="T0G31S2.$ CX M&EH6#G! ?1_>[C_PKFIX:FC#[0,?1.;01+<,?7W002>J#3P6H@/LS8F^F3SX M."<>M__9M?_K?<&"#O@O#A!!SJ@;MA$\6E@)FUW\TL<@?$K]8R,?<*,2(P M+<9B;% ?V?>LL?14W'L ]!0I[5J5%4;7M8P#+T MED!+G;44SP2\SDK[[ZDW[5 L/?R#NEP">:T>[?I3U0KA_Q?^-Q0RD95Y\#HB MVTMWHEF#%7LZ7$,\/(JHG>ROIH,O6FFX"'CW!YY=1&YU%(F%H5HK\F9@H!&0 MP5?4Q\ D3%TY1%0?[!LH%1^MG<,&_)/ZB_C[9>)&*WGZ!F#%HE26!V= W\( MC1%$$O.I8(J$S$2'SXFL;]>QSH9JE!#(8>_T:/ D#!J+PF.^RW/)!S_]B_R% M]'M4;6"/@ $:;Y&7 JX!%,A 1NOJ<=M"YSB;:"-6H1%3-PW]BS3\UHE@3EK^@J\ $+B8>EQ#-$_G AJQF'= M4:Q?"0[>U.P0;8)L!LRR)V&U!]O%?>+UP!?#]8/)0K/CLS/3Z[V1/ SE M,C M%=VH3C64X%FCZ8_?K"L?1:G''8G#$G:T(Y#G[- !?X>* ?C%[B;V+PX?*X#I MHX,"SXTCL\#,C6!\."1_"''\5ACL$/0%"N[):UWO^;G DX\/\(M?I3YDGSRH M*VC!Q\E$G/PKIPX-_/>U("P$;W'#6KK4^A,.C**P1 M:5: %!()TE#_#O7#!U*/@4 M"](#:E<@RV!&S4DTXJAG?B,.&2BF[D 30TEMYJZE'Z+5\1$1>$\:QM!.)G?P M%\\S3\0OZ8-RCGS&E!\;*7IB:F$9ZGF@GD:ZAPHD2.1;TK8'7*R MRY:)$PS-$11%/\F]CCZAN2Q-9%GZQ0SKMTW]I5(C':@R0SW5 9IJ=@C11+8, M_D]*. 10M5BI ?<1_.(?>'X-X!_96L?P6LRM#T'7'RE8P82/HA" P)/XL )> M%TK1OXVN],.M-9B%X=E0OGRWW2:Q6E@&UA69-P!@$5L ME$[]-YG.8MCQDV@P6)@!41T)N>,V^#!D#XT U5W&SSSJ]\BDG,;Y-1%X%#^* M$8"MA49E9,) TS,*3<*D%,,_2(%8QCX8!X?M 2 +W="/_?D+VB-K!<8I1_ ZL.PJW@^< S*KPJ%0_[B^07[]^Q-&;"/T'LL _Q#R;CEY@ M %)&9XMQT'Z7FBJ1#Y ^ %X%6(RWZC3@?V)0/<;^@4UT%%26,06[L5-C]T\Y M&H+?4_G'+\9I%H]??V+"G[XLGN*#B(J.2.*(T..2P NFD6PZ,@ P0;78T(.Z M(2:/HT3&Y=/$N5,N/K#<#!X4 I4;G1'Y>G1(D0IVR]CU.@_'6)\\?^9Q=3__ M7NQY01L2>/P/:NCA-/4A!G]"Z.,AT2&P?A)P@HZD&BN1.,QO 4I#I,1[9WC/ M,DS [@*S=AD]]1#BCX]T89Z 98$W1'^*4[8!LP/&@-HC_6!_'))7 )A\\(R_ M8^T>I=0<'$3@G:X5PX+KOH#"P)-AI=SI\<8I%QTU_Z.1\^28*EK*',CK$T_@ MP8:($E..5L=AVQ,T@U&+W\/U3V7Z$73P%:'GI*Q#?NGSB2EQ?:*'-45YA# M M)SJ8>SKKGQQH/CM0BNV!XZED&IHB$1+AOP.PA?K!R#P _ EP(_%VUK(XG(T_ MU\Y "U]"!Y_AAEX4.0?S]':GB]_HQUTY;+"F>?%9,U029VVDXU'8C]?63GSG MVF^9DRIW)U'#Z!98'/.UE)T;!C^FQE;73F.&Q[AG;*D\O8=]& 9+^W[[S^D' M3Y:0!V[>Q#/ E,LZ@ +<)3A]('XRY]?P_'HW# ]'=[SG1J!G@/FFP@ BK/-W MK%K.)&X<1\E+S#_/+S$_NY;\'N64HRG_;FA3]X_W&/[L'-8_6"@'XR,R^4ZD M4:0[CRE\,>BBE(/#;8VC,Z:JH7W(H'K(&'PF>Z#Q<#![($R/[SJ>*QV&'Q[P M,]WV8&LG[E_?'!(P!(0K &ZG-9C?/=UYOLCES]+<7B,,Q]A]%RKP_"SO7P\ MSGOP[^-L#6MW)IOE,<8G&BE#_PIU4(Y:;K.(H![8GX4"@V*0^N#C0P M .\Z>N0]/J8.';,T@] _=3XA\Z4?W*K(!5["J/(Q$IY.F?KN";<_X^]39R@2 M_(\7>:)\(OUPC Y=/-52##N*\5C U)D]^B&JZWGNQ#WHL"C3Y\0%^(X \:4! MP1^3Q*/'XD"%X'!A&7X+!Y\>8 M\..+9QXL'1NS 72ZCJ&L./O^.'T[>;GA%%@ "X=3J&>QN#@D"X!^P)P=2P9] MJZMAM.PX4_WG*$%)(,DD$!(E@: DD#8+IZ.C)8X-5]_P"?C#:=PE>2%6M4+_D.6G;Q_^\=.CKH?T%7@>FP'D/$+'5^>Z%EKZ MD9W/QY)>8-+S5E04%/]V>O[ X11+LP\=HV+3XT9R&#[O-/[C_R?UM*G'U\O] M^HA^)74W3F0ZZ5C2J3LDW]HOMT*MO%E,5"WKZ."[ORB[\=!Q1=\J46&JY]U- M+K5+9UK"?FID'.NP@:'K..?\G* ]'O?Z!C1P"0QC;BKYZN-*\!++,Z4N7YTB MEJ48G"'QXQGTTP]HBL(NF"#V+BV[4!@I$4:B4!@)A9'>HZRO3NB$2I(*;"VJ MRA2I3^0)H5$R-IGBN*IS#)G5WU4^7+Z9:[RRW^AM=1N+.IUHZC#35#S5=VZA M^I99_E5Q8%&5T =..K"4A"V\U97JSF'N'1\GZ/U]:QU?#RR>9:;9+*%@\E0G M)C(UF>@R-V&!L:FI#*U,)YHZG3S1C3U55HQ!KM)D*V7,V&:GA295[+8T'MBK MY/.1;J'O[<@B@4L#F1,$9R+@)<) MF7@^GV'+Q?M&1A)/Q])9(U:A]DM-&$GT(M-):SBRVQ; M)F7L^FX)NX$]JDM&N[GKML'(Q(HP?Z6W&^M=#S,$82W;Q;"G"7!D M8D5RIAW:JFSL)&+-Z=N^X0E>8R8SR;?+6Y4B^LN]81J30BNGRY5"V]C(;'*D M9.?]C<91?7.@3 DS+_ 9++>1N>1(?+_CRMO5),"(98DHZVJYRM0WK2;9;+EL%0/#FTNYUQ M\K95]+ 5,P^R'JV9E+Z!WE%B:',M%-R5[U "HPM6J4OE0DZ>R?@9VJ^&[9G2 MZ9EM,UQLVDN]Q%*M$GCJ&>(OK*4[L$UJ@S&+\M(/B$RW/P>,?X;ZM4&UJ56\ M96 :VV'+4[.[CMN:P:$)\IN+H3J6')F3!D1^7!'RV66#BIZ:H+^0$S.E3+U> M$926GU?X:8MOP+F>88!6MU!1)-[0,3O7I@G1*&QR6["O9SB \I:C/E\U0ZPK M5D*K:EK"7 )#S[! 2]H0N!KFZUA-LP9J;U&=M*@9')I8%C,H3_/X2EB9.Y&4 M][/& &-I'@Y-+ OC&[M*=BQ@9JFEY[B@TO0F#;"L,YQ%[&S),V4C)]D+KM/% ML@JYT3; -TX.[?'-9D_;M_/8#@BTC5,H&?0"B)0SG%6AE^9Z;DJ^4-/E57D0 MCKK%$#SU#&<5OZGC;4FGN\S4F%,+K0">>H:SANUP2$ZI7>X8'A>EEH$0K)FN&RO6S5UJJNML#0 M,SS0K1/#9F,KS231R6X*^K1A4GTP@3/4JC3[&TN>E3 I4]K+;G,Z:NXG,YD\ M0ZV96.[P=I8RL+PT:ZK;748%H@C&/9(3P,>ZZ9K]K,3L)SLFG]G4.@IXZAEJ ML1*G\Y+6VDNVVZG--'(IX/N-3)ZAUB*[EDN#3*9AZK.MF+5FN;TJ@0F"L"E6OQ[RQW'VW#;[+9T.N[M?_LH(+XCA.($#= "/P[P2)"W (A "5P1(D;H 22 M33="""2;;H40^'<\BRCQ?I3X=7_2U]FM'[=J[@WG8I<5RU]A#V*)>'"X#JC ME]M45!,A=3QD^N)[%!M25]PD[HT!_]-:& ^!?00>!)X/ 0_4])\2/$CIWJ#< MX!);\!)QXVYBR9\)*:FZ%MR"__M&?/M3)!#?J?M&0MR+ZS[4QTVSP76UQCNP M ?$>@O THU55=7TZO;AL?,NR^6[W-(WC/?C_"COPYD2,=S&9OMZZ#S[$55D^ M.@.[]DX@SO]BZSXX )^&\^_ ZL\?2]Q%5<9_W(.]=A.L^HOC@<^QR%\="]XT M^! #(P;^U=G133/PW;A*SVY$P/]P(M8NL!=Z5'()_@(KDJX5*[[6@*S#N[8. M__NS>CHI$EXF.KEUE3K<:2UZA^K#H6/$-UIA,V*Y>V@V*TO=@MSO3F=[N[.Q ML RGK[?$Q,Q,A/:W)_=@>5\6IZ<77[6F8RB2ZBBF7:<5=FFLI""W^9;2=-6P M% <<' M><7S8!VUOF*%^K>4#^@$OD5^.V9>^D6"RU6H<"@I,Y;#5%,=:S[,_R>__4O@ M;)IEN>/]V.-6("?-].+'[83D+8

\9$TO._\_>FRTGKC2-HO?[*8C^][=CK0CP M+V;H]9T5(3,9 V8&VS>$D 3(" DT,/CI3V95:0"$V^[V@&W==!LHE:HJLW(> M?K@9MB\VG,-!(*[(SE&\M/WLZSO*5NJV%UUC>C\Y'693"WSN(H+*UMY;B6(KP!$;"""9P@D> M 49DDD:G$\6B74/9F5!QT7S&><()B)8-7]%^IR::/$!WQO<:"K&:20J\S_ L M%NZRPE[UAYY-5[DH[(!QG/)W&!%Q MCR^EB9&JYEK\@CO4[]O HJ?(!^6Z>*^IC3"&OK#@BVQ&_I(OIA?>/?1-Z7[G MF_MOUC%8,Q6).$@/FA:3Y]A7OL>B$5/!A;O6;:1 (K-MCY'XP)FB&0I(B*H ME98$[ZI&J(R"M\\P70I*5L:H#/4]J=B^=3KS?4DL[XSJ1Q:Z(5.S[#,*:C2- MU7#;[7-90&A5E;.%KCP<\A]14$/7Y/UR&!'4Y5 ))1:,US2$OCY%>8]UX0T! M$,./ZHZI\< 1T!-#G!N B!O=H!9K88F7%ZWZ0*A9OVN*MX3)([8P=N(@(6$^ MA!\"RH)83*VN\DX'//\XWWE#T=#-4?<6V2)K;$YXLIVJ-D1#2M<[@R$]@@(] M@2H[ )\Y@)N.8LU[35:XS(V5&>S:!6MN; CZ18+\Z\1M0 Y+5 5EL6_,(PE/ M3NMTR68F_;4 :[1-?R=RI_Z+KTL[HQ[ 7 $Z*-':EAQE$@H2"5<6I+8BQ41O MQ@,1SH"4*!1"@C%6+ J"*&'M:D23I[KEM*9&*F,I4\&A'*HW(2(!!;4+YU^3 MB]&ZG\Y=EN\7I44ZV>FIE=:-9+3/EEQ\=X'DZ9I3IV23?J_3:4^JW?6\R>G# MU%C:# N#S2>134Y6DGZIE#+TV#^Y.#,8!Y>5$DQ&6JDV0A0O07,\V2H*SFB5 MW%&%QI"1)VO6C+@G51FD]/OY/HK>9P)PR*1 M/*4 _=X$G*"!'3[/.S[J1BX HZ>.W3%;O)N]][O6CCVS1D/ MMC1U4XHGMH6&"#=ND,GB[%1P228*3[YI3_9M-2#.S ])!*%[G!>1AHYQ3][3!C$WJ0J>K8%^#4LA(3OH)'0@>[QX MV&C1LZ(<_QXE$7&.S0"]E!MB.#!%[/9&A% J]2G$=RE@*)9"I%/!.MH!,0=M MB!6":$T3E6I1&'X!LJST8%/BZP),@^> \N)).6B/]A_73!'AT?+^Y-*]64W_ MJT6TS-,WNQH?DY05$B*&5)T9FN",(J%!Y, @4G#-@"7!T'3;JGL4XI0(DK2, M1.Q1C8U*L&B99,,Q(@\U#WM)B+Q,+"9.3)S/TPQ_D M*[!=P DC9 MD5JSH? "9C E8554$W7NW^'=O8"= S5;V;!TN'88:$ZOYBE.XMQ4R;,:BSNF M8.$-A,L'&!KS5@O, Y;HLA/X",\XAA1O_HM(W[]M$I!%]L8B'PAAH<_80&X= MYK5S BR2MWP KAM\#"CUB']\"/(-2'B"-\M1))I M+NH(0D]?#P\@9H2]+[*W?G)Q\&ZP:P)7FD1BN*_QUK)G(T%!0=/0K:$LEG!_ MJ+P A,8)OP$"P&B>SQ$U40R0EB1AYWZAVX;ED3)T!B)I0[$M2O=+#*X3PZ&( M2,HPI'8202.-*-# U$EDJ1-+T?YZB Q$Y5W?MX:\5@!Y,$J9+M"3DCSW%0;L M@#JYEE5&-# <&K]D&JDKNCCG*T8WMAH=JG=DPCKZ(@*5LLTAAM M^0N%FNNC(,N*A@Z'J.D+2I4DA^<"8$%4-"B#@KLZEZV]W]$["!LD2XE&4/XE MLKSK>O.S6IRB0/T@C+_LG8++J-&MB>I&=0( DA$C-%F$O8 ([_HH\11AMQ@2 M3[=[@/D84XLNAN(+P95JF/@"(>+(OBU!Q+J@,7S=Q]T.)EW/0\6 M P!V44V*V*"%*(]D+JHU4'W54]\$4(MV)CPT)D83G0+7=ZC J?U/4BT7QU"B MAG<((3&5*7Q(U2EJ*/>!\?:B $%.+]E[>( 3@ @>$!;9\F^KQ8% 1,4\=KY8%$ M13>R0NS;;JRT1H@H786,UXC*>T1WPS='??>%RE8D)P3:?0I!!AZ%B"J M;]\@WH;%?#NR.+S$RPJCY,]#8&\,&IOVG;FDQK]#Y3PZY 11.-$L[&W$*Q'A M@>2QI!I\KT_?,*AFGTW$^E*3*FD!/ 9XPB$D)21$-2/%G.9H^L];! M:@Y=XQBT8Q#[">^CJ< T]0UADHKI&-@D(EB=ED<(=3*964;P*,_>L;/M$Y[-O'P)[@;<2S:-I(HE:030H=V,":($2F/&>.!=\R E1('I=\\ M;K(L$!*IB7 @^AP3&./J/62F/IL7<_>X[ '(L;7!##YA M;Q/P82YKCK7=QX?9]U0?\#%U0P9.J7DQF&-9DS%(* C-3 MS_'>A)3SPH50,?O:LE3&Q+PT5$$40=B3O"1X/!$0> 35"Z.CFSRQ\"@R75!0 MH\P- JJBKLF'$I+K!3EKL?X]UD4"BJE YL@?@/21@LUDJFM];&+,+5I/9,=, MAB/@.S=]'?&!RIVD*H23S8Y!C0Q&F*2.'DP@F1IP'-!*;T"CP.BP_D7W(F+. M #WP7I,0)&+@V.P9R%S9%(&'H<2J/B9A8ZZI$.2O&*[!]74Y>?:5:KU7=9>* M"\!L_9W/6> L;C\'FW>1>8HA77C;?>A'9O5!*@\"+SDZ0<-'LX!-% \10Q'*Z%#QD*F\3@3:*5] O'%)_ M@J<_'.V%V>^)^< 93'1W@&WC$GHA-Q)JN^E?ESR@_@1E]%"=1!?0LV M=<"K*=7USX3& )$J+FS&@_Q$$OGM4!M7_/=<#?LB[YDDK;]Y;!400[AF<.AP M*)3#/5VT*EF6I,0X;1E-R$4Q/,B)9VE$0W68A;D +-9'5\7)G\94!P3,DG$?2536, MP=RG$V5ZK@5V;CV$(LTZ-GE-ZGE />F2S"0KN=0JO9GU8UPI!']I9@G6/'#F8[$"B/T;+.E#,-H2B L.[@C:AA8@Q5HH%E@^ M:#"V1[WLNNC#]3T_R_Y/Q(.(M^?XAE!&2_FFR:I#T/VAK2Y(\\#@M>--D!)] MM+J-8[WSWF[(?K6&!2LM;*HIGR 9K)+$A#)_[7EA#+S(YI7=EJ8!Y,T?T?!D MV0*RV:X%:,X$50+-[#\1C%/&#'N$Z*&\^T>076!I#I@,RQPX*S$9Q3+W(.PC M94^ ESF!I[! &N"KF\2(JNV=NNN,);7('![GD]#\IM*=(WDQ0:UR/'?PI?'O M\X_>>-8:W'L[9CS,A:D&P!!1?ZDR79K6'SL(1DY<&U=#6;I>SS.%V..F?C7K M2=>?1<1K"8;%RI2QJ%H=2$\$W<\@^SPK;B3BI\E#6L>+8AVKPB9$%K0N"?%M M+KTW$JO]_ALO6"KLTK\N&+:_+/(.XG7UB4&N[T06;20:S*5CJ;= M_K__B6>X?TBK380#7",M(6*5$#$7 O$;:*R FTK\S.YPHEG[T[*\GQP# M#'O/T!<61X)*#@YB;X?!D1DT;)>4P-OW] HD#8EHVE[MP_U:>8.J5RM/0%_\ MQ!\:D(NC=>\Y+&'O?O@H/ZU*BI:C"+PJZJYY0Q&"A:PMB%I.K&C !PTW[H8] M0@)U2#2ND]]HL[SK_=)\,/PI:QXHU6@Y$_U+C>C RQC-/PQ/=\[,=>-17H< M8HGKPB$&[%G7F+) U^83[ 7+,I2Q;3EE[$[,89Y7W6-Q0(UE MMIV2AV?7XK1]U2YT^JOKXK+9S)KKL?)I@H0Q^D/T;_/E:O12%3!UPC:<%O1P MAQ>TXATQW7H5R/!+]CG9&PQD-*Y2ZR3U14QB*A MCAN#!BKN8QIRC)FL$O:$J7BLZ"<+[MOYB#[(RL#F;-?N0;R]I/X)386E--E0 MS#FB+ZH=1!&SX1+08 !!G%-C-HGKD"6,WHM,,8I/HY76C/W8*S9$W3F/DJ"H M,(7/GP)"Z\.NY4M8)V@S6'L/DQ863^6AQI)72K,C]+(ENSQ]F&6FBSM=^"SV M#F_+@!7.GFFFQL+O"7]N&L@29-0M29$ /'LF-5F"V#BZDHS*N%?>##D[O:U. M.)[+[5Z_4.-SVG70.HTT$%B8RLU)71CK!BCXHMRE7JF>'H0I+IV))7R$YCJ? MVHEJH[6=ZSFC); M+)'FL;@O4AL5ERA3(9$4!*&Y;..=6_/X%("11M"RJ20#!;1T?V+^A#KIO>&$ MP8I.VIF\Q=K4Q/,#@B,R:AIEQ9;O=4? D@^ 0?H2 U_,3U:0\*T5]Q;:I'0- M&!F)UFW!J1FRQ0SW+6 LATG$FY16,G>"?LW)MXV'^W1YV.*%SR)1-C#\CR&V M0:*A7Z2K1YX;/CE@Y2WV' 3(GFE1>)U\)AK:TQ?$K7'ENS..CD>B^#94YP>U M<(E<6]&\:CVH0LE4TP92PPP)B[T#<*(]R$$0O0[O/U!*N'[N]<>L"NK]\$6B M,\[O7RFI2FU@W ;S*!-U?7%TXCX-G6CFJC)E%X%&7*MH-::2B5/>![?B)JPZ MBV;US*('\UF[)16ZV3ASK]PZ,P?@.D@L.9P?(5IP3&BBE QAPTP8FKI5#V%A-%X>2^! )P+>9P&YP(I/A_X\S)JFB;>^:;QXV.,, M7!+Z0B,_@1>.O9+?@N\QDD_#RC,)&@OL-'4-1N^\),.+,$OW4$3#PCG Y]!7 M"523S%;50#U$@)T2T(PM+Q<>:E6Y7[!;0ZV+F6 M;LKJ!)9"',<;6N MMBTEA,=6N\AW;F:)E_?G(9C5A?V[QU='U0ADP (64PI4(,VXG"V9_:54DB5- M*^3*=SG5GKHU3S]C;?(7GL"N/7S(C!2I-H]-!H_#5OQ*O(]O?OS+701UG3ME M=EBB:P[?0>*)%@)&=1'V)O@PD@5@P1U:L^0=Y-&?S:2S=[X=NING"OL72XW. MNM"UY?GNKB/?/"[D;+X#!YS*!J@.G]J.\]*3D7K)$C?I)XU^9K$LFJO=>)?1 M>#B9]!/&&Q2BGK()1;,PUH8U8YHIAA1CK;$PVI!%>=-RTDMA1]5ZM^KHV(N_ MH357:(FNI\I-$SL9$U',;QYK7(1YU^1FGS2:SXKSDG#%YR8E.?TP*RVJ]<>\ M^5E"3[S]$2^.87OEWF>R--WOA^/4_7QV<.!^3HRJ8F.PP->93E(!RQ,E952] M+-C@TD DKTHQ?(XL?V4Y>@=M6M;9>Z_I*P/K#P5V8PE(X0!S(RR/S%%/#J&& M']G?W!=-R:R5+KWGLJ2(EN^J'S;8=5_@7F-?=H,;7$+>+LEC+W1"LKT^!L1H M1"5_6WY2+8';=%(-^ST9'Q.<20?8&E2M0^".Y;8 MQ7(K%,T?GO'K6$66P_87EHL 623&RD9XJ\: [X.3],.;96BQ$#VG?8'IJP9Q ML@%4Z%#TTT*O$=1)6I@;3ZU%+58N<[OF=#L?VV)97'\66AC0^NWE%4$#)MDO M>>]][Q2&=+QAA.,O[3$LC^8+$ARF21*"Y@1O>VYQK/LQ96'=Q,KMU;7?#[4E M!6\$39 $N"G4B8\D@MK5&:TA]9(,7;*='AK(_A6O&1#P]WW4D!'\M"Y(O1/&>Q7-C%J-S-NPK@ABVYBR-W%MVEYWZ9Z2+,2O:*QP4 MRW 5$RKHD]*/,!R=HIJ#QIU8ILA-=O)/O6=E+61$J;>D?'.P=0 MU@U*C.MD]X'6P>PJ 8SM5D^5*GDC.6WGBH\W#SQV8S\V3']JL^D?']0XNUB- M2K+.*>V1))0VY7PIACTGGV@Y>1 "%\IZKO?$5=,XIET6+G3H^Z4"#A( M)]*/1F=7[V=JFA$O\97;]O:S1'3X=DY*0IH*:R_K M;#.8RU.84LF/9LS3D)$%RF(N;V0U%05LZHM:OS\?A&JOM&J66Y7=UZ%.528R MZZQ%TV.HN$1SX5P!CTE5-%>1]!HV7=G+5\B=%@6FU4H)@)RX",%?<471 B09 M]@IBG//:JN]73]E_!8T0]Q4\\VV0B(J'3?/(C'--WVA/+OW"7WK^Z7[6OK9Z M#'MQ3<[M83T3]^KALW)INND*IK3:ZN'D"109,,G&-3ZX2$VU 58Q$9D.B=@[ ML"V\0:S\NSJQGR+#51:D6&1;KVHWLD5-)3\([L.; CEE=VESR;N[76S>G%W> MC]K&PVU+!DX9?ZH[,RG#\9SF9E:]E+A4DYW2\#$_S2[DP22[V7Q$MZ)? +ZH MH)I P$Z*MI@CT>I=7K:*L[MY=U2[:U?3=F?6_7-Q,?$JT':8;HG6G6G)1A=7 M?2F8BE@E)/$8Z)P/Z-MK:3..6;%.J3#3KQO]=GQWQ[4QP"%QG$=QT.4)PQK( M&47^PEHN(LNV4FVX?G_OE1\\12-"T>H@N=5+0>HHYIP*M_B7*T1=UTKKFK"] M:6G\6.5F!J96"RE6MD 'F(FEP)U2:!G4N2.LD*/9LR:RPC M:\0 9KHM=/;,+X3)+>!M(NF!0FH:6SNW8+3":@TSLQI&@R%'FA@"G0)59.9S M\ QQULS =H_81N+(F 8L:;>D.;515H!W^=SL $??'BTJ9J]S7;2*_69^GJDU MTGF3>^1?QFE,PQHUA ?0C1Q#%K]5S!'N D8N>[+F_M @UW'$$'!TA("7NTLX MY!D:ULD6\&9PE'8]EN44?.GR[ #<%$FZ4.92FU[^R#6VL72[JHP M:?##A9C>\:Q-XA'*^#LE[J4^"Q^:9O1R3,(G.BB.DX'D>=HR]'PQ3;YOY?7E ML%GD:LK=5>ZQ5!+:\_9OY5(=OX)N/@!I7,R2+G/?J35B/BTF&^'?CRL['!3XE1SR%5)[54CTS%@ZG.7*LJ>3[' MK_HK+=WI3(R;[4T*.5;\(GY,=:)O#N3##)LO >3NX+:7'B87=G\W-^K);GE= MJ#Z^6);Y?2#;N4KB;],/!#B8+X[J>.3./%X(02Q!>0()IC[J94&I6-_BX]["T?\WQB"^MXANW$ M;>M'TI7))^:(8K6_/8^9Q<10-/>Y4SCBJ!2*HU\%F1;QQ]N$-(ZI_R1CM].P,.NK%[?1+CW+'Z\Y;>BK-W3K0,-,I;.ZS5 M8?&:A+6HEJ1XQZF,='T^S(ZT5JXO%P1;D">M8>NA'9"1'CCN4V6D.V=#&YT[ M!_/"]/3@2?;KQPHT4)/&OAH87+^$WVC[>=MU@V".$KXDAOTEG;!$&E"RU][9 M-N6)C0GN:]FMK>CD%5#71Q3&V"08U\ V%$Y#LV?X>Z_U2WD[W,D[+B;PY5UI ML9E9^?9'^'NQI8Y\X+GTC&)!%^;(F?LK\]1P,UZOQ=7*F-?ZR\TXH]Y5'C/\ M,5&4;.. */[R=O4)C.K*1/;1PL'=3?>A912X_F*F=;>)7?,RDT'&.E,0@0B/ M/*13%Y$&YIW+FMOIU)"QX>11 IO3M6(O:VT__$F3-R1[C51)L3#:FB;KD(@6 MTL:3MF_CJ9N,A#$!?GD%?S!H@$:P8@*PTU2(!IH'7 (O HEBOJ_NM7L#2'PC MN2L+0'7)Z[SGQ.JRB'%MYVO/AY5PG&+.1[DH7MX'C1H)>^D\)]MAZ#3V=7M; M8:-7+T8]&,(D1AXMBZRW+@+%%YOEY U$1,4 V-.D1]-I$"M[G8P#^K6R3$F9 M9CVR%H/887[GK0YCD$F0N-.#6O-:W.[5^B6]EXZ:1K/Z2;Z7GMBE]Z#7QHG$ MV9$^7Y*7"^K+HV*96KX;NE>(_E09^:Y5!)\V:)S 2:2Z8@ MYM"F0WC3G#Q2_V)8A]S@$[H(6SG^<9V"=%BG(*Q3\,YU"E(OJE.0?J).P5/: M0! )>/L\;T_ @+]5&?\ "8U?8.&!QR>K8O>VR^Q26.5[H#MOUK7$O=IJWYQ! ML-:YBA3/3$SW27QLN4[H6,GMB'8M (88NPB+%Z:E]8A (='>:?Y@:&1_A\J0 M$[SL,6_2X1*E74=,/%"GG Z2+'S7$R5^K]^$@:+XK*U?3MU+%L3*MW^OSE+3>,W[2NI5+RII$$==]/I;::?"J CG_OM*7!6)O9H MU2IS4FGWL!*K)3MWH]V^)3B-^\O'33?5F#?;]ZM.:QIO=]%=:9T"IK^K%*O$ M#JW83-;=@:389;G=J6; MVD:]T44!PSCC(+H^D=O@75!?\D@(J9=#RDU!P4S-0 @-&TLS,>CI6BFAMD;E M;;,U,^>8?1+D/_8@1+1C%TI':0AN/UY?LL*OX?=[.2"?$8C/24)Q8,A23,R] M')- 7TVQ<3<;ZW=IJ5\1#-M^;'#F_*']J[JAX:D_Y]2+%+$#SWUU/Y N]KU"/_8P3%>O^\M"Z?8,-,)G:5YDOTZ)#L?$[KI:7^CN(IYK0JI) MC\>@J?>*L>P[PM#83W@R:2(>II'M%9IEQ%F6_!7$FTMFN*@2#SPHET%=%]KC MU3!UC&K^%/A)-AZC-G2W4!JI6(1-3=D/_CK?+T39Y[@_ MJEJD(>R 5,:3U&M%6!EKJ$J#6=?$."Z15G>2OK18E$H+2(IN@.;0=>HK%71C MJ;,";C@A:\0:<2$801"Z/03]0_ 'IZ'@103(N"4H6.J,%?=AWC;*9B.*:=JD M)HO$7,2',QUUGR=E@>*9WZH+5)0G,BDAX,?.B->"B)P-:4,;(TB\-\[?S):* M?FPM>0=.SUG"Z2:WOODO(ETL=TEE1CPBQ^=$CB$R!6V=EJ'KR)A.*-),0)B8 MI 6:+E@ZW;[7VA&6W*(^)EIB-&!\RS>>N&-)P\PU(Y:.60JT7,S(IRX8PV1> M(F>1"%LR-6UK&'.:;+!6GZ[1ZU('+04_%!4@K5@N(71RNC(%?='>_TJ5]#HE^_L7N]LT(O;/XUX=>YYSG7IDIA__!A5K_,UVJ]\DV@^VXNF^+4/7X$_1WR+PE()3S<]-7:U/ MBZ7=TL[E'V=VKI_8''L'@\>]:=3?'TJ76'^,% >N4FKKG4]D_X!>_W+\TYV_MK4@DC*EK)*1%P+E;8=&-^,H$O*DL4?P@TS[ MBV.K51I<],O7*<=]P<@I^P[)L6OCF4HD')"L(L-EHA$6A/[TV;"R30@Q^$]V MO;5X'!,%+5HL#&DL QK1)G48;^+9H>)IQZ%+)0F,+UJXKE=\&PF)P@I2>Q.2 M=13:%MN598)U*B16@A-LK46G&G#DMST#>4Q72R5[W\EB(*S@ 'B9M M8TX H)/ 0KIZRW4/X6:Q;AHI2>J7'36X8B8[7GQVWW\-DBBQ>/A602T?]!0L M$ LE$G]%:H,)^W%7Z)2BW=A%?RUMKTNO$P,299&11"+Q!9GIAJ\@^6LJ"&[P-T;H!-6'!J%;R*:J5C'%9EVIU:7$;N$ZDL04@$J-8B1P'%*M*R\:[!7#I M,!(/Y#Q9I.WNX\Z\;N>,WZE**J0KGXZNN!CV M#+J2=^D*ZY5 3?B,I&13023%&QE 2GZEJ<(.M'1[L-,:)*M#=:Z)$'2=+,6;)84"">&%:<*=N"/-,W&JP>/OQJL M_A?)O6%W35!-W3L!'V$D+462IP$J8/MB&8F)7$'PGH2"F MO!1HAX]?S$4:54OH3,6RZOZ)GG-JKT9$7YORN<5'J&R+.$.H$D**S8U15/ H M"L76'M%TVP2S0'F&D*3D/ARH3F@<+9!.V:.S6B>:9X^,TF[B:7P=I8M:2 __ MW,9#NW7A02_WU&F'L&$O!@(F%R511E /L<_+6!!(BP?+*WSOPNM9?"P01M$ M< ;!+4Q=^*W4A4R8NA"F+KQSZL(3R0A/&BG/UR(?0&S>J$O?ZZ]=(&<_2DR2 M8RXN94? M=.CE)B71D(N)8XX(2[%LV(B(\IH&$:LH4_TQ%'/T&[DG+9JE!(V MM][VA'F]PV_0"GXX4ANG#&DX233[@G C]FY2_7K.GHX2H_3AR.%\F)(Z_4UM MOAO4UKV[YORZ7VR/DL=SBI/KFC4KZDTNHV6U=.YQ/3*R4QAY-*=^VR[WK=NX MR146>OIJ-[NQS2N<,W?GN]K-N7O?: L^>7O+"PS/:TAB./WIZI]T:/Q4WI M9BZ/CGV MZK%>JO#:NI%*Q!-Q#4<>O;TJ"\.'2JYTW\_TNV:[WDSUV?)R9C4RSD'K8- T<>O7TRRMQLU%4_7EH)9BL[7>9ZL=841AZ]/?FPFW&5 M>7G'#7.=;6UR*=9&R?.QZ9SC>* M_=BH69C''N.92KFF*)T%#R./=E3OFII162[Y?B87SXV%1.>> TS.!4 SF;[3 MA.RD,;>S]_G8G=6+KS,X9^9PY'UNL1C/NMMMJ9M85)OZU8P?5''.H[V;(I=J M7HY'-HRTK=(L6^N^?3?;W*R'@Z6YF([RQWN_'VYK M_3OI\H8;3CA]U\IT;L0)CDP>CHP/N5'>,@K]N2*/[,Y]MSH;3GD8>?1V-:7E M=&[9RY1JFT2BW%@/RNGQ=!3GCE^_*"G-*[TO[[A*\W8^&T]N<_?=]B@>/Q[Z MT*V*CU=W_1EGQ]<-M=@S)K'I!H<>+758G4ISH[&2YX7K_MW57=/J=N]Y''IT M^NF6EA1OM4%I7C -I:JI[=1F.\6A1]LJ%:Y!7QN:V7E3SMP^#,S$=UT?;+J/%FPK=3RT6S'XLMJ=JW.E6[I+WC=JFU*&##U: MZV@=VQB/\Y%:DF]7\=YEK%U8P2V!H4=KC5W=-.>66>!+W?'6SM^4QDE^!$/3 MQPO(U,=&H2Y56]QNJ2^VMF(K\_D&AQZ=ZT3NEQ_[]HTYWPGSC"6.$W?S(9GU M: 'C@O P+9C6BJLEBPTKT>%4LP*S9HX7(!BE:N=.']WWN[D;-2M)=N)*AUD# M[K127_!#08V/^P5SUI^61X(ZK&]PZ-%5U>W&K3R=56I<\[(A9O389?*A088> M;:M]9Y0*@]TEUU_IVMR0>M52]XHLX.A:CVK:I#0H3KK<0KB:=OIUHWU[V\:A M1]!:I_1&7;B[;O7E8>%>MZ=:@I^0H<[%?FM?<5E0C &FJOO,1<>.8;MA2J*N M#_G^,%O4%H-N^OY&FAX[AH/'O:-C^*E@0 Q;H4:N) M=PIH8S[@ M\?M8$L](@>>[A0B\V#4Y/FTK/'%PQ/CF0R0T)CIN#-KAR/051XAB.05%BU1XOL7<'LP\YP3R>*8UDSDP?$\N?,N\ MH%@087N.@(:'K2KW%D??0^UFCLW YWOUOO1[88F!CM4Q<:I">!X:6@+(7QS" MHG8MSX'#+%SD#?!J##@*?/T?O)0&7\/$ANQX.WUAV.>J6;Q3["#K7QKU=YP^ MJ+Y1E]>R2A$H#OBXM $D& 2_LG621VR0V,&_;(UVN\1F*L151HQ>M,DQ[=!* MJVV('F#WNV-?1,K/64/"OP9)L(3(4E?<5O&(%OH84Y6)ZDY:P OF_EJC^QVP M*8+M%%DE':C6SUY)TED)OI11$5OSO=VW.HHS%??$"\X;W]\\S4"DWS! M,HRX2TVMXU +3!PSB27H6$P8BY+:%K5=OF1/\[O[BGK5?KSYF":!Z)Z8Z-AK MDA16(PC(' =H!W9<"BQZTT^: CWO!$T]2_:)R,;<(WYM\_SQJ5Z=D[]E]BK(V1SLU+4_[I M_.%?!KZ5F4K1:"A28^.^<99;6@>66<_IZEA4+<-Y*YLM3O=@2>X.GC"EI](7 MV>1__-MG[W..PF?F],V/):G0E> 0S(BYVAPMC4 M,8'PC4W'P7&*9"#\^%P[IM\/8$G/.'9?P+>FDW!ONLW$1385 N(, !&_R*1# M0)P#()(7J1 2YP")D#:=#2"X> B(,P!$2)O.!1(A;3H;0(2TZ2P @;0IU.E> M$1+_:QFH9[^:3OU^N\XMK=_.MGM;LORYSD#45?SR__N1^_&;YY&.7Z033AB? M$R@97VXC))HSX@0(ON&!Y9Z*=7R&8Q%-J-0&3@RI]$^_7XQ^(UCT?S?EA7XL M"I;L>AS#6W6NMRKW(E\S!>WQO_N ?C-+S'> ^"\5C3<.@C[38_FL%\%E)(G? M923Q]$4J^^9;_Q-&X6O$\DJ$X+-"^VT4J>]"]MZ!VW\0V0M%GS.D 1^C4/P) M'XB_+9GX4S[0)O$WE#2V2!#.9V$'GP\5SEPD((F3(?3?#/IOJR&\F4 8\L$0 M_;\^'U0TR@-Y$AW+[&8T1#8DB=^5(;H!PR$*?%.NV/=%C8=L,<3_[\86)SIS M)U6=%!'&)DF$>4@6OREGK)+TFA#\WY0K!H$_Y(=GB/GG["!#SO>)(RW^\F=? M_OU92.$Y(P3RO"^"$(D0(5Z)"WX1A$C^_1KTW>W3'4 M+$H&Q%D/]X I?=DX92S (VOB+G@^?]Z.6_2(33R::(M,3=6NYW+F(<=-Y.U# MOC3U-X>/)5_0'1[O.:])^%_)N^0!%1G=?O')'V[-X$I7E9?238?;S>7E(']? M' P26!$V^>/?1#P;S69S 4WC/R/U<(P=GS%Z_*L2!;>O=HA0GQ.AWC>#X#<0 MZA/:Z@[%N*J_K&+$W C+4!D+#7!?P0SQ]@SA^P'Z.UL;/@&"OY<:5(2EKDGM MD*IF6H:->DA',>=[RHK#63K 6+K 5T[K/;^K2B7>6I5*7W8K_?7X]K9?T*_F MU636C)5&OZ]*>FA=O1O"_8D_)M8MN89RWL5Y'Y M\6\\FDDFWTZ'^GXW_3M3N+.SI[Z9"'X^OG%_T_3$-WYZ)C]@EX9,JC[! M],2M'HE\EIB3L[@)'URVY(O6)3DC+^$7A^U'%Z ($3A$X!"!S]_ ^?[>ZK.R M?&)_6'@=Z'VD*[,BL0[,H?(4VC^_IGDHM'^&UH$0P4,$#Q$\-']]96!^"R4I M-%.=O9(4(G"HY8<(_&5A^VT0.#13G9'#\)G)M(DPF3:T97T95?\#F=CWPX#O M; ,(,3_$_.^W[[.T?KV_W!5MTT+K9V"*,+%A[&& M+,J _?!SU/MR*>S( R3F%6B+ -/ CX8-,ZH>B"\BO9ELRB=6 <@!6*&JNXBP M7!KZ%G#(@K& %I$UXD5D+)@PGTY6"%^:,]VP8G#+%H!H%B QF3XB"H:Q U1C M#\':==N(J+HVI6,E>6SYWV &OD* S2^6@J&8\&&C6+,(W@U40I:&O!9@0_ & M.."Y3&,R3+P'\!9!(\9A4P$8"D8$GI^;Y%@6N$1Z"@0'S@05WP/U$"K*40!+ M1#$C"TI]I(A@^:%@FWBZ%GD,P"!3< GB+!H!'B7.(I)B,LS#01,;H1_1 !0D MX-J4+4NE)"TB;Y>RB(@-7 OP'X=++ODFY!Y)!LRC \@!M":"F*S"05;\0&@5 MH#E0,D )P%#;@J-]Q/5)"MP("[[2QW VY&+ MTBDH[AZU4:FZ+[(!IQ'+"0_ M^DZ$XLA.D54)$6T-7_CF$U#U72QT#5ZSLG5Z3RW\584[U97ER U\&8ES5&J+ M_T/^3W#__%?9 R_Y^Z=B 4,5 2X>'XMXC,P$ZD00)0'3($XC6\?MD]M*B3U\ MNMA#MA->#71HO"^JG>L5:")%6=F" 5 #( *940 %-@!:TY1-BL: "X0@2?ZK M +0$?_/CCSX&>8@ ;$62*\[(LA,0A!+T'81<2; SR92^, W"7"% )6Q#:^$ M+BY@4#%]268!!&87$? !;Y1F(I(3P@IBE47N&BZU2D9=1,K>M'#+)1E17M'P M%I)[@Q,*[B6669[$1-4WL%)!W<'A>)08#E^8DC<0Y,[^8[KK=TX'B,.8,IF= M\Y4@KFP%*0LAX[#]A2Q;#E79.TUWB_ '06]-1/YG3(&<^)9(:1+NF+KS\)! MC(:EP7241XK"$N\6W$B05Y4)"-@(#-^Q*X0'OWQ#_K4'K!* @NORH.HLFQ+; MC6X#50%28ZL6+@-/?C*1"3/SP7_A28(7D8K#BZ/("+ EJ_=9J M ;8H-R!4%%CK>$<6A$24$!FX'0[SW'_O_J4XB>Z.N+%#7@&;!$SV[^!X]:>. M[=?KU)=+W03"]X<+?4UYX'-2Q_X2[[D/;2BJ$ )IR!,5SIPQ>E7USHU)@D I M5()?Y@QF(.2.DC'X$YC7@VU:A#P!K61C9WU$4(/R,CU"*)R"+ MWWB+F1CZ@MT&!1X&Q%=TZ2)0W/]?25G_^U_XQSE:494% [7PV3^ @TM5V/TD M C@[):I)(?/!Y1@,*$MQ%/ U?,26=X_Z#,/;-NS=93)15]9^GK/_.#*^N MNN]W5$^D?$9^B@#E6#Q+CXH_?_^/?CV> B(FZJAL_G>;PO@-TSH98)*9R M; PD8!X3)K" GX*Z$78FVVTV?Y%TVL[_=/O+)XGG@;M(IO\3\?V-QW($MH6P MC?E.CAE 8JH\L7ZRQYSOB/'"_1*I!I" GX:L$O'K &P,ZI:^_)F(7V3V@9Z* M7V2/@?XF3IBD!Z#_"I&9@4:1_^DU"P>$Q"=::DCKU7_\42_L*] "B"@+]P9- M 5309%1&^-<'^^!K<7C402<(MXP26RJN4]O!>&0W3$G4]2'?'V:+VF+03=_? M2-,1#HV?CZGQO?2P!AJ8(O%H!"U:5$JB1XF0X=4Q*N^1KFC *UN**H.06K>D MB\A?C'3RW18CD7]'_@+6BBS3-DUJ."!*2.IE.L@ERE4H 1?TQ5C1J*+E4T'^ M9DH4T9 B@ ^:;A-ARUXB1?^_;V+S2XX.+'[.*GGOO(@Y#17"$3LU+F>-3O]ME+<[%G0TB^(3'66X3NK7]C5=JXQ+4.-:3>" M88QZB59R M'BBQ:Z9T_W>/!^Z=>=&F:_:.O:>_'@C:([[2:\W3A?ZBH*O+LI@K9^/\WJ'' M3%G\*=G&!G@!Z/][=LN6MZDNK-*UHT3Y^\[;-'NCM9VQ^CT"W?+ M*RVV7!0VB?:/?W5-CNT H0_% R8Z@%*@$=.!_\8FB7CC_R851;1Q !=4= M-8']2I,,E$>9-.4G"1)1'^":?Z]K=@*F!164!U#K9(DW,8'7VCV5N^N_;ZT5 ME^Y)Z6:32V1WG;)X656&CD3BQ7?+41R7#KJD-- @NF( MK1Z9)@\Y-)1:&HA^S[1B()VNSOD"G<55RB?$:$;,O8HAV@O3PAN"=@S!BLA; M:DNF<;*!2$6E=*9RXFK\A@B800 $-^2E;A *0QX!Q4Q1]U%8W*&6!OBOJVL9 MN!2/NAY3=,F;82KW+:@$,(U"LD4\@T")_N3>@<*1&TA$#GJ$.!XX8I"62[!] ML:1#%<=DO;3AYL(91H2I(5.K"9X$X"$JJFQ-GDX!.N=KWSR7V,9'K L<$-N MGG"_>Q5[W$V'N[.RY9*=3R25)$@IXX-+QAH*I&3)@%HK55-7Z!ZGQS M\BLF&0^\M>UT?3@;-OI:/W%5*K2*F61MD0,NR5WD3]Y:ZBI YX&!9%FG)!Q$ M& )?1(0@LYJG)OH%V+.139_!ND]@4_5JNUNI]C+)Q?1=?1LWA\G'Q\TS@.P1 MU!Z\ZU+5Q?D/1Z"_Y-NCE97(9#C%&!G%4OQNV2I.?[";:P-YMIX8QP1_('^B ML(1%6(8M?T ^ A-;4 M(KP]M4W+T>THSW>LX'!,D8JAV\LHVN@]?0Z^]RE:Q&*FJC%BCK> GIJ,Z1 . M2;QT/L>I^H;<*>=3!7(O$A-;ZHQL%+;)6)*1'6\[VK12+<7*I5F_U"ANC:OV M;[.DEK C3*:G\_1TG>7(YHV,S ;+O+!S#^0K=GK=B_/CQF"N#%*+>WN1G<;R MH!"D$OD+[@G]"_V;Q,N Q:4

8R!_Y-#,IGC&1=(P@\P1 #% M9RKAX?L#QQKR&H1:HEX#F!7+?>3;10\ 37#< J"G@T3E^%'QG%'*()0.0TK0 M(R_M^71PB"?B>^H(*[KK7"*$@KJ7X&>"L",Q_L)0@9@OQS(Z*4$SH9$"U''K MXL>QX_647_?%2R'N!7+!3RI5P7Y'H$V LXA2"MQ/C+EQUF,R#>!DU$ =L.D'])MY'C#3T4.[GDE-@;@%IMT7;_W8#VA$;Y!W"K:G!*4P7H?S#48C?M22FMS.1YMWX] MSG&;NW1MN0&H)2^RIZ%&S%".9>GX.KH<0?'>_OT 2FYAE9E/BLQ,UM-]-XD6 MT >X .^#20,!=,M?3_1$?=P!(CJ^R=_=/)I\'8AH_B)Y&CZ.4%:BDZ"3CQ&"&W3)D.)5] 4GFA,4@D=/ MP*>N1?Q$XZC)C+ZEX%.^:$U:PEH5;>K& -5#<50/Y_PB,P&P3):IT0!O[%-^ MGXL_M"?_)C9QV=@Z-LU*M?GJ?B[<28FK6MGF]WA,5YS!E5?EY@24/33AM 0% M_;N^-Y@D@N78'KV8&HNLEI1R_47A.B9.BG-S,.:/[='!X][4'OWZMLRC6+8P MMNW7L6VY,+8MC&W[H]@VP[( MVO8^J_!V-]NOV!FXQNN8>,_SH\3Q2!#0Y,+U8_^N%!N9F^;RMBMPZ2F,3!R. M;*EC\7:WCJFE6D'96(.\U!!WFU'R>,[I=IPN#[N*.1_NJO5=(]4W=W?\*'4\ M\F';-0>#32)9&N:[=4'9Y3>KV@9&'KU=:C[J0WV5Z)'@;B\K(^V@3MW3*,O%U))#)96ZO O?.+\I\Z_'RLE6JS:VA>:G>UC6S';3WJVDR+9>, MR70^S+4G?+>R24J7[5'Z>.1JT.-3*;M3XRH"?[TJU60Q7]R H'4T4DT\K ?< MG:"65A.NMS2TQP=YL1EECT>6[QO;W.-JHQN<]W;WLFMS2AW/+(QS&Y[ M,TLI](>UII1+#DN/MW5^E ]XNUK0N_/'ZPHWO-D^)!X,[;*[V:!T>#0TGZIF M;N,RI_4SL7SF[GI9-//J=!0/@&9*>6LIS"N,'BCL?;NF[T!:/7NYT+FY;:FL2,S92#H0&@JB2K M4RW;3JZY0L)ZG'1W5N:A2-):CX;.&HT[:S-/=?JV5-]=U;7QY4R%>Q\ K$R] MO+V+U]*[_BHV4]15(S[ODVR%K'0V\& MW*:=K54R7*R8$VQC5GQ(:3P.=6[*B?C;I]WP+W#:)T['^#XI6OW[7VJ[=Q@M MX8K(9%5A:343S^@?#C)? B(,P!$XB+U9%VU$!#O!(@X7(F0 M-KTB)%Y8J>V7O.&] ]I:P>;QOXCE2;=-#-/X^Y7JV_Z*')])=,3;DKHOLNVBBO1R?O0F/^J^?O2^7ZG<5^)C\/0CRWU]5.SI M2UI3/!%["B\VS8#2645Q+*6:M8+-*?;X3AS4 MQ*X@U)>53E9# SY2PF0TGCY.?O[[4\MZAY6T;YP":4M!>3V"^-$2S[$N[DQ; M@&V,#06FN9+5M8Q;PRD%S8P=S_L2W?UMY,1]%[ M#27--\AR\O6KCHM7FZVB]TH)951*;XWK5<5 %VB2Y#E%N=1Q]/J)FJW':;%G M%C_D')D70M1Q Z^J&'K#:@9@X)9S9,#&?)'_/ W:.A%?U,XF9\7^=:$];Z;G MO>)U1>Q.>?Y=,EA_0_+Z?+ZV4]0K=+^=B[,A=+^="2!"]]N9 ")TOWV8^^VW MV<5[>^0]C50F_?.T(9%;4H-?M@\:\U*&H:*YYP M8"L/+4+G9A'Z0@:?KVS/H=4,_]2 D[RMW>T&4G7-*8NI>+5^&%P_7OU^%_N MY,MCLP2*!L\P3###>\FC'P$FG^7E:)%87^96I:V+Y<]COMAPUU2B+1Y8ZK+WXJ";5ER!C9X73H M\M<><9H7OC+M#0EM*+>&LDS3UH5/.[%I\4N6ZS=N-&ZW0ZF MHRR15C/19.KU+0 ?+9 4?26A*>$,)=100@TEU.]%<-]"0@TJPGU(< 6N/EU= MCJ2K>:*]JIJ]_+S\<,?#J0#!3<2CV>0OTT#.6S+U2L,SH?1G*)5^4:F4=FO[ M$L+F-XN"=/-@,]01;9NP/MF@[6RPL/-,68;^Z% J"J6BSR(5.8^5L8&"7%?6 M(+RXG)@*(Y>[AO"@&Z1I,YG*><:Y_AW_[6?SSHRQ6KG/#.?]YOTP7ZGL&IM< M\CRDKNPB>VQ17?T>/<%(OQHL<[&TU^ M:H_W 5GO&0*<*)Q_*(%]40DLM M^28),+NX-7%R'"DM)83:8"]U.O]*NWPN/ MN0>54S\O%;9KS4GC;B;=SN5:N]6.%2JK&4?JG*/5,1[-O $5_FAQBIQ+1-6U M:8QT/0UC/L^ 6'_TJ;VV!AV*SE_+H$B(QHVNB?YXI "".N@_9INK[;K,5:ZJ MJ]TP.>1;E2FI\_+CWTPTE1N;"(JB@3W8?4G;H: ;"KI? M1M#]YPTJ&GYYBLDB-_T_,-K1HJ0C@'I>764VS9M%2ISO%FU]V+5W\_YJB@UR M2,AF.II*'#?&_-R%$/W91V]!/S]ZJ[BK\DCRV ML)B0J-H2:8S-$I"6NH'[^CN474/9-91=ORT)14+1 SI1!#(10"D-O5W*U>*3 MXMPN+#+9FM\FMQO=X;'.+ M9H1$E...DXX^ES![Z,,*+:\?0V+#7C3?KQ?-61'?M[#DWQ?&37;R_765"8JD%N6M<1%<_E/7LO4B58+ MY=A0C@WEV&]-3I\(7"W/LAVIW[DOS&/QJM[>QA>QUB70P3RA@YEX-,F]?OKF M1\L6WZ\[]N>AH&?81W#O6,.>B=^Z9V* 9%KPDX^> =>(YLS' \BMUM%ON^I\ MF)PW5Z-Z]^'^9EY/\+#!%[3J]C=-]'HDGHT(\8IXJ&@HZO],9@[7-90CBB;J MQE*'4\>Z)S,YLL#,$U@<.L[P8EHFKQ5JNI$/+6-;DB0)?3@Q]0:: GP"?\&$8APN TUHKHLSV M@T-L=S]P1'.9UBH,?'8JZU,@0C-%A*7(IJR)LG\'JJE':# 'S(43K 75EIWC M1*/, O .]J<;<[@O^/ EL$\IHFMDA./9Q"(TEB$+%AY1%,Z/O4 Q(YIN>;N% M]8]EN(>2#6B.- XF)6!=R&0.X,]+W93-BW=#JW-%]]X,\?V@"H77Y^LDPC$D M0Q!-(L$I\?C+_SU+&?@#\W_39Y]YEJ$G92G*_RAM8T[Q?) MN<%C\N_%,2^) 'ZJ"&.D$FXZ[1=%@]_).OQ*Z-=\UIKM&,=-2 MRXD-IAQ>'"?(.+"_B"!!.4$/#O!",&2@TL@!A06&]3TB,0%Q-R)$:"="[#,( MGX4I<")3GMAJ1%4FA&L\IX?S:TIZ;T4PKM7$NB0HW*XTY./3X;21:BGK]AZ: M@-XD_I1L _MJ E\]Q!,'\$^L;,@.DZ=GV2='68>3] &[U-8K[>&JKI84Z7') MI]M"O-AO [#3D9TL&.:A1$A@^9F@<'1?KZ?\Y61^O1G-*YGAH)XH)]>Q;?#1 MXPF\T;DWVIUTQ59[VKR[4EN[?G69S\;PW"_R1T=. !'%MGLHY< ;U=U%I R" M#?)G$"H57:+2'6]/ >0$->RQH5U5Z;B ?BB-MM_;>QA)%6CLQ#:3(ZI.6%X(7=!VI1]*R["F?.B90O!Q%;G'^=W0FW:X(2RMC$* M_+3&QZ8__DUFLA?'4=U[G!;4?-,$J5L'\3X$T]-@*@D&ZF!FTZC#H?TVM':5 M325Y)4RF\TQ^V5,7F?GT<8[0RET<>W8\UEBU4%%1%DOR$TR+=Q#T/4.>POL( M,)G#>N?>NR,(HR:#EU31\,8F06(';AF9 :-$.1XF(XHB'<$T2QG 8.VKGJ^I M^'P*/8??TUU,TH=/%9BNB*>UD4$<">\.NSN^A73H.17PT )O0WG:XJ[>!7AO.#-<(-T+#P[W^5O9>0 MOW\JEJ JXL%UA .]!+@L%M%(O5X C'G'11XY,O;6>4;'V=0BU[8F1W+T9B#- M=XTTOM.+_,5N!_V.78._\=K 1@55C9%6SI;O[L#Q"TO Z"V@N@4RY=L1P0R0 M08<(NG\_BP1>XF;PZEJ&+5JZ45<=4CCDKZ[4AW&<*]F[6;+RN-&:]>WOJ]TM M84?H04]GHH&S+-F\D:WFA+2R9><>2 P3LX+3E'' MH6($G!0 FQR[9]=E5EV@<@L JFRH$G43BR1W_?>ZJT))U4TG[5YYRT($(?8Q_&5 M,F"4%%G9@F'1,T#A)XK78 (L2R7& V*9!DD'\1B'3.!56)XPT[G?CO9U89;=68-5W.E?I<[<2S8BDE;W[\F[HX[C3ERBJ(2\J6 !.7 M$_T>P'KUI)&A;LSA0A>$)?+70/#48]IL(4VF]WU[51V4%IFQ4=%!LT*W]I/P MV="Y@8*2R;\)B-[66APL[HM*?X[O^0D_+PT[@"TAY!3-%E@P@J2L__TO_.,(U*(*VB'&O,S^D11S MJ0J[GR1"@!R/"@7I8Y&A\__X?_WZ\<)^8J*NZ\=.) MZ?$=H',V)+QG*L?&ABS,8\($%O!34#?"SF2[S>8ODDZDY4\W+ C/. *HF$S_ M)^+[&X_E"&P+81OSG1R+)HJI\L3ZR1YSOB.10.Z7.D6IG]1OM)8/P,:@;NG+ MGXGX168?Z*GX1?88Z&]2-3CI >B_0F1F(-WYGUZS<%JAU)!"J'1:ZMQROOKQ M;X]DIZ ;'#4;*_ZFV%8?'* MUI7R9I08<3_HV]R1EG9]OZ@E4H-YY7$D;OO%1GS^,!TECT9C=7E76BUY/<4UN=6U-!VECN=\7);FX^7 RL^[ MI<2#F>Z4C8QWL@\+;3!6^TJ)J^4:)I^L5C8PTGG[ 8VASXU'EWQ[ MM+(2F0RG&".C6(K?+5O%Z0B')B@_@2> 05J_&IU\FU# /PB$>7$0C.-TW<-= M]'W%E&V,VCU^7I'_1@_56:?&6\)TOHKG\[M$ER]-*YLG(T)?>@S/O#3Q= PM MA^Y5(?\Q+UAH?'N1\8U70=*QA$A7-.#U+47%,A%U"X_QHTQQ[WJ4IY?AB F* MIH+P&!NKNCC?VP;G\ILDK2+/5M?4(@W!$&>>#]9OK^.[+7(7!6KO ?E)E-_1 M#)?T^2*2+W+),TPAB$+P!+"$";I0A\$:759%G/E;)Q_"SM6[8R/.KVQWD&/J^<%D%9Q")V.&IK4E79,.'P M;!7="J(,?!2!1;C"%,DO4!Y-MRVLL$K"/ %X]A()[MMH,Z\&)7EC;%/+QLV@ M7^#E>M;L]-M*DM^'>]#C#$M MV2 C-5'NPBK-"3V3%N%Z9=TX:/\]"#HA')4$SUT>)1^JI8D^KO_F]1A=$K/9Y&5?%941R/T7:F]3!E'W#DR MF6X$\YO<,0+P7]PF4-O+<*8#/-)@ ,6[W-.3!3#M-[5-P$2!+U<2]#S%%""!6,7>-$^F;LBR2(CDG]\ M"\5JJ3W;YN?:/-&JC>14JA//Y%\NC[RZ#?RDMP+^WK>/DTS"8!\&+]Q4[K=V M<=[,)MIB.3FMRN,IWNK3@;F'/@R" $=&\[&3?VB(_96=H2!H@J0 N?PM@X-@@=AL M,(KW3+1:VH8\NI*,RKA7W@PY.[VM3CB>R^T^'J\2+R48OB4X@"RQP^H)VZ)[ M4"# H258F'INIZV&:DEE<0Z*S7'=GO^@P$9BJD(C MR(N,(&7; L0#97!B"-0-A!^O=!7%7I/$UGR@/>3L0Y,$S481))XF>D!\W][Q MC+-UXY;*U2LW:(G82-[')A+'XK"XQ4+XW9M-: MG%N-QSROE/F6(?Z^ZOW'@4KW@YN67EA7ZJ5"45%SL[6ZW=V#:I#A4D^$;9Z* M5 *P'8:RCU#$/)<8?15=;S/ MR1W\^IN."'&@P,7?5($#-&3(@7J#"7*3"C"'&T&2IRV:TA-81(0"^A54O8M( M%U 0-!=10//+3-"F& 6 F1 $@3"Q21%4]UT8,8_E]VD0]BF]-^Z+F:81V20L M^NTH=XK:;>)[D?6O2KF3DYXD]J[N=Z7%:JF/AHF;G-W[S7"JJ@;4$&!:E.G_ M5>TH* J C,&TNRV(BGQ1JTD]NW,35.NI_J]X2,H?IF+8TG054<,*F:B[U-[ M"J^<@'R"\H>J(1 Q6X[92QJ0'T+S%WE'2.E2EUXDU6((UD72#I2I; M,B\]V"91K'X5>W4UEY9WW4EQ,T^D"TIV'5^GFZTIZJ-/1 @I#.>\:XL 1IHA M.-+O46C6181';@[4R%8M1EA83*].ZAH+[II=[GQ(,/Z$./DT3(E=%2DRWKV7 M./CIT-!1+UOL;GMHYB&7^31QZ7-U7FJUJS?]3+I^W;#3#[Q5P%S_IYPPE%V< M9 : 1CX\ =$'@XHD!V%>QV!IR&1B:HUS:1Q-AX5/FYDB4G.)'V7Q*4G&NMP M2#HYG(C(I$D0)A7'".J<8V0F8!45&=/'Z+5]REA*M>]GN)GB(V:^\&/:,XT9 MS\2TLCE/J49"Y19JO"L]*E(BV6KO<:6N. ,FH M%HMV\UP*3I2:93AO9;/%Z8Z>5_HNF[UXLH:F+W+,-SUZ0R<@=3HGXGR.836Q MGS0Z$)V0OXS*8T&8Y,7.4&%LZJIMR6\#U(O+ 8YZ\HTIDXE]_VMG^)3?[R)KU'?XC?WO8G0-OQWIPLS'4, M4AS\V K6U/\B0JYNFVCL^_N__SL.L?F\L/D#D?>C2P._/<_62C%=ZW=8%82^,=*31^V,IDI)I F M2"A,%.C!)R^:_PF<$ XL/3_$<7RU+#TCNOJ$D^+^*KFMM[AA:BZONZ7BH)[+ MBI?MXSS?X'$DSS?^5BZ-/Y9/#K NK*KPG*H*"2ZLJA!657B=J@JJVKTWBJ6Q M,H^9=FJ9G"F"5)H"23VJ5I :W)=+ZLK:E0JEUO9Q911*Q5)@_06NH^PJLY(1 M*PUKP^QCOK7M/"@\C#RJJB DN5TKPWK>=WU:2U^MM7N2#*C7PPH-J)L>[ M0E\653.N5SKCN]HFJ/["=B2E\K/[_$T_EEY.Z[-$KI_K;8+J+\C3E'@['JU* M_4))NM])G6*:OYV.,L;T;9XY&][;8R+:JW MG7E"7,P:4B%F3@;\*'<\LE5MQA/\E5J8#U=U?5TWJN;@:CK*'X\*K73N9MQH[GH%V+"R'I(W.?K]YM1/ ">G6ZK5JQ+ MG49I>&=IFQ[ YS+11A9Z-'1Q^U@QVZ/K7$G)E6)53N4?QQ(,#8#3-9,++K/K;E#4.AIZ7V\,TY7U M:#N7[=APL)7S4J4VQ8;K1T.S8I_;-;E5C!LF'U*[Z[A6XS4>^P4?#36'#?&N MG!/'\PS(@HW'O&!=K:?8Z_)HZ*992,(3BEWX1A!6?B MS0[#"LX$$&%8P8>%%?PND7IOEZT_'?C9,8RA0S=TZ)ZK0[?@N(J(E5@&3%X+ M*M6G0F_N-_?FTA3L-TF73%>'PG)]-T]RA=B]G,Z7.^7+NU?MK?K;)1R8QZGD M784 N[+1*(W*T_BX.R\T6[>YR_A]QURW04$\[5?Z3%YDEE]@LO)8>'(ARSHK MEA72A7>G"[1F!AW9<>]%$'58+:_&@WEMFRP5UKGE,%]MY"=C%F223D63R>,, M[,\N1L!ON!4F$W\9X>'C0DI"4>.\2,JKEXK:HR?._:&? DA*O60/K=3#/-=/ MU.;M^]M.:I&O36D@2S(13:9^V?S]K 6.%JD604H<8",OTY>*ZM0J>F7*\CW( M2$@SOK08PJY-B=X:&$]Z/Y\D(LML.799;31CG)+6>_6;ARM+TMLT&B:5>W4* M\M',VRG&%R6U7RQ:6L,IR!<)99101@GIS2OTW_+HR^1>;?+2[639K\SKF[1@ M/BR7M_PH0_2>3#2>."ZK^)F$E*9;ER9F!X$-I+D]$X]^KVTH_FRM7#FCL_OXS \?_^ M)Y[A_OFJ=*.@ OTDTSO/.'C;\:.MTS#Z87ZG6]NNV8^5Q$YN,)O2+ 1S.H>W\K0H"89Q#3'X70A)! H('IZK\J#1B#;'?; MV,ANG=BGEXT+J:HR\ZG,K*RG>-I;-S$LC2#7S'!?>>&\0*@!9(Z%$ODV:V<2 MK/_1T.4I= LH=(A7=:RAM<2],->Q[7+;&Q9I9&;OOBQ>D6J34!B'LMGZQL[* M19S*Y3D&%N+#%&.:N#UWUOSE7V4\_JHM7#P M2X$A;[(H6J[\I 0X<5N^E]OR$6P:?R:V!-N8YW\(;*KCFU0$SC@'T:VCN4P= M6;K#39^?BIMICX'G\0#.8'0ZAU_O+_P6F\>]W8M3%=5'0,B?@1<).'SU'85K M9 C-XNRC"'18:.URB]H0 GM8;KL;A>YAD53\$8/,-*_$T/X0MK!H_H 4FCRFBGP2WD;CY'=V67:?F7#F?_Q>"68WS;Q M1Q)_Y(_"B$&$Y/ U"?D5**1"EIB!"K1ZU[;;!1K%2Y3'RX: M0F[17XQVD# (H%(V3>;0K^W=^$SEVCE? W1DOO*.S9_HQ"1;.Q\#%7)4O+-' M==E4J<-*'W6[CE;JE[MV2X7,8#"%0N325.[F%=SW]E3"S>S$+4G>(_]7K\N1O37/R-X?[-H6FO3\J[ A9?:!DE?@&C!E?7PGFC3NQR>B=I:,(R##YFVX[T$'N_W M;J.9R2M9T<"'BF4N_=N"]Z#_=G!A->P#F(2M)H(N>+V"341SN00V*0:=!L/7 M9?]4;^0#5.#+ D2::R+HCVS+*U$^'X9AFRE_PPR\ S[ NZ#X_'[B)5 SR;LJ M'5@2_'+>NZ?:].\@#G/GCK!/.98L>%YXF! M=R?[Q2&S1S+*9VTSL$>HR$HJ^@@0_,LO"?#6-[3'M&K[G0=.?N>F]_L4<)]? M%-_;N_*\1- DIVEM=MRM<71UIWK'31ZBJK=_Q<[#^^0A5I_.="1J=H/# 5]+ MMPK(>,QR^^H16587S&#H*@Q1![I%/$1=P_,;FO60@G#X#)I=:)U@R6 UAIO= MPA*6QQPA%/KKKK^F02I?\+N@RBG7EA772!F:(I]KZ_.7[L14M=Z"8&=Z!7V/ M'Y)K01IKX$A=*M;S/>*\^6N Z3O3@N7"G+>;8D%D#Z+I+H\MA9FZS&OK'4JG MH'_Q>-''Q^(+ UOKX3^,^BC<7A(QCF^:ZT'T_5!! 26X<4 MB*=34(_3?DASY@1*('Y+P["D*(N>2J5P-&P+'49H%)8VF1S:_Z GGGN';S3V(1YI9T,'+J/U.X/5NYC3>DU=X5! M2>^WJW*A4)GL5@7UELI]UKF>/W4%.'.1ZCIH3HG&;B'/V&6[ND7QGEV=HUW@ M?A$O 8X2K$)PM4_)0(92U,KBG9*SY##M)H$?4E"=,.0G<'%6=B Z_^;J,Q%[ M;="?8>:M /Q7N$WH-0"2=63OBE (U?DPB51D(#:FY9]GEF$](J1F<_3SA!X9 >\R;0TVTM4FM"F M3%%/S<"+9A&P4;>6^!KX/8]RNM$3^O8Y_K5O20@9V#;\M@\9 6KAWLN03K MS(_[*,W9-W_C$JW?N&#P?6@3[LJ??0+OB/4&Z=WP:P@'TW5^*-I>ELZO'PLO MN?5'_+1Z(VB6@W_[O_,_O*O#%\4'G@Q 7U\H/\A=%13\[[]H*DO_O*QKN*@Z M^.Q-,\^%>%3HY1J>_@6Z'V0FA="\(C9Z@!E),C!9Z)$$K=8O$1X_:MG53OJ' ML3CAU/6T!KIVNO@RL8O$+G[9+H!'!C0>K!EPC7!>BAFN_?Y@60G<>]_G]US\ ML\?,S)5K>[' P8\IP"IBRX8,W@Y7N$<'7M) /QSP<,'Q$V6>>@:%"F=KXT_X MBL^SO#M/9$61?0.#]Z.'E2DS&;20S^I4X&G0,"A^?(#O<7GF MDDZ!"1-=WPQA>*F"]L'3M:U?ZP(+D%[<^?W@T7]TN(T]"; 8]VV%'FN%U(UBR7 1W]!Z4>KL/A?]]+?$]V\KZ;[ERF:NRQ6L , M?"$A&9;7'<- M G*47%]>37_VW"<_'?J[&RWT#XD9\4;6P MRA%"KG>G<6 DPC]GLH\VB\NICII!(2QKY_+3Q7[-=PQ66WK]I2&QYR9H97;)9J['I3;4@MFH4N:'GU]B5ML[6:4'79-J*->$W) M81*B\N3UVXWFEJ.*&UIEVY10NBCQ1/3(,3U^W[!PIHR+I+($4G,.X7LX9E,5V M(=WM5=.)ULNZ:W95Y?IUK3=F\C5R"5X/%ONKIEULQN5*':K#C0ID#E%88ZM7 MNY#)ZOJIO255&G9M#!'JDLKW^B/,U$/2JZ=-,_-ZN=J8Y'N<[.ALNU/((Z4A M YM>37^]0?;=*EH=L;)2+@CTJC(RE2[DO0D[<+'"^%^<\7FFRV\*M M(HM.UAV@W; I<5N8?S$__AB;A%ELN.L8I+?!4N]5WQL&B%HLSY;/ZN]7,*0/ MMBE7II-: :_ MOT\ GBG=_A@"T$EG?)*^!W?>0"!OR4'+_"K;<(W.W/!2>U, MUY!2BE8&"3O!?C-]$7$%O9-,KTQ ICU,AS"ZG#&! 2B-DW49. =!GF2L^U/ MF&%)V<(6[@8&(P3>%$1??Y"G\7G[I$&_(K(CJ1=J\2Y]8_R);XS_VC9FQX!W M>9>T>;!AN=SN!U957JXX%\'$;K_;9ZGQ[KDM]+-'1M2'#$!/\X8IZKX?7 9N MPIK7EMS15 \,JFN%X<+ :BMQW&!\KQ]8BRPQSLM-@>&F9.!BKT%_',N5__KG M/QK<]C9=&P@!1-CR7I3!*@GDE++A;BC,%4/>S+]_7-77P34NRE)?>7]L'-G? M2$OY;X5H$'@M\9F&/ZX7N5L)KS56_N+,=V:BK,;--P'?F#O;@7 M]L!^/=7_Q"5_US%4\B&;3001 T&@#SDB$40,!('A#QB62"(&DL ?$#011 P$ MD6!33 2!(0\)--U0$+_)KO*JV_IYH\Z%.?T@I3F7I^%#/<:O-0<@1H(? M_G]_D7^]=3Z0!_2*H>93B9IR+V7V@Y?,GKSD?,+^^F<"2]+9JRV>__[?[.U$ M1(FI?(:IY*ZFX"4Y^_=97?_[5-#G1H&]U2@P\@&Y8C?Z4D8!]S>O)N9C_-AO MK ;8 T)\=35 $R",/1#>QV=X+SS&6.__XX8'5/[^*BCXU73 Q\:OJ -O@\![ M\]@&)\UO!F?W'L\=:&J]/-"]QWT+]LT@R1NO*XL^G&_SM4+<-VT8D]TAOV^O M4 QQ6\>LA-$C:ZF^GVGS[-UVN+4<6' $:^8@ATS,><4PN;Z\5LTQ3^=X'A;. MX/!2Y1Q*I#$\^P)MYCM7M7N;1 (%[\VI_N%(\*83\)=(4%[VA@CG&E5DA&>P MMBYBW7%5_60D4,K.R)3P4IEUN2F',B41=1F(!!1$ A3/I;/9&U+TWR.\JSXY M?+*V3&CQP:'F\Z,HJ6\0N7TBF'WS0;ZZK_W]4"U._LV36]>B(,VW:DBD!$DZ M"GY%&A!/^\0MD/<,_G0Z)?(J-8K"Z2,CNX)>9XU)M]]0\38)ZX)Q2%!#IU'L M^J32-PCN$YBX&4R\LL7\_5 B3K[/)Z%$?8-1W-]_I#P\2X^1._4J0"$S^$2XC4+!7 M'LGZ@LPS7+LC=?F]BHK*8,=3GJ^$$6DR21DEX)$DF+Z=DW4+[)AOZ!&MKBHF M KJSU;0"Q [@05%(FB3PKYUC^GPS23)-WV60]\\TW67820[DNPSR[CF0 M]XSZ:X;GH\M[94*&:'B %_*M.C9T06 GDO@]<<&_0_Q^QT7JS]. /U;S8QA\ M?O[J]GE"/I%H>?>*_/5/7K U,=F(CZ]W&9Y]^ 91SYN3.KZ3Q6]7+M%R)'W. MC7J=0GE0V\FVK7Z=G/!SFV=A3B?T,1G?Q6RY\.5MQ;LQPVX_>IB>S4;D? RB M7?[ MO5M]SC3#Z5<<!79/ ;O'TE0VZFK6+QR.7_HP1)5UB1N#]O@L' NJ_0, ((U=T4:V\RQP[K%HH[31 KV^'1(_/T/: L M22<;Y@EH?*%41.(Z?31FF#E!H<1C=\?UY\-.?HS8_-YD(&90'F:@U.UK#;\Y M+B2IH.\RR/OGC)*=\D2!OW+NX\_;*0\O77_DMTYVQ+^ZCYWLB-][,?KS-."/ MU?P8AJ')CG@2!L7&B[PAO\X7RNP4M:TFR=[YAB"W(SJ#?+Y3G$_T/E^?=*ND MVYOWXW%$"GO?*8;U=,$-6FTM:=R,L!WG-NVX) M_^L?[ %_:?\K"1*_HWG?.^R[CW5_4N;VDZU;W61S8[-H95DJGY'['(Z.2X1W M[1GUUS_H _H28<07#*&3W>TDE/C.073B^/P^- 88$ &.BXI>-!UB/^>6Q2VV MF*_)3I7GWQ*Q]] Z/WVZU6KE?UA8[AK',F8A\8> MM4?X\7AU4VK 5!FR-4'QCC1G7G!M FR=7%%ZF#&+[/YS;:;[VM< >F[U?&H MJ<@3]>)^U&?;>3<)HY<7I'[*O<(OSGB8D[(!7_E-[=0ED^ MHZ,C.:7**\CF!:](]B8*0*TD6RDA90DKU;NO70Q4"5Y#[!S6LIV&Y%:&"Y>( ME*+M92D#H%&4TQY*AS\[H%O>1<4 ^4#/!"/M_>;=56S)VG+F6K9WH>S:<.V4 M(LNG]\!;=05Q#E\-5C'PPURP07\D35%D"XPC96FV#JE(%BQMN*Y+N7IN66KK:05QZIY#XN.+DA=W=1;(M[;6R0+05)%/O[VA& M9DG%96!<<4T\]2@2:"\?+9;G_+#;BF4S48M'S)!5#E.0,2<-FQLYK]Y=+(V# MV#WT&TL@EN)H?;#TQCJ_ZD*Q7)N@-X] MPBI 4X"?H!/FVFLE2/(&>$SP$9*L +]3\N7MP&8>W?,.@#)8R"Q9L,T5 .L# M6.H!KL/5PC$=P3@].[45#/<1B^TG8'[6,4L6374%%BL4S F M CV&'K4*Q@76K+7KI)9@+"Z[(W MU'#D4O 5P0E["TT"- N?#!8F% <$)?]3# M\_&!48/GFZX3]0(('F>"?D@5O!>!"31G3RFC@[$XIR"9'@42CVW'0-:)]0AK.3I@JB:+HK:!Z0&1YHB[D"*@Y,S_ D MXN'J2@3V/#,TU8-_7\&#=PEAVY/^/;[GZM%>CYPYU+'5J::0+U 3X LML#5A%=AM %G!XNFYQQ[\&B 4\P %/,!S>$]O>&'"SJQ9L$]F#J9QY=L=,+7 M"**> %YK@Y]L18.6UP:K1B!U^$<+0) &"7#.K6SA2NI2#LP-/AFNAW8 >8$& M@.'#7-+Z/%BP_1E:"UYL\3B_P"XA5KJ&HZV?50V(#U#XXMR+0>!KA274 ?B& M<,RP0UX0X'B38DD^!("^ #A:!3#PD!J +R^%A6D!4PR7RL=.SH6M_*A\T;U) MPYGV)C5"+^#GP/)@0@JJ#M0-^TPY[!#@PZD 0*9!.P7SZT4_WA)M>C80/-X. M@>PT96"DZ<=5.1T^,E27AU3%W(%)L8 &B*( A>,!)E@\O.&=.0 N5^=^V#9 M^KTOI>';0HU^TOL7C"#4^V>4U5^YX;/,&9Q.;[Z\TQ^"X:&+#+PAT"((.#4E M)6P%S8#-?%LP@">X$D(O">R+\^R^9Y86X?)6#R4+!.@"O MP)D#N'#MP,[#ES_[5LW7-;BJB:&WXP;Q\(49?$BE[KK6 MQ&@-9&PHSHBT@&^MCG[70%\LIPAZ_9C]%U>VP\, ;Z*0% $Y><+(7O8 MU+8(1QVR,\YBV^1Q]R0#\SLTL;_4:? AO%]14!_O),I@9R*6U/Q>.W;;2WWD M-C5:X/JV6(,BCDJ__/LQ?HP2\!.#SMBRF-'V&=^:?U2\__!\N8'O6X5ZB5W: MZF!%5/3"JKV+3(.^U;C]7^�-]!SXPG=VH&'_WUSYDVG@#&^\^YKR2Y5KBN MK( 2I5 ,.)0K9VY['H7MSB T.YJWA()_PF7B<7IF@N%-38#[+V3UKW33MAR^ M!WT:3Z7@;TWPS*6[#)(4GZ:[I*>[&#%T1+"89>U[ L,5$%Q]HJY0Y#_ ME'E3]"9M?:F;'<])0\_35/B"<(M*M\[5]XXB*8BQKLQVD",]U-Q@HO^!(//. MN1?V]YO[05*;#8PO1!.!B+ZO+ZJ[/1,[]#CBWMKSZA-E?\>*HA2C+O"Y+ MTTPQKS+", ^0 \T%-G(M!.B6"@KPM)) F_$#56];!'AFP+E3,V!BSE-PVFIK M&EO9]_&"_-96 &* B2U9G*^TC2O;3SQ%/\%S[3V'NRF!PQ[QMO3UM](7>:R+ M-)87Y 4)I:@+A>@!40H"O6 MN1,>E;4+$YRN_1A=G<>3_J4M::]S,X#PR[7@.>&S0^JT^7RF_?_]/Q#X_?-? M\$^H7:(!Y@#68,Q_@K!A;0B'']YF>J HX;7TN+>_#'Z?^RL8ACR@)/@H*$U! MD']#-3][[I.'9400,?Q\J?8Q?,+-*S>>WNN,$6ZT\RHFF8UH]_(=[__3R;P'!NO((45<[, -#H&0]K?@C&3CC8P6BS] /^ M[Y\SF *P?B!AYW"O[A)YP,E_I\Y^AM-R);:EL,^) TN%.Q_0O$] *_QS)OMHL[B+E:(:Q"^(V: M!>QCBKG\=)67OP%8);DP,0[6I31PTN>RY,(@W\_.P9C'AU\PB88 -#<-'<\S MX XWS7T,A(FY-E #QI1?$"P_GC!@D@, MK.'7',^#.<\ !B&FG^H8F$'>!&HDS Z#R06VJJV"Q>RT%/C["DM3TF 6]')! MM(.\IK<[ =<#N.<"5@0P94 YK4,HR^ QWDS"IYC6X[C""HK'G*?MI_AV,'L( M%A59@E\1!7N>4@QSEXX:T5E^,YAX/U<8N=QY4PQ3Y1+HHPW#;'^^X6+\Q[ME M,!VW$ARX-W>5_X6Y8AL6E'C92!MF4:&S!:M<0M?, SOP#5N3@FOOSNM?'B7@ M*908Y*__$Z2NO34I<'\,05O:?P.3 CZ>)GD:)PE+L+(!,P->(? I8*K18&-#O+%KP8'[BF;K#G>V&-1\_3- POZ6Z*P",.MDY.@/*LIISMFD !:2O_ M4Z^R*=AD,]\R*Q!Z_!U5@ *JE][V]G0%K]K VZ\)5!VF,D1M[3WV7*4\F =C MTE9^P F?_9^Y9H-5!#J5 )V@XQ_L^T!O'J 5>,;?_C1ZV\JGO>A3VAV.QO6V MQITYS&,#HTWPYY]"-$2 I<(UG*!&X]%S>-P !59TUMRTP@TZ*%X_VQKJ&EAQ M_"5;/NV9!<#C&^$S( 6#5-]JP]W+8$/,JT@ :YD?YT&W+:A6\->D$"Y.K_>A M[5=?MH-;'K+NK9F>7?F_>>NN84#H\.>Z+(\ 1N./R4N#^!MS_LQY-NC%IZ=Q M/*0*_CSYH:_MSY8_A!FL;UAEGAE9^N376;!"XC2"P,L+_+FPE.(R0'Y&(!!# M N@YU4Z\Y N=[W'9I^H+!^" XV]&!YY<\%6X)?U8A)&JKOQE0UL%"8#T2_V" M4K[>2O41W)*?['ZFK[9'88NKF@'H-(7)!7GO?5<]SQ; CWT7U?-*(_L&Q1V) MQ\%"#. V+ ("#SFY@TI0H/K,]N%IZ?0VLJ$FVNF+NAU8H0!41EH ]? 4R]M? M\1!NH%/0V/462'; !B90!0UT'.J@N_;2=.=M3O#V^!(_9K.,@P?C9SMU)PWSP/01#8+4 MFWE>G74F]PCM\_>]82K0;P44VO\H??D5/\D6VF:8Y'O4]:>F\+3(RZL,>=(T M+*Z F-.[KA0!7U=<+Q3PGV _L8(G#I+UQ %\+$;PWW8U?1 MWC&LU'RN&.94LN-'[$#:,%T<#F 'T.&SB]F?.XYRMIM-_L:N9U0%;>1N1C^< MB>JJ$\R#OXEQV@BESK>ZL\7U<+*;I[%A..G6Z1Z;7F&!.WZ33=P93K (CEVOV]0VL[LB!.N["H M__K^T7 ZGY8J TM18'0@K Y^Z>]EZO_1$I^@'BRP$OW4S>I)1&.8MAVL@,$W MTR&*+/SR&:_%%80HKF&<1_'^!N]C, @[&!H:"'#.ONQW+'U9;'J!/1&E>J#G M<#'"D)_ -[' @Z6;'E_1'^&OH#]Q#<+OGF*) S-GQI-ML/O!;X):&*; M1I!>R <[U?VY+#L7A5U1*'2JR?9G,;JC?NEX@(&VZ7MEL+EJ!>T@T(9.S]GK MX#:EG3K*EGD-PTF8^ _CO%"?]+2&)@[52K\"2![CKBF#3GAN1_-G:+C:(?W,@X25."Z MJ][NZZ6O;WO!@OULG+OS L%5"$-BD.B>R1!G5K)J.GYH%C3Q-U6@VV?YN\&S MX CP0XKY4)G'8(F'9V.W&]H"=^KK66A-;6XS, I MX&N%F&7@,2I*M\!P3 M6,%\\BU.RQK<*_(W5S3;AK49E^F5Z![!3Z&7$2;(3\424IA%C\@B[/QW6;+D MBD_*WJ.5SP%&^FD_CR-$G=L-)E#>BW!ST9\';W_QM)=W*F*>N9(JA]))GS4%@8^\ M<<$/GI<%:U^3I[_A(=47P,Z""/8M)_=LE5V=KZ<^AM M"7BG-("S%Z:GH']R'J"'T92?YG@2B?G3!7,=B94.GFS$>KH!]V1@%M?+.9SR MR #L'H]N2?):]IZ8'E8:8#-0 YDF\\F-(/WTZ/>8; MVWD.*CQ?MYX+0?(VE):?8(9=/&40!?]\'F0/D8 2@:Y"<(#'T_PW^1DOVZL" M]?7R/-5VMCN;#M+W\#L:7(OA V0I;)I^=.//S._//9T:>\KOHFB0KLE?"]6+7PH#B\)!ZCF4C M*76Z+G7"DU*GI-3I7:5.@N>Z\A1&"Z0LTSPA(3.>0($C/I-PB9UCY<-A6\G-9C8#O?G+EM3Q>!PA3MY&RD-,JYAD M:U ?P9;D9V)ZJ"#U&>H#4['#)R1=,/.+YNC>I\EAPR MH.55/X^KW [-F23/+=MX;SUOBA@][O+$=3\9:[\R!F)WRM77W86PJ4YRXS7# MD]<)Q]*FB@I97 M(R)KLD/A+7& :)7CK-4[3FN[*6SY=$2\*(-H14(%7J*R.$_,%($7L)S YTB: MD# A2V"T>*5];MGI9VK-B5X8ZUVV3BZ1W%B-TE-]R=6W5:P\9+%C;=MT\+Z0 MKW6C]+2R;KITN[DQ]'+/P=I3\S"L9M4H/>VI_(&[!T^WLPF3F/=4@TU2D_% E.? MCAU719;XNH.MV6IE6(C44VFNL5K%.9+(C]+3."8P:YTA'U/NUZ@$;U(DIUX M+[0OBP#,R8HDGYWA69Z@"83/41+" M9]$IBVI(M.-TJD!KI F->\[05KK<@&,&%J=>:Q\I4S."R(+^8R3)$[D

=R M L)3= Z@GH11))V]FH."5D '>I[4W85@C+9.54!RD=BG68PR96OU.E>>=L=H M[=!N($0W2OL$P1B[1&.+Z1C&-YH+CD8QFSXUH?C=2^AHTH!9&K M@#6:TZK.>J:LMO-(1)NR9+,K94::+I?Q0W%T*.W65N3*VUY6Y2:K="E=5H;[ MRJJX:VO=2.V;*^@^OYOF!%;>,'2UB? D&:U]/:O:UVE=M)"V,6Y02">K9[:1 MVC=5JRMG.<^0['+++89=H"_:[AS[?K\8'ONM8GC\LRC[8IS2$(6U-[>7^VQ> MQ'[:8M->W6(#0?8:IIY@"LI+6IF&8>X@E6JL,T=.0*W@QZM>< EC54-8V_*/ M\(>?-XC2PJ3 V2>'QRIX'BV&$:\_Q*7@QR4CL,5YG'!DGV^ MP_/RS-,#PFJLH'8[(&+RSRQ:"W1;D:I?$L<*W!D]# M RCZI5N02/P!HUZZ/NMLZ^+L^; 2$!Y-#646_N[Q1?[PMZ<@+^R[>>" 30<1!$.@#22:"B(,@T(?$(F(AB ?J MQ=MM$T%\FB!H.A%$' 0!3.+%6T<327R>VY2LUG$01.(VQ440B=MT4T'\YKW" MKT;4GS+J\+$%T,.9I8''5&1C*\->PT<**SMS_=S?F:4/C76_U12)I@$_]&YZ M?*-%XP_HB]CZ[OG*K5^H;0Y>\M*5>N&!I?_]%THA/W$T[?]PNE7O8^./1%TN MU>5EY_2;J\MK+F&B+M\17;[D,GV:GJM1?X]U.'V7)8O6(7?$[?$W$*_E=X"J&I M5I<B-KUI&9[5P/_ZAT*(-$I15^0I-W-,[JW"]S!=N,]W[W'? MRG2Q/]UV,5Y=-J3I0=]EV,RP/6]E:V@#6W8_QW8;R_%AO!XP8[8P7NWEJHIV MY1&T7>JO?P@,29/H]57B-_,F[ZW#R;*;++OO,5V4=QD:D6:YOJ7+5;W2ZBR; MM%W^)-.MF-OCNJ#0"E)@QAI9S7+[&@:/,]+ X\_AZ2QUS5GVI3)B/=F[O6=@3X M%/GBH6UOJS6V3R/9!C.8$HL:Y'S O71#&B=S'^?S?W>U?J60[WL,\K4BN6]G MO#=W]-]LO)8T,)S5>B9P\G$]6G?HPWQ+0'H#"G*=@H"=N+[J^2NDD&.AUW_$ M(/^TA??FGOZ;;;>5SPZ*V'B(L5BQQ_1P:E@MS"$Q#@WON2;2-(W G6Z5SG?ZX.=OZ=[ ;/C ML"!Z#^+>XXT1&-P\='D[&)3D_J&"U^V![B)JA1-*DV9S!VG40.R"H6F2(I+] MBL0Q2!R#KQ,*O1T+-H,&SS<(:)E5KP,JIGBRR8';#K+KZ<[W@*!C Y@DJCV0\LD/KVQNR%*_=6^@^KC;KWP&)DS3>/ M0MYFS:B]-I3-9ISCW)%$#@>JB_0P!E@SB$ HE$ICV >&(-_>FI.E^<\PYIN' M$6\SYN%X8CB;"DJQ!ZG>00RY6A&W<&FF8?TCGJ;(E[9"GS Z_M\32L>$+?&< M+5%;B9;LW<,V^[*WD7K,FM5@($79_V]U]3MZ=W[9Z+I;;+;L"8ZPF_&$:&SV M=),MP"MI<>3A>@OO=-DHO,!."!A'+V\"Q2"S,)"#!J_-\^]XG ,S!PTN:;N3 MRPA?8NZ/N"$[H>]/2)2_ 8GRY86.\%K,TT690,?A?:SVDRMTHZYZ![@"+2#M MW53_T;SA9RY*^/]9['KV I4Z,>,FZI^H_Y7Z>W=/B*(%6;\-$RBZ=Y^K#2\N MCA%3]^F"^V?8NHUQ79WN[3JAUW?<8,EVQ@MST_T@MNXOL9A'K=Q_!D,W]D 3 M"9_;Z;$)0_2B($DL <,3001 T$D%-UQ$42"33&11$+1 M'1-!)!3=<1$$D$2R7-]0$K];Z?=:3/VM*&*_9IW@IT[1;2@$OSZ)[H?%'XFV M7&K+R\[IMU>7A*+[]]0%^7B&WMA1=,=BE4XHNN](ROO5.7EOQ=#]XR=#M+X?W/J%:O*@O2C@YWKF/>>]QWZCXW4/I/YHK M]&9'T5XO&PJ-L.?;X//%[^OYK+T=8MLQ(LM==VO9"YMP=SYQ-T[A:?3%XO=W M^BOWUNP8,6LD%OT5+?IFQ]%N:-'LOKX\;JI]CM54PD'(,5F0#=6G\\8H.ITC M\80>(Z'S?G;3Z<^VZ)N=2;NA1>L6V>/I(MY"-+:ZF?!,I9W;,0'+-TZD\1?9 MK[Y 4HV)K,?^"LFQF"#0U<'2;\3&<^?L3MP ZA.#B, L&\ J.Z%1OG",MGYL M:BS/,0BU[!6UAG4@A?W.IP/'TSCZTDT$\LK;8(>EDW&IPRGT@B=4%[YVC;*+2VZ(X)^U5GU<<&#AU2U;Q>.Q5W(M=[\\;][-;&7NVNF)=JDC+5E\WLEMT5,E7490)F<8I*$Q]#S)=L M@,3--A(<^-KASCMQP*&VIU9H%>L<,,9R!F^38 MPW49V\EO*P)Y.'\'8Z1:97FN.,?>6P +'#R*T)3I M6B=F14FS!56U9-5C%=56 )^W@J69KIT2P4>J:8$5\BO-[D<3$+%>Z')KGM'+9+,\[RU%>4GV+U<#7),9YH1T/FZ$?1*[WLB": M?<:#IY:YRL"?0WWQT-\.=,N.I+/[!FRS<:+9(W(/2$+<F+ZM+,)TWH[OY8-.)+]T-\4 0=Y?[>XRDV6=NIP4O MNE.)%L17"X)]C403WJ\)=SY"]%Y-&)B.8-QD+;QS+27G! 5--UO@[CVB>U2' MP@CYWN.^2?$G=J^AW+.V\[4]?MMR^*:P,*VP5L5F]IK-P^HY\+D-D*,O6UM- ME!G5DF7H,9X:-CT_F@_J '*]!WK6UE6S;@8=Y]D".64G%X./@VX56<:X0 MZN'("V+&"3KD_%A:9S")W&B0\BX\K%P-H2E$E0YO-0!CB>GP(T M#? >HJ-6N8SJ")MR>5K=VV\_XW8;H$''?*&\4AP<.;0G".H:V2J*,CY#&)E% MTKDD>B2.U7E^ M:7*;Z7C<%H92KSQ2 \:Q-)Y#TAA^0S: >^P#L"O94@]?(0D9(PR+$T/)'28! MB\4LQ!D+/S6P\TWX*9RN"I7A9N"B%HO56],%A5:TMG-O.!5;,BE5G/J0'0VY MYE::MAMNH^M3HV$Y.DT3N8]SN+Z[4<;")N\]"0DRQ2T8C *G8<[(F*3=G.M+ M=C1&A^M& ;'O#4ZU?,TVZ^VVQKG+1HT7>&:H; ):-SR-$&0:Q3\P'OSNEAD+ MP[SW) 1Q8P)/MP@BHY %Z6%9P+EN?]CG.5@OZYNYY)GF;5ZSR#"GHA:W( M9W S/ZU4&)]/#D_C.)E&LB\EM%^/(AUS':/-OU!]4BCFO<#;TDPEVX OB^^W MTV9W9TWY[;S:R^-\-G=_]X'&&3#?'VEVT?H2+S-8'>GOJ+K:L62W5K\W9I;0 M[7C1FI@V=VATEWHK;]'KK.K3T6%IA*;3&/TF(JH7=3 >J?E?YIQ-<"/!C;O& M@=3"SE>H^DAC-;4X-W:\-#N6WDY5=1OHH.CV[%"953KZ8=#6!]N%.)\45)_! M#D]3*)5&7N2N2J#C#X*.9_;Q[C[0.$/'+Q >?;[5]V5G86%[E=,S5&,RF(7\A)WD\+UU(/>1@1+7UP$"5M(PA;RBZ-. MV$(2MI"[L(5@"5M(8CH)>\37XQ!)="-A%OE>^I'PC<2@Y/!GPC>2'-%-F !> MNVWGWGPCQ4%_2NT/=A$IZ ROB=7M9#RY=^6 W31L%9EI=619[ Y'<[(VJ^I, MR#="T6B:S"9$ G*)"AS Y3Y)+Z17:V$Z.V232$:WS/%PJ8[/0KW+DQL9:4C M8=2P/E)P1;XW4/I+55=]OA$,/.V$L:OB#$)V<@5QKP/'CJ3 MMLO7UC2.R&:)Z;:7@M[N,_<^'4\:2-'J2WUV5!BB51G!%J56-R0;03 BC2,O M'7GX ML("=E(V2YK MBS&Q99>%&M+0Y%:.E.\-3BNUG,W9JS[9"/#U*"*=RR;P M]%$%K-]CD F9R V#Q"CD6&^GLRHUTE2D;S!S4FAB4FMQ[R02;91UAI*K)7W3 M6?:SB]&4W\BJ3R:"I7&:2F/T2Z=;$S*1;[['EYSL34@![A=)8OB(GV*:H+*R MY!;HHIZ;3-KWSJRUZ\BZ/\V-):[ M<5ZCZ%+[DF)WN7)9XEF7*M9!.JN1I,?@].&:%(0\HN;X\CG;VW"HGJU2Q8BS,,_7PE(&(ZX/2\%__^?)4;"3L4$:%-/Z$5K4V02&<^,9ERIG M_)-F@@(Z\$,P=L+!#D:;I1].^90?)Z/$O=@3><#)?Z?.?H;3-H00Q^HIT(G ,!>"_U#PG#\44#_%5)S"]KWOP;M M0F21-OP9Z#VP6^-)H7;P$8CD/3(;4TE!0X79F%.,*YP?E(LVB\NIOIK!LQE" MT0H7(61[-\#B,5GA (D1=0C.9ID29P6B EBD3_\OLAA) PT9;= M/%\=3SAA7.TN)!(K.,<=Q+3+E@(U:VP+C>E6WU"E]KA';8M\=\=C/'+9H.M+SJ)^&,*N,IA1!(GU160[,@%!IU6,-PU4_9+:PW MQ4%GB+AX8YEOHUTQMX?/O.HG+53M?$LY-!#7W0[-H32N-J;PUH"K?I8[I$X- M<[D#*Q0;/+EJB1/A"&'[JN4>=6>*2V-#UA4&\D @R*:&=4'+JQ&-\![.CBR\ M@I/;EL[OYN)JC M"TC!$6A*61>F:_#V".T;FZM.L\8>BESA8!<+QLI@\4ZD]DT:PPD_HBF*/63: M]=9 '>G6"+9$KTS/Q-#,;%P9#1$,+. &O6FO=7D7I:C.UA(VYPK!D9I"[)F]:D?VC7CVJ4HC*'0;YS%P_(-O-2%S/2LL15/[K(?7(X7%6U$MYKHT>%LQ"F6SZ4R9* MIVF$S79WF>P"Z3-[E]/6^VE5[4;I=+?5&W:1;6%M[HVV/LNZN(W4Z.ZA* MI2K6,%EMI![GEKY4VYH:I=.9&M\H'-EF!2EO&CA'KWI5E^Y>Z32L7MIJ!ZM< M$"CDL#"D?K^:4RD<:O_%X('68UD:(V5>$3$ O@0I\#E*0'DY*Z&TI" Y2A8O M'\[*IT>K9=M/"JM)(Q&D'P+- MV46H4BB8C47%3M;9Z*4 MVBY X]OG-IU.;R6XC"4U(Y4Z1^4TMR;1 M#%N>$_;1RHU M0K>I>M'H#G2YRRW-5E4FS:8:J=39M:LW=4U@66W86LUZ;:76U",Q?=RJU(V;(:T91PQ-IE(YX,:XFIIO)1%_=!7 MAD(O=YC.^&Z4^@-W1NH_$:GQHJE51HB<4WDQDZ\R M\TRDGR+GQS5^WK$V8YI$8UME"F-AQ6*A7'RUV4 M^E,';E3.8=V"+A/KEJNW:A0SC?13JFV$0(>E-L\)--+62V:^,=U%JC^3E<1& MJ85CNH8;C#8MMPN'XQ/UOPAE_2_.^&4VO]EV\WV-*R!]MSH>-15Y N8$-,7_ M>O9;Q,0L5[HT!,6%L2#LZO((B$2^KN(D@8 M[KZ*)!*&NY@((F'?C(L@$FR*B202;(J)(!)LBHL@$@[.VTKB"QR>33@X/W0. M$@[.W^3@1!,.SL1T$I[%K\?!^7N*[]O[];]7HTVTX,NQ;<99$Q)>S1BU5S'JDF3A%IFB:_+]O=+Q^=2;@R$_"X,U>FO2/8;65Q MR.A]M$50.[NXFK?NC1\UN5K'&AN,9K'"BM5G8B./4P%7)D9C:9IZTZF[!#V^ M+GHD+)A7Z/$^P[?V2F\QPTL,UU\TLZR]IV?"XMZ&/W.*2YTZ3%FD7'&H37LS MR\C+@ 4335-D-DV3"0MF/+*("=?F[]@CY>Y>=5:B8B6SRF8H6X.DWS79\'$\%PZ1Q()S5R"3 DR?:,8 M+PJ@B2SF$?>//*=[?,A 4S@9_?"Q(CR;T;O9I#CXH&6Z@W\I/.=,'52_=&#CYC MYBN%CNCJ;D]BZ%J.K^*#G<^"B:9S.)VFLB^EEQ,6S&1'+HY,30F;70P \_V1 M)%G?F,,.(4KLJ(_T*^*D@4\R]\ZL*7V%WNDCI: +NJ2HO9$@;NL!"R;TMO!T MCGB)U"JALDMPX^X#_:JX\]1][;ZC:(:2H/D,LBFX72/Y%#.#Q7&9\'$TP3DOL5?O6H@9,&,2=1P0U72 M5N MS@^>PEE,[P4Z!_RFF89@[._4?;95RYJ9K V6R M__[Q:?W[@UA/\.Q#CDC.R<7@Q"+V@"2L)W$0!/J 4HD@XB (X!,F@HB!(!)H MBHD@ #0E%A$+00!H2DPB#I( V)0P;L1!$.@#F4L$$0=!X ^)(.(@B 2:8B*( MQ&V*BR" VY2P,MU0$K]YF./5;-_7HE7YF&CV:\W!B4H"1=_*)4$A#^A]2P0_ ME98)?Q?I1&!"?RPMTP?;3GP)5["'''5WN;_+2+2]+&76EB;*B3;<0!MR7UH; MX#;]K97A3^5B(A_P^S/UO4<9"J;M^--CR=IRYEHVW,WV/_D/^G>B(>^'BZ^M M(.\GZPK]IF]%UH5\RZ,!O[9!?N]QWX0TP]MA_L,Y,_ GI7;XZ3A45&%<7K U MNZUT@-\ J^-@]6[8W',OX1_D\(LW(=]I2JC<8,ILF]-ZA]:ZRR#]X_[>IZO$ M(37C"*G,LP6VHBB]1I/JBXQ/WH73:#J7^R#RG3\6<.YCIA\"./<1X3="'!\J M0$^>H,UMN+ZF9NXX:B"[/C?:D=-\M5Q98G<_!IX;F#-*98T\JQ5*=.Y 5GBC MOO.YOM TD<72.?2#N *1&!PPN ?@P+WL>X_[)H#C;08G>/-NO($A$]]J]O2$9XWWWGS\P-_>&4 M7WY:*:'..,TINO4&R]X[Z["-6RU'B>LR-[)G4 M$/8%EFSL F9"B*MI&OFHJ.^/ *H8V.B])R%(1R5(%;O<5!1,;>LL7J+%DL&Z MU$JRL9:-(^:]H\0ALN%VM975TC%G-=+;\_RPSC,^1R&9P].Y+/5Q4>)WMT\_ M#_6'@Y2?PDHP*J[YK"BH(J2.P\R-;%[O5[1L?U]LN77\WE!E3LNF5IW9E)[! MLCO3&*QU9AF0(I(8B%7I7 )5B3_U_L17@E6WR()%X0K2P[+F3F%=MC[MG7L72%(:EL[F7+C5Z*W]B'-#F M5OR)S^P>WMVX;@\BT4*[^T"_$8J\G,9"L!K=(B9%A"L(:W%!&T>EL;ZW$S8I MRM/*OMJFV(,L31V#RQUP6?4I6+$T0E)IBG[371FO04@,BA5N!2'/5#W=W;)N M#"'/U43=?9S?#4%>2S(U^MI\DAWE-[K<-:OEUKR+,W>_636_.'1J4O>((%B[ MYC0MF>KGU@&K*YI&0#"7PQ,@27R1E^J<[C[0."-)M;(_; QWC2,9\]#8H_8( M/Q[O[3ZX>Y&K(42VP);GS"Y'YJA]Q]X!JX0#$F8]X>S()VU+":YCII 4 M][SE[R&W3)[[/U%V;.ZT/& M$ ZFZ_Q08+Q\/E'!< *K?)J<>U>_+A$&6NK+,).[0@GO4.Y3X+J D2O&D;=V MU_\5/@CT"IBD\82R)/CHKW^J*VAFX,D.>%H*($8*6"]XH&!XOXC $TB='RY. MK0W73BFR?*( MQ].^;2XDJ,G)-\)[5+"I/L=!)&0?,=%$ G)=SP$D4!33 21 ML%7&11 )R7=,))$PZ<9$$ G)=UP$D9!\QT,0"33%1!")VQ07020DW[>5Q!8J#$\KP[U/1B3VIZ,1B1AD^GJ-NK6!)8U:P MAC77Z=LJ0]Z;S>E0'VR-O.O.?@$Z=M M"-&9M%V^MJ9Q1#9+3+>]%/1V_]Z.2=$J=!N&E&60MGC R7%11A>4>B(81S B MC2,O@<07V#M/",83@O&$8/S[9*2B:.NJV8PRZ"@+A,-,ODGV)*?4)^\-KM3> M/72-7&_"'81-87,#8[N'>4R#>RK:/<:4IL?=WJ?>-);B3M/THM4I ML/(25\@=V6]7/2)@&D2K-)XFL ^\,>^[6VGB3R4$X[?-@D7ARGH[G56ID:8B M?8.9DT(3DUJ+>[M ^?U":4HHF],U?(IO,[,II=,AP3B6QFDJC=$OA6H)P7A2 M#_%=.,;?7*%U]Z%^!=B\5<)LG*5*BT,GX["RW"Z7^UVQ-,3N[9]UD/KJT*[O M.01;,8>N0,E[;*#Z-.-H.I?+I;/T1WEH,8"=7V;W?/-.XMU-[$/0).$;OV]6 MJ[!1^/61DQFDO2T0UKY\6!'RO7VR BUDQIF,0G#M0;>Q&-/;=1/?^7SC:#J+ M$VF"^,";[[X1EGP;UO$WUTK=?:C?#4I>2SXMZ=5^;!S(-H)E!+>0S:])Z>[[ M<2NJ7U;)AE1E#Z5A?SJF^*Q1Z/K$XUDZF\:IEZY23_#DC_1-$O[QWP8495S4 M2&U2W[.8<.QTBTRO-GF((IN*A#<$J5[:G/C'@2^!(6F23OC' M$_[Q=YMFPC^>\(\G_.-?FA$J(?G]ZH)(^,?C(HB$?SP>@DB@*2:"2(@TXR*( MA'\\)I)(2'YC(HB$?SPN@DCXQ^,AB 2:8B*(Q&V*BR 2_O';2N(+G*%.^,<_ MA\XRX1__1?YQ-.$?3VPGX1__NOSCOV< OMU?_WLUVH1I_"LRC<=7&;X%I[@_ M/>>[\_XG7XA=/+X:DO"(Q^% V\^$1_Q#C[%]R=K-/Y[!#GU2F8G&C$>\ATZ+ MJ+99C?2E,YH?CHA*F95['V%K'G;Z.,=-VJQ,0Q,DT1'U4D M'@/ ^?@B\2^)(PGA]SN!Y",)OQ5UU>SUFW67':'B=BT?RY91N'>U^;%94+P3&(D9CW=N5,OCX]DBCV2Z^SZ- MD=NR<;RW3R*B*MGO5>H.JTVR>[>N;T?]3,#CC>>H-()\U-TFWPM+OI-/DM!S M/P=;E;(3 V9ZL6DQ MSXVF*3*;ILF$GCL>VUH)/?>G34)"SQW?1$\4Z1O&*!C.EZH]_4#VK?D>GU'Y MPKV]JJ7(6SM"W1Y9+-\SC@5V;D_J)WIN% /8FLLE]-SO\[82H$KHN6.928J" MJ8Z4<\0)56OJH[VIUP>6.&IF[\V#--)60LNF[2VWU'NMC$Z(S:K)^/3<.(JD MZ2R1<-Z^+[WTAX-40L\=[S15%%0U*[U*J5>;V;J\,E2:G!Q;-??>X2J>,_A! M;?^*F4& MMP>.E_F5O@\W]\OC3(BY8Y J8R5U/FNIU:D^6HH%M],0NBWRWKFN;-/*&G7. M';/]4:&MEF=H84-U0V)NC,33%/:F7->+"AD/M/GE#<370"2FQG5[$$GXN.^; MQM(GK>QBNFZ[K-#.VFM\5N#)^KV#N\Q$8_/,L63K95,OL"5.U<4Q$_)Q$V0V MC=%O*HU\#4*^4@W"*Q#R;9BX7QYG0L,=DR23MR 8#6MZN8;6<% W9"&.T>EL^B;$MI_$(S\.9Y(PK[]VSABC]4" M9N +"L%:PKZ=L&\G[-NW9]^&9@?;:2M7\.TN)DF_&Z*UM@)O<7[@U%7]H2#.4Z8" MJ4?LQ^E*.8,E"#WHJR=S_UMK$Y*.0UWP>N; GIBB!MI*?A^$U%J 5N$: M@A79H8=4Q=R!?ECI8!K\T8,WG;H,?@%SD()F %7D]#([M9N#0>S@PY9K0P8= MA+W;F98.%YF4 58%7S^=.1B/"=9+;07G[#0@"8_PO>IWS M_B8+U@JT POULZ*3?)&0EO>A#7!) M4X#BK!SP>@4LK%X?5[)J.GX?P0(O0WM=?WO3O#&U5BP[Y2_)9VZ!: =@ULU M\Y^29J_!$OG# ^*+-16_\#\PY $EUYKX9-B[]N2I#U+ M08 19_M9_IR6,AAY384&__V?7W*?SB8PG!MO#5?EC,\C)RB@ S\$8R<<[&"T M6?H!?W0[PL[AWB8;\H"3_TZ=_?SH3YUU!U[P<#9S3^YX"+[V])J'\,-7^.S. M_"8,?:">"IT 0="UT#]DOQ%_%-!_A=3<@L'&OP;M0J0-O.JQ##S%UL[B4&=7/&Q)7K84QUP#-_O* I$;_:-4_/_9>],F M596E;?C[\RN,==_[C;V?T#[,X-KG71&H.,^*TQ<"$15!0 :G7_]4 79K:]N3 M ]W-B7/6Z;9+J*K,O"HS*P=$)RKS!AC)/!^IS'&3*2O4")GWIJ5N;61NG 1, M_T">CUQ.C81,,FF*JRT*Y1;):94Z ;/6C^:9K31'R7P/<;EY(]&<885BEVC# MD4?S5+ R7DY-K R2H BUTNPL.PXV 2./YFGK(U;@*2[%SZU"3EF+M98RAO?S M1_-$5TW3P,K4EDN7F>E(DVR:33; R*-G5OE:==Y7299W.WT1FQ>,K(K ?DU' MSQPX3)-0A9R */:43C6VV+*S@/ZDHV?FLFDYO27:6\YMXZS0J&1'G3DK4,?/ MQ(7T7.HLC3F_6?!#4YL5!GU]!48>/3/#3( =+!AY)$V@Y46KHNK=\42@CY]9 MY2?I9G)5T1!Q8&]$4K+3D$;,\<@%+TF3;=LN(PFM-!KG2H7IK#H14.3$1#&^ MU2/QLL9M9J-M <'S5=8%K(P>#YULB[.Z2'53JBOFS *;KZ&,Q,*A1TSB4*YJ MM-J"QE.-Q7B9RHX&='("A^ZXQ#?4JT#A!>K16?\$?N"?P(5"?KU9:*Z)(PEC M4UZC=A??;E?/W0YURS#!V;6I:T!-8O41MW 5$\:I9!1;T@S;M>0V>&-*,R0U M\#(,A2:*VTNEXKI\K<&0S445<12L\0MHFI)H@H<[EBM?*:+A7(6=*M#/8Q34 M#%#LW]W"/$7W<56/]7="HMW=C;S'1.V@:=-M.9,%WUHW"*#8B$)K=BVBGC<5 MVT!-'QL:L!C (1]3H&D(3+XY5.K!06?N4U;>+2CVMZ(#_=YP;?"Q_<_OF]FU M/ZC_%9E\8))11>)/6BB7*=)-18W(PD$()*K1'09", ]D!$UA($0$3:$A1 1- MH2!$!$TA(40$36$A!/F0C#K"79 2[ZP_\ZHA][5:$UP'#4)?2YO\:"UM#/'( M_X6+:;_0L.1"5=:_*F=<"8RO?''Y6JA/&GQI:"G@P7E96\IP:? EHFXG3F[L M>\ CPLT02L<7:VN3?*"P+PVF\#[AAR-GQ 60"["OP@5? 27]4_4+,P1ORV-7 M\P6FK(SE3_4N"4[.>V>&E.&=(?S?T%4T^"[[$MG^/K_?>VWWJ)6"W*<\[L4K M_?HNNA]6Z)>UA=IX/Z9@EQKW8M1 :M/>F/)!?CZ4*# D% M-'@L7Z68#5\N*,;'DV->G%#.,FS[1![,.)4VZ-JBUU;EL9T?4$C+[-N3H+L( MQ<3IZU2;I3U(.(#@&N!2\F;%E_,T?[ZC=4O'UFKHJ6)0QEG>P/!O49WVT59SU\ MS*&-VNK7'QR)]671LG>\'&S#G]B7P)2(!%*+:P\=*"$E6%SU/)0:9"TQFWD9U M=<(5N"Z5J17586:^[7V\O,R[)9O4))H>5')S5>3G;CXY-6N5],HOC8ZA<9Q( M?A/)OK3"?&?MN"-:BN':__>K>VUKXS',#7_*]?@V%MI/==5<^'3YV?Z:CZF2 MOE ]CM@=-6NYK>+EJL/5BEQI)-B+K+"XH1(Y,GO=<KB4G M?@%5C(H3]%6Z0D=@$('!-P&#CVF?I\% JE YK+[<2)R(C3,$3>,KDKFAWMD6 MMV9JJ^@5)&T/C>V:U?09._%+H6)XG"*OJ'=^&Z$(K>_V/1Y;VW*$IJA/?*Z% MOU4479F[\V==7C[/\_(D3Z7546_+I^O6>*!WA:' 3$YZ=#>R:'W.G8M2O5XB M6:Q:'):;=883J6BK>N/7'_S(CYMXEX/[Q':)ZZML%[)>]\UAO=S@-M-B>8V6 M^U*]PE[/ =X3VO:TVUPC:D)JX(@RX3,FR?[Z0Y[V?W\I]W?:T&W'#R'(7>22N0SPUQ/[:)SM%[*T*VJ=,-KYE:C MM>A:BC-!7%M>$-*VBK?5B4!!LX6BB#B#7S'>))+K2*[#(M?O,S]>E6MI8TU* M.KJA$:JAH G)6J9T]H9Q9*9=+I6J]F+#NZR1D;BN7"@[#2#7P *A43I.H)'K M.Y2N[WL9%Z]R=*DU6&B#3:7 N;@]H1KIP2J[/ATQ\GG[(MFHB>-:2LTA)635 M2*)= BE.5N&R+UX_VT6LH;375$U-;/'$9#5R$]UBXWHFAJDR&6F$%6M\J;6B M),K*#-+ OR#OA!C\]5O5UH&+%?\:&]\&P_*3W6GWG[=D=_UHY4.P0/$>99JDY[7(M:WU#:R;;;VXH&B&7JE*:F5E-$GM;%M;:Q#V_*TF> MZR 1H4:$&A%J7/6VYC1JY#JB6',M.\G/7:?8HO2R[F1N>'4[Q>523Y@Q2U74 M795$M<1 GC8 :E 1:EPOO_1+7^M<_\B\@I'@A;J6L9S$":Z:3M<:^F3;K^GL M"K Z UB=C&V^UU6$HL.:NQ-+MNVOZ=NXVYE^O^3O,&Q"<,#?>1-"=-I_#/#V M9;&@UP-)#'"OF$PAZX*")A%Q*^97CFNI2=9/(#XT\ M!9"0@:8"SL0IZKOX1R,,B3 D#!CR,8OA+(;T:_G9J)AO%-76NIMK2Z,L[7 W MQ! ;24T2<[TZX+O;3F7363:*B^C/GHNK^F0_T>1\4/ M-8)#X3J+XI.^^U!#Y6V[G,ZW*I\ZM2:Z9&DY3-*.F!+[QI4:(OF/Y/^G^%M/RS^MYW)E=IMP^5Q_0@P1D>\*[@K*/]1;DWB< M^8U#P5C_F\,_N>%$M2B)3^Y5^51#'8> MC3E3.69/@:D'?C;&WJ^:,I8??S[UJ)AA/?TQ!KXY#S;C(?#-/@L:#@F_7I![ M%!V\Q?F-4\_GM6]-Q^2U*>M@AU:B'?O?"Z-GQK6\EPBH$*A/;6-?F2KDUYN% MYIHXDC VY35J=_'M]E"9(M\!IOOK>@1/:C_A=. .<&G>@C5T!*-EF^BTE9_\ M^L.0#\>.O1C8>@W\$+_ZMF 'VX()XUY&(95^:R+#-ZA1CK[Y-TIB&ST9(@B/7PP$[ M:S6I*S(,KV!Z&:5DA\^EB!%)*JFL*C< P]#G=F8<0(^7G1"3@1B.8KL^JC$< MC<<@\WO_8MXNPJ7%8Y9LF[($>RAKFXY@ MZ0:D''CP?\2]D>/L?,IG2V222U3+:H4:2W,I!>P6@7P^$LW39H9D-ENNA+%S M(^,2]08#1S+/1XK*EIC)?*/)Y\;E!K;NI#:ES$3 !.3YR%2"%J04@F^0.38H MS1.S(LU9K( ?CV3H]9"@EAU-39.#F6GRN-M)P,KJ1R/30Z:3KJ7[==YM9MAM ME9\1B]%*((]';E2N1#:+R3ZW((>IA#U>)%*IE4 =CQP95-MR962,=%N4,RO+ M&L9786V;H_UL(76KHC*CI-HB[$*R;B]2I3P+1A[MI\(U5RO:=1)JSK#S'5[7 M:G,4UM4XW$^!E$8T.1H2@C02$8$82Z20%"E4D F:Q@A2Q$B*>/YLH<6C#74] MJR&*WAJ5)HHIT^8*RN[SD>5LKILV^%:>6U#;IHS,R\2&A%1%CS:A[I@2B0U86NN"BE$K&@EW!Q(V>V4!2./)MKF2(/,=@25 MSXUDWBVB5'DKPI'T\Y&]:6F&HWJ+54L%KK+(IGN9] J./)YHNL2E5L6&,> H ML9?E65%K8K,5'(H?/571N[*XFLR1KBJ2YC:%U#&K 8=21]S"Z:VZ:(Z*7*TA MN5I[N;8RYNH4KW)66MFP%49"TF1[21>;:XM;P\Y;1QM57#3U[8+KC?E%4<]P M'2,U6 OPF<>+RF'V:-BBTT.N5B2I/BWB^56_ 8<>+:I".&/6*JP$CEJ/1G.[ M@B"2Y#WU:%$K"N,9=)M,='EE4%$'%7N\Q?O>VX^W M-,4GMME%L\W$]X)_;07,7\S'EMTAN1,OO8T1HIM:N+FMZ)K MBBXGAI#Z!U8&_(YO,WOV!F17?W;7YMB6-)5'KB;7QCN*/6//'##<3:%'=NF< MP68H)(U@FCG-YXM*8_6,0\\-!8?P,P9M Q5/FL+B/#!Q<[+CE^$F9LL3SP2% MBB!=K" M+/RC/_I<$IH\=O:= M, G/6;+'C2B"_ 7GZEB[MP9/0_TU?-@U1-(/*'WNDG.D+$^\$OHSQH#VNUW: M_>XY1WX/+5E4$S!O^E_3L!5([]^6K(G0*GCVS, ?Z[UX-U0J M,'"#(OSOJ2-QV5V1# U^^/__PGY]=(?0!Y*\:[8%\X8=/.=IYAVX7XK\Y$:. M>.;*/(,]H%^:9?QBC!&_W(I?",],^<(,TS8<43ODE[\=")H2-5&7 MY)CH/,;5^*E\.!KW?X A-1<3E'LO]QYQ[] D^7GK]AVGX0KWO76,._I8RPX\ MR?%B:5.NK>BR;;?\>TW[J9T(S^JC3/!Q4.2N4+1K5+&$8DBBE$F7\;JAM,R/ M1\CO;G5/1,,/ZG,*G] Y5DV89H7GJ9Q>!PD]:M^^R MC%#AS:C@*ZN'L- I=!LU7$YW.*7&E1.KQM;LFA]O<7P&%IKS!$'W\/%2==U! M2FMM!KCC!>91O_Z@*!.GKY8C$\'"3UJW[RW\\;# )I'1D&E9JEQ0\]7ZO)*T M5<+>,I'N-C;U-KF>=!8S-3?[Z0S)HG**(,W)],>/G=FR](V,, MQ;P7/(4D2@M7L6 A*M<"[_>2#4SP,&/T99P#]Q;>5^Y96&#:0[XPEWW9/K$W"H9TIS-J4X M==7EMGVS661L!X/Q_[!W&(G'MF(4MX!"@ !V$$[%:>J* MWI'O+CH_ A\" R?"A\]D:E]1P+6IAJPGM<%6K967N;IF;J>5%IO^;;H.PR,,3>7BBVZ!/=$'ZX&V05.NASF*;XJB.77J_"9)I.?T7%''XDH@H#U$HU0<8\ZA800*$2A$MT%70853 MEE%6'0TQ"!8B6(AN@T)9'O&,7'=7%:#M"XRLSK/+I)A/,,QPW !RG83EF= X M@S _Y39H-'-MQR^?%UT(?0ZWPNOK^/>"[0I"?S'T[Q7:%;Q6;N1S=LYHKB3( MD9S*JS)'M-DL80BT./DT\/F^GX(N6;",)0 \[_]/P&'&R.;'EW\(*9-!:BN,X%:%(A"(_ZY+I'BCR MAL+(5X6!7B*3,?"LK7(MVDG*=;M)=Y80!H!QA1)QE#RVK?[YJ3=+>.0MNKRW MZ.Y-)PXVYA+]-5Z\3+K[4D/D0/JL%<9MI6&O/^48+K$J9RO5=".QKEPER8!$ M*AJ*=,NRVBT4E"YE8/T! :LZP]LF!(\3U+'!%0%%!!2?N6"Z^UJ_*E*7L-(TH"60VX6"[ M!7@K1=)QBD1>NY7:=6?ZS[/"SZ$1SUO4EFY/94N.K> _86\QD[!E"?(++/%E MR_I+S%*8FZ)BP0.H;-CVR6XS+8NT&VJNP:N+MCRJ3 :UZMIL_/H3OJ#6:^U M#IR%PX76SW,EI8JM^5IQ;,N3J^_ I_M276X'BIF.6G2FPDQ=-,?VM&^TYOWA MZMV3;L MM5NYK]4U[+%W#?/1WC7$W1/S/MN[YFRRQ? 208*OG6$_C6?PY -UWS2LZ_$, M]M$N2-\975[MC+4+,$U^[;YI.8$IU1T1D5G5'1&15Q4PBXZ2UGU(=LJGNG)K8M M$=A+XARVX;Y UB'TQ=Y[21=)*O1N@']V(:16W07"B8GCR;B3TT5M MP)>V [KK-):,S<)6 =BO/S@L#W!?-#5R__WRM4 M;_HN8+&G)^XK>"?@(^FLESELL2RJ\U292:;-$5L18"LA$G8:B>/)XU9CEZ@+ M%^''#UNW'Q@;+@2)=(]].'D^D:KL<&M)$=8).Y9/\9EQ.-J@,$26 MKLKG:LA0G K%X1IM0$0@8"_C.(4>ZP>1?1%!0B@A(=(/+F OL%5MM,&'PSR/ MY1DJUT(V0E& _DJ4_O6'CF/(N=[FX8_P2KLV>+]LQ?R07D.WIXIIQRXGVG3! @8J-YUDCGV[S#E5SY)N3E3G^F@VP.TM7P-6 N'=6"!H/(G1U[,2?L;Y'R:0N-=E17C!)/0W M%^' C[=;&242+0U1;,DC&)<>%M?-[:;B0D0A@4I!QVGF&% N9V1\**KLSO+DWA M@Y3(D@FG$^,<4+!KC5=KR[[-B64"%:KEONNH-[WO*+>LJO5 M8I1H0[W#N^^(3)D()2(+Y3OCPMLME E17XWSRW&;J[5QK)E%!NOB JH3\!Z$ M3,9IDHQ,E @IOAY21.K$9>T.?=9D62DE\TBW36VM'.96#&,"@8(&A@>!Q5'Z M7/NYKYFN83BB=LW+S[OW3+I=^-3=EQHBK+AX>ZB/F @9>;F=EXP65RHF$,%> MZO/T&O;;A9<=.!&GB2M:"/<6[!#%/]Q=+FX6(''WE=[[YN-V0O]V_7],JP5S M.DDH"/BOD%[PS'C3: 8('_]01$ZCC)4% <5X@X244)$Q$.1";!U=P'DWEY--BHJP27Z-2F M5;J(EK'Y36\-A"Q%STK&H*+6-Y;]K#5A 01XMP:131!A0&03?%VI?[M- MP,X:L^ELP><0N:V*LV[505,9Z!J =P(,&<>IR":(<.#'X,"75P4^:!'(\VJK MV\,$1L6ZZU;-3F,-5?=@P//X)^,X<\XD..HL_]0L.31R>^UIC!3;U,3-;T6' MW8D30]BC^:!=,OQ.4 Z9\K_NSVX?H6/RVI1U6X;MM)]W2[9C*]&._6_8FY6? MY\_]Q=;&S[GU9,_R6B-9I[-@E]56/[71J%FA:EHL8$OT@3GN20[(JH$?XE?? MJ$_WM;_X1C4&XPV^W=@8W\IA16YBB1F=F8"-0AZ.\YEV&^4U8+_V7J$'>X4* M=F^2QC1\-D(2'+D>#MA9JTG=E*EZ>#9I&K59BD^CE9K+4$P/U5:__J#, _[R M7GVDL7T\9LFV*4NPM8*V>8C=!(S>JLL\@VJ_2\)>\P=) RN%)_WTWQV^>2@? MO/KQ$/=F WX/&E CD-)\WEW]+WG'CPL(Z?+[&W@;F\\M68"3@BO!X[3!GPCT7S$VM2#F_$^[EOYUJK@] M_!EP.< 2[:# ??#1KS]MR(3PQ$U#"-,=^U%$Q#][M#\M%L^W^M0.BA[N""1" M$_@0%84D@@P%0AR1 H.1I$"2HI0D&$G"AM(O_ZWB3C'+EA@Q,\T/"YR;P$C-^S,86XH\'YFNM.7M8-/MJ+6YK@QG MF;J@)5=^/MWAR+&9RZ:W5KV*I(E,KYRR5 UO0L_3T3-SG(6DI]6UIJ972\N2 M*N7>@&7]:^O#DUM@;1Q!6I-,36RRN?2BN1*HXV" G*.]PE;EY2Z=T0VY M4I#2K) \'KD9]\A!LR%7N(U(EJAENDM9JY6 (L=#AQN648HMWN%;I*#G,E2* M5'*L@#Y1'F W/',5W?551^^+0X%?6M7,HF]9?"X[%@:U5I8I)B8"'(K^^O/? M \2_B"9X>!:WI*D\3Q3;8$8IJ#[_VJW)0G0= M+U'"FG>'PVPIZX@JV@0ZAPQ.=A.\W+%<^;+'0Z"S>YKZP3'+V0Y001QP\(^] M1<3$4^H[5!2.]7>@O@.4.5(88HKWI[&A:<;*COVMZ$#),%P;:!#V/[\OJ"^< M7]D+?4' F?C6-B#>:?YX)/IF/C@.-=&TY=^['_8G!><0G!X01R4??P_/JSTW M0'!8(4>'C&/MWKK7 >O76P/0&.H!PZ(.6X=DOU/O/Y*."!$"0J /9-1"/ R$ M2#Y01$2(RQ'BG;')KQX-7ZL_UW50^6OMP=L[+)P)TO@_ M+2,R=@YHP!",NQLWW7LP] M(K3(^S2)N$( %O0=_.SRM3?-Q#J^SZB":;57LK:4*V".TU.1V%AO:I7SQDCE M$KW^<%G)XP+=@UE9^*\_:#).(Z\&7H5;IP5$(+_"X1H>[/GFBWS-I1EAT&4Q M"*K![95Q GJZLLML,C(Y093N1$C1*]=F=7AM#J&'CE-GT\"^K')$1. M+EC8)M*0PH!.4TN63^ 3A32JVUEU,N+=B:KW^U:I8\D-@?;PB8JCQ-=7C>A( M-0JM:G1AF(DPY9:8DC5G!$_&6++QP M:SSMJ6S)7LI#I/>\"WZ^:5U1#XNBPJ(A 286"N89=,J1/*8E=+N/M!*+@3RM M<492]=(7/'@BX@A]G#SWU=6GVXM\I&F%K6+ [:[F[K[4[XR&'RR.H&RPS#97 M3(R018:FLZE$:3'O>ZE8^%OJI1T41[AC(L][PJ:?YP4_RS4+:;1W-*FW3BK( M2,6EI(AA,BE0,DX(Q @9"B).B((X1DD2I7%D/**?)R96V.X<*Z;P&=R];J-%RL%GD^,]%DK30'3 M2H!]X(]2+;-68N22:_1VFM/K%60E1= HUJPQJ<5V8Y7JT]DVY(.I3:9K@%V1WT6D/='NX8,'(W=JO MG5G*2A(X*AV[+FX@EK+Z"'QBN?*HK(@>RRNRG5%L23-LUSJ11*IV"ZK6XCLF MWS7%6E$?=@<=:G*E)-*W1YY5#4>.,5!&4>S?W1ICP2*]*A+!,F-[ZWR,4[L= MNE"WAKSSAQSKG$BD#6IN8/&8N-M(,]A(18<'/=A%2X8YIE[ED[D_Q!C'1-.T MC+67,Z%M+EX.Y2-ZS5OJGYB6,O\-BQ; >7859[IK+?%,5#*NW#9:[E *AAK6 MZ:(H^46Y-$GFN@NN*_# &BRV6LTR+"!#/!P7@[QJ 9F/E,FZQXX5NL:,&Y9E ME<\MVII^D\U28ZK C3GLJV_,2-*\"DCA&S#]X>FXI+.3:4 M91TRL*CH8!"PV;VHYMTP\,/:$> 6=OFSB8Q)@733[/K:N9^7IUGWH$@'F"R@&0%6 E < Y M>[/,_:B"0ACH@#[@4;YX& C! M/#!1!84P$")"IG#0 7T@(D*$@1#,0Z0R79 .[[S5?%5E_5HIU5?!Y*^U!1=( MGT7"GE5^[<3IB!T.V0&Y[H;/W>J[U+ M'Z#[A.%?/)3-=W1%"047C53C E%K^J*W=R.5=BT+@-*),#6BU29[CC+M<>ZL M,F3U5G.^JC4$W O.19@XA1ZW2XD$^'/NK'NO^S("?)_S)D3R>_$V7!^17WW$ M5\?;JHZH.:K:$5*88SD4#"ZC@/RB1!PA+QA&^O3V*:+-KR MX^7TY@NHSN& GO-W?-]BD:_=GWT[#+JX#E';B5D92MD.@C8O Q!%TTN51;D1 MG^LU-#JK3.H6 ;N] 4B2<4)]$I=P7^"Q)Z_^_H6BWSE7NG;">S%E89W"^QJ M[92%%F:SB(NQ]7)[K2G*N $$%F@,-!8GJ>,8Q*_NETB+MBMJSB:FZ+9K>2&- ME@R^MX0QT9$M\Y6=$1=+*XX\$E?0)H+8V,).[%Y&)9'DJW@?4S9<8H36!XH] MFXH<&Q2T9.((>@Z5(M']BFZ("XINY(NXM%KQ=LF=M#-JG;#3JKJ856AYM1G+ MO>D$2"[EE:)-XI?7)VZK/!B6:0 5R\L&,N9RS!'7X&GPCL-PIK(5_!X9-6%U M0UQ81?A!J')Q?: -127(EGH94;2A,=\N6@5*=9,2,N#*C69WN:LP2\0!0T8N MA2_C4KCL*?^#A._B1_K;A \OLLQRD_3:RA\E%<^%4,O?Y]P M;T6TYAWCD3EQ<4_ O8MTW=A3<._EA@B\+G\O 67T.-7VC%F"H:79>+;5$#&= M*=A;-;.RTT$9: S@&!$Y%&[@4+BW2-S6X7#OU88( "Y_S_%> ,C.W49/+>5D M9+%1'1[(08YC5P @"*#X7&$OF!5U+N'H7^+./,PK#'09>Y=4.]: 9?W7E>( M$.I:EQUO J?"PB283;.]YA=SQ$3Z=*,W<5B_HCQ&X7$BB44^CD_I(O?F]"M% M7-Y[62$2X&O=>;Q)@"O:B.;U27^KIC=ZHHDZ%2MKKX 0^V"(.,,?ES\ZJK5 M/6]0S'/_]U!..IK4.TMY,IB43.+CI(#)%",00Y021()!!)(4*1*7I21)X,]+ M.J++-LKF"I4)+]9$9%9*)=*56N-4*<_T:EDBJPL"YUUA1F\V7;(]KJY.E?)$ M6R8^1AQ&Y3"]7-#8\6C"5QNG2GE6\XJ.YK:HP*?-47/9RPZ3V]'J9"E/*;DJ M-Y1Q@\^967K;;"'+4;-QJI0G6J[4^]5%><:[':S)U5*)M9@\69 M177<6&1[J?GJ5-'/A5-AT\U-Q57=3&74!\"+4F7V5-'/=K-F;L;X4%"Q!:HO MEZIK(%E8]/-H9(54%*O.] E5'+,C6JOI"@%6E#P>.31H;I#9TBDU79_)ZW52 M*BU&L'/%T<[7AB4-CUNI:BJX%8-/C%LU2N91+NTA:7IT>.A&2U?S(X$E>%:&SV3%2C6 M670F<.@QVTNVDZ@X!8+#6EJUC31Z37?J/?5614\S\M Y5]1T,E"'>38Y3:G4 MJKI>"1UT3DZ"PU;1P1'(.F?&"7 8&HX2J,F@!&K:DD>*$V,M2]0G\ARI2U@V]$G"D:TY M4.&&CE^/TJ?L6)1VI0C!9MF*[B#_09\M^ M1*5X;E8C['S!C8@0MR/$V99.$2%N5B2,Q"-"A( 0$31%A(@(<=@[*2JL>D$Z MO/=^]#6E]2:KWCTV#68XM!3PF+RL+64X:_A(4;<3Q\]]SRY=%2J^U19=I.K3 M=6_N %57MCRNQ:L??^"&R-(%FIXNE-0G.:=Z6Q5$8YN2SU M&MMMC514]L/1/H?W8FG1LC9@WUFOH=J)@!]>ZYK]13<49TWH B*RJ^Z46Q16@\W' M(_S>*?/;)3(K;PY9KRTM"67CO( M@VOVRQ15O*^'XH:ZR3=?Y&O7>G? JR#L)V+3:)%OO>+YJ:?J(\;[,7+9 .&# M W8AUI1FR5S5U+E0J6:3_?%:(R>W.F ;:67JX%FYJ;HIO:2XN)!ORJQ?BQ!% MD#B"(!<_8.^M4Z:-^5RV)$748O+"54RX43'=<"Y4BS ,:O-/]1'!(Z;B=S6447=0EL3,:5BZXN8PC*M W6G;BV ]$U ,@*8I7T.9%M M<.[*6;*I?D9/*#<#R!6BT6TRC?01V6UQM7%=1JM\4!:11@$^$I'3X;LY'>ZD M.?UL$'E%F?HDB*0W&RHW=)=MKK:JJH5I778ZJ9NY+G/5[7+-=? LLD'&1FU; M60TW[,JOT)ADX@AU#D2^@!>C8EC.1)S(%]:BOKG0!RI3>$N6/-Z97DY/"N]B M0Z8T[?ZX$RT[ +*RXB1*2'V8X3;:EAN)HEMFF)L!6:%0F([ZY+*N+@8CM%8: M*YOMA T*0R;CU+6*1/\,-+AO#\5;HH&O[X1WK2%3?EX"@^6TG$VMYVJ/[W)Z MN9,16R-K\?'Z*>\$ U)<&9E(]K_*NL,F^Y''Y_+EH]XI^A1F]4O4IB)PN2RA+EU.Z[;R M07U*-(Z2:)R^:.N,.SAF>+!!0&<$?QSY!1T4VW:]]EN283N1I^8;>6KNIKZ$ M>E=B?W\Q]65/8CTX"^256YNR;LNG7#*CD6C45V9=320U#MTF\R4W,?$+65)Q M@CY&L'\BL?\^+IE[:2ZAWI1K2_W%-9=W2STP2\;6R*PN5-$8*L-FDD_GYZQ? M_9*)8R=<+_]\']]+/*;+D0/F"SI@HGR>KZ""0!=T.W!!GX">O+8H#Z;\?*(J MO43>JLJH05=@(4CH,2$!^-!7JIS]8X4U!.N.\G#"J3B\(JLYJ5[(E)?Y*M=: MDUF#2G45-P]EU7=Q$'B<(,])ZQ=P<91EV_X=D_PZX3$3:E& ;)&)\WT\&S\G M!N4K.BSV$>CE:OW6BC3026;)(O.UVK#'^:W5&7HUH6$<+19/GF@I&ODIOI&? MXL>$CGQ%]\/;9+BCK-)5OJ7Q?#=9H&=Z.9O.]!M0AH$V03-Q]$3'C2_O=3@L MB.UY'F#=ZZOI&_=>;XB\$7=OM7,[=\7=EQHB&^FJ&DK5T*47 8Y+Z^T:+Y-] M52S.Q3;13+OENM;^3[NOM(0"?Y5U9JS@J\O M1**_MHP!IVAH+O^4D0"HC^V=#V@W9BU^G4=;YOQT>$]Q;S:D_E MF%]83A[%1" T,$M(@;7H9-N)6:(CQP ?.8]7.S'#=6S(1\_:B<0>.XG EB20 M66(KT7XK0YJN)0OYD94;MK.K+N*2Z\(881%FW/5?>E;?( MZ=5WI;TL%.6Q,ZZJZK."N'/LS_XK'P,-,68*%P;7-P^G^>EYM M[;V2X9(FBQ8$]NF_(\4V-7'SVQ/P@,$?,=L[+\#O0=ER#'E 2?-YRYF]YQX\ M+"')FO;O.3OHLF7)7RP)B1%/4!_ ?3:!T@M/KCJ0:[]QC6[]W1 MM;>!N[WQ3K&)G/ KMXMC,('?HK82-_;.ZDL^/+KH?C^>?G"/8RCR@)-_Q?9^ MAMMR1#;8&6AOYPZ: P5?.^P/M/OPE0KR =4=P_R-H0_4(=$)]($^)OJE=1&/ M-O@3@?XKQJ86%-#_:=?2)^L"PY\!EP-!U YJ PC !@S9M>,V4[,<# M0ORS1_O38O%\JT_M8-#G$).H89) *!B!"D0$HH(#(8S IZD24E"DA@MCW_] M.6SC-F/)[( 0^REDDYZETEUJ/8VKY=147=0-4_\ L-ZG3V5ZGR JD$3.Z^'VOF&=[M&=N]H>X==%@HOJE#=KJ5<171.!\W MF.LJ](1R ?N>WEK._ M4_LXAG@@HAY->V?4'5L#D5%KH# 0 GU@SG82B0AQ*T*@#VC4R.^"E'CGG=>K M9\//Z"9R'I;OWAKAEGTD\ >$"/5F]($UZ"^?\YQVG^H9$?'_+?C_O"/HZKMR M,:GXPMU5KM&**A">>U\C GN6N)@4W'LQM[\3]77A>Z_[$E>>@3+YLP.^KQK, M\.0%:LJFN(%)[W9M7+<475),42OH53"K]@KVCZR *4[M4P6@J<%2J2.S-K>H MC@AEFJ'U$;WRNZJ\$)?YI8YW0 /RRQS*H<">;Q(G^JHM&V'-1;$&&@+ME7&J MQ(XDM[.S]7;(UU)*9405QY@[GPB$!S%DG"0N6&0C/$H0%2E!7T\)NBTVA6N! M/Q"NII9\*KD>F[IK8BBW-_QB5+)+ Y27*3JH^4Z1<>9L2;"OH1/1D4X4Z401 MR-P 9+*&:YW F$F2[57=8KW$MZ:Y5C&?3]DS:>)74J9Q(DXPWU(K8B*M*-** M(JTHU("E+$\I11MWI:%:TARHRG1 %#HN,3&[0:%4YNOK1.VI;,E>0.IE%?[DY"*A8)Z!JS(2M42*M6EBB1X5!#G0R*]'J_\HHAT',4N MV-0P)+K5/;+W(C4L7+E\-[S"N_M:OS,0OK..-9H:-E%2SZM\ LMHVTRWA):W MC: @VZLE[&^0NO@E,A5?RIY1',!ETG'4RT$?V2KL>Q:KBQLO)AWFX#VV1#OX MTUT7%:+-SEK&/.: !\0&PEQ[PH&I@=:@!Q>ZE';\P,=GFE.-/84K04 MP[7W!HV]AH"PP/D<+ EF%T!R#$5=M1]B[(F,TOAA/JH-_M4G\B@VAG.\>H*I M;3E"$[[0:_0#?ZLHNC)WYT&+GS?U!6K)$IB 5SHV^!HOI)+E]MC M]M^:ZUTHUIF M.@I7XCH+-+EJ=U.YB9RIWV 12(>I@1I[(!/DYF]CH22I\H6!-2]&@[! Q M9PKT@LDTEI6'EBM:&_@I_1"#:=^^M,)$'MO?IMAP$Y. B(J.J0-7)9/W$?A M?8B \35@W.WE_*#EYFE0#"GHH9?-T/+X.(\F9@Z"*%457_02.$(T[R9Z MDWQRT6TL%BI7&B0V*&YA784!D$<\8.A=(._DKK\?\I[ONMHS,T5KT^KQ2K5? M8 6\X&X+D\^4 OC,KN=ZCLFT*&S,NX-L93/LT.(*G\!=)T\=-&\%O**H[\"- M?(2\FN084*0 3" >XMFO8)XE0VW&A@N)@.X#ZC;83L6)L1-+EB%W7'G&R:^R MDS4]UI)-Q\=W+ GQ':6?C@W @][! >8.1 T\9.0QN^4SXB@F^=LJ[K8U#O-N M=R.+KK:)^8]DO*_YC;5C>/#1WPXXZ.&Z,>3?Y_3Q/D;__<<_D]*%5#J6 @=2 MC&^Q_CM&+\I37,";="N]3E5=OHOF\_FJIC:DWJ%' M@OPP+F=%27[FC:#V0'@U;96S:*]:Y4HEQ472JL6.86D6L,D/QR@< S*AP9WS MDK\UL)0#)H .X1A*?4$WO'9FX)NRX\ 'PKJ< MP10-*^::WFCPPE#P2MF;Y(Z 8N@%2BM41ROQ)<'"R]C)U2$O!,H)DJ288W@M\B$UL9K@;^#LL^Q( ) VFL Z**MNR1\A$.8H#"\(/A;ETQ*5@8H"Y@+^^/ M+S(F5,M\_K@T;SQ6^F!@J1AP1L)*'X\_G^448%7/A4/B=<'16;>4)3BIX=D) M_U<;=\'1S>JC0HIK%M@46RVE#M8Y>JR]06YNR8#1@ JVI\4U=UKVI8KUUNP]LU^ ;YXWBMV"SKQ;M '=T0\1EA*#[R=HHGM)IT<+519;)7$9(Y,5"6(MWCR'!C<#V\_O?-B M,UM-)H$ESB^RJ0)*Y%S5YMZ_\Q]R!=AK=JWW,\44GS,VP\Q"R%;H,5 !D\0Y M'3#V]Y,+ZL!% X7_R"'@0^E+ @=,1#"Q7QAA"-#KOI7$R74)!*D(726_1F>LVQY-<\8.FTF> MR> 3.8.5M3X0E3$"],%,2\=>]\Z\:.+>VN<2OX8U_1$(/$_N3EMLI-BLW%5= MP>FHV^Q,Y]G)_3PNA7&V1B_, <6G39,TN(ELY42 D#AVWDH^?:F[%S9S[!3; M+ZWNJ897,A">@BQNY>ZP>W-T5L83';4[I*U\>=M)=+.?L"C\K=O1M?:T;V?D M-Z&T[$2Q7S*XEC@L&4U\L!T7@?R2Z -UAHY>WH%/CKM2XVW2DYA@=%7 RFVD M) @IK>L,>HO5.;!,V+($-QN6_[-E_9SXG-Q52E?&/ #//->RTJU>.EU=U,75 MKS^Z<;RG^_Q]TG@Z@Y7>I<)25#0OBN*$4Q%V&XCDY>T@V)3G(K!M],G;8'#4 M'2=6^;76YEN2:V]<6VW4MO#TH_$'XHR-?@(%H[MU_I'C7]+>/&-W#K5?3PU8 MN*(%^$W;[-DUNZP+KS_'<]T0:'_^A;)G^\C@^YIG(IFF98###_"C]L,,T]/F M41U0SQ@I4MW?S$<]\+0KD,?+[6%J*R&E4C&C3A!4=/I !E#T1*>/G0C$GSR] M0U'S/#PC]Y1Y\X+#Z9"L'@R^XH)Z^5+EK?ZF>OFB_J;+"^E_GE6QC[J#G.P. MPD3=09Z>&W4'>286;^D.\OYN$;?J_]"5H>[G1:-M :!=6?5[Y?BZH.JWZ/=+ M-&.M6TBB4>A(^2&>EHC/! :-90M,+.NC?=JP'3MG&;9]\H3CIBULU2B+4[7F M+.B\,A;8R=R+1S_C>@7LY[6$@'Z'(+,#O 2<^+STY(?8GDO- MT[ L&5Z3PV?'-+ G\%0&# !>"T[#J3>9W>+V5W,%5_+S_B/80?^1VW$?ENP5 M^=&F90'#H[XPL[5Q6:>YN98C7"3AI+)#]M68'AG+]C?RO_[&Y%O6#K&A!7'1YA,1^/H$C!X/'' M2+56+=M\O((S-=?VK!C3U(!^!8\Z?P$0"F"[.&6L>'>!YZ?X]]#S@D.D>S%5K\SSGS@,F?I;";8L!:,W_+U9315I"A$1?@Z& MBS#9!!#J;]$?FI4!F0 )LX!>MO\=;^LNG;#P"?ON@A"U>T]'M!3($W"]3^\X M-._VQP2[Y&T2_#UX7&',5R=$-\D@+6G03R[*8HL^1+Q"-?MA^S(%7?4MP#WB MJ*;OSP8]G1^18?!%4JFC0V0^L&=-#X/N[]N$\YR/<\&5SN_Q5( MX"Y;2MQE/[U]+A&LOP3K^L:/WAY9XDI_"[;/Q0V 1/ PV105;^=74P/:&Q#L MOIK8BVN3E5RM ]O/V;NIGW:1[CD5 3>/ MY+=P_;/D,*@S /-%=FR8DBEI+O0]P'A, X9?0C4'_ $.DD1["HD@WXXEA<&M;. M4MK=.L-P?*CV^6CQ%L4OPMFS02U!)+W]F.H+]4E+D?S##A#G*0%* C8L^-FQ M7V8O\;G6^A]?U]SIF# W,@#=X ^P0@/@QX,D8L5X9@"_%CX")B/OS=SP(Q$@ MA]N.=_40CTE3+PD3'O!@Q9:A00\V)!(<#.>U]VMP6[X MZ07Z-]597S\FWJ9D>N>$/Z5'2L$BR38XET?-)T(]I>$",]O;9E&KC=NPBSOK M8=D+Y0CD.5MFDG.<[S;DEE.LMO)5>)J<*,?U%R0;A#V_-;R/D!$H=(-0 :^" MPAPHU9Y#[-'G]23K8^.U8RBZ.7TMEQ8-LEQ/YM(>E$^(V2O1?$JA]<.K=%B= M ;*PO 8"XB4X^2ZCL>9*CN_P]E!K&=AMSTHR^#=VWI/E\7B7L@J>YH.B'W=W M. WCB@"7%-"GA*:G7SXA.ZDLK,#NQB[*V =5 F &S7 M(Y,?P!28UUX@3T'O0J_'[JO<;E-/ ]>Z4.<&[?9@P;G\J(V7EU0=@4D:]+'; M^J^=[N-Y?_9#4GRE!S+$TWVK=PW[2/]R(55K>O?HX/Q> PI;09[!=4I#?)Z( M+;U6829N9LPM)NMUK5EP5O;RX#+A?7<)WM$'V#P+5[]/UA=J;'3&;40JMZJ< MW#=&%D^G$M4,S%9\8)+GJCU -3HFB](4*C'RRUX*7P)/2+H?0^SY_+Q$#Q0) M !2@AU_Q"WSD!2VCZ+^[X.7_*B^7.X =X7:+CST9:398Q9_ XQ>!\UZBW%/$ MXQ$T0^,*ILB$%:"OE97UKBB_$[)<+Y?JJ5(A2:AIK-P5IUG2G* ?3(A[$9'] M^,GWH_%!&GM:,BV$["SY11T7ZME1LY?#5[_^X.<#I5^'Y<-0F$-HOADHWX*0 M5P7E;*I.FD9>J/'*=FOK5F-=&G2]PD=(\M1QN8?*+[N+_2L*&(/Y=7?]?=6G M=KO^HH?_].XO*&V!%VI] YG3Z6RYM^UIG.T=B=BIS3]I!9P_]3PC_1D.D]'! M%[):2>!P&P'C\%F(GB+;40721TO:UC3Q*@5!C\-[4IG2;$:P43Q;U4HR M$/]FJ[=)6T1R7&6O$.Z]HRST#070TU@)2:FZ;J1YJE38M%6^N.XO[YC24F]5 MR2Q=<'+3% &@.77E>,@OT0WN1 M^>=271Y=@]X1/W;]HQX^;F58:A#8#\7GMHDT5^24K&$!!-"?I:[L8IS1Z=)5 MVN2&R]%E2C:$];B+?H)#/I(?TZ[7D>:68TU^OFX(C&"D.\6Y=_5\;*N=98H@ M/_J=63-?3D@_FSG#C-&I;#3T,;]@E4&V4QJG\,Z[,F> ;#QFQ#SFP9S2&.+O MRH[YO*+KM"%\E1&<&3A: W99*1"2V\ P,0?CFN%GI.-H'C.;A>::.)(P-N4U:G?Q[7;ULAZ]IUNR^B@OCR80KJ#- M[IWZ&<66-,\)T 8S2&F&I/[:12,7: -!9VA655O$PDWVS'9"5 -F!5LLCUCG MS#@O:AG]%9,!X4TP-3 +^4JM,(8'SSS4" ]T<^S?V$MJ]_"2*E@(-4$">S_RT_=/>,ZA(Y^0$9L; /#@E;=75-9S M,SE>>=C]QWFN*T\%A05%AIIB3Z%S ?PI^([GJ#(-H.'OBMA[V3LC:(,]Q,"< M1P:L-[M?''KT1%3EB:C^];N^V:E1_KVO?Q\Z]07AF;D'9_'PUI/UZ4W".C?B M*Z)B)KD6T9YG\JU-#R/9\Z'(;Q7LE^\R7S@I/4\4@)8AK+JWQ^,\H#'0EMJ6 M",^[1T!&]@"YIE2[J\( V7*RR>;,HEDI,6 =0(AT^<3IZ=]4OK#YXBXGRE-F M_9<^*K2ABI5YWOPCRGDZD?.4C'*>HIRG3^4\B1[.""2!4I2(HD)2Q&B!D #^ M#<>2+(@R(LIC?$Q*)/G+?ZNXZ_2#5X95I\&UP'\U&D/4>9-:C%< 1XGG(PVE MQ&I.?C9'%J**..GV6AEU63"2?CZRUTU;HXZ9'R(B4DFS*Z8Q)]")@ G8T=LW MLZZ.9YPITJ*Q=*+%;N2"P(*11V]7M1*ZH=KS"M+"NQ+:GU*J@3; R*.WU^=, MUL;GHJCFVJ.VV5G@V_ET)> "\GPD,FBO1RKJEM6<5;*J,T;KMR"P0Y J1'9500)7R()YF12-'R\V=WFP5ZV&KA220QK*274EOG%80] M1:LTOE 6P$#/4AWFC2I<8I6I'LDE;J*M_G:M8&Z55)0K(TN*]'SQ1F M8]L0IM6*60ZGP+>C1QN+"ZU-2:"3!6Z^:9&T49([0Y8]10(GWVJ/$D1V MJ&)N4D7K6#*1 :\GCB?*E4C&0>9871438\;DEAMDM81D/9JHVY?&;5YOSQ%L M@U-%7E08( %@Y.-$7\AE/&L57/_LWYVMBJX!0S4QA);-@4*,/(*T9]+!Q?AX M]VZG\^YNR$\1:?HZI/^P8PW[])VJK__"! ,8%^AJ7FCW;FC"&W&4DPYUKY=3 M!]J/-[W/;W6] ,:Q9JSLX%V>BQ#>^KVHW?N5DDR8G./?*,)W'TX/WB^^/V#( M>"'NR(MXA]]58 %>J.[[B?G7+CKW%!H"VX1XO3?@/%M 0X(!IWMN1\6RGV(% MGZ70G+*^(5LDZC5U15-5W-9>6IMG" MU6 SS_@LNTIRF';S"J M'X&1L0JB48(R'# L_(#+X/E$A0XO]#PHT_%X@?T0NV"\1)!Z<3/^ M0P_Z=)WA/[\>ZC48<%XK\RVW-Z#Y#M--H6%5;\V O6VW:N"ZD$(H.=M7 M2%,D\]U78QT>P,GA94@^<=M(AHFPGOO"0U=H]\N^8\!/ SBP2A\#6^R#R)8@ M&ANRV2'H/4+I4RA-P(Y^N,40F%=/VSHR3PZSP[++P.A-93JO"S/_O;$.3/P5<^Q%COENF$?QV^]/G'F)\7 M\LIV/+,Z$I_9Y#%OB\1BS6G1R]9ZFV425D/"T(?C?K9/Y9# >LRG_C[>P75USKZ7 MDC1%,9HA."&OUBH;O=1&L_GQ[.-761\CE-NDM+K0'L[Y&E;:<(E99;HJKF#9 M*O)L1658AN.E0-KX+83ECLI%4F:<11/KJNH"J16=]*Q8+@FWAK%L=CE+T/9J MBB26=J6M%;+])O1ROP)C?A5\_Q@]B@,+DS_[&YG6@5U[8%.G-C'7AG1XX>(! M5IX _&O,H1\=R):O\NT4-/OL-99G)SR_$X.,)%LP+WNSBX3Q+XK23[_LRD@ ME4[SU$#8).W@F[Y"!EE[+PT47N?;_N"]U7@Y?X#]'F+=J:SOGKNG*IX<#:?@ M.UZ7F7[]F:H!%>+_KWDOIVHRXYG(SSIDWOYRC$/YG0QT"DA MT %U%0".90.=UJ_-M%_*I-#:*V3"[CW1IXG?_0E28??670(HW.BG=.7@5M2/ MPWV6 .H55AJ+T(4$]\,WASPBA JCKAT T0I*W\.0^QVS^"F:K),%7-V!3.U= M>1S'/1232MH=KU6_;#_5KBEP=4W00B1S=X MCK5[:_ TU%^#,WI5F&#WH7=CNQ^3ZPL MP.+^S2F\_'_UQC*XH/9>O!LJ#@']74>^\DWEZ3!N;R#XXUMOZ/>OG9W1&W9] MJCAR CQ @I>><+N"96(/!!$1(@R$H!]P*J)$&"@1B40X"($^T%A$B# 0@GB@ M(T*$@! 1-(6$$!$TA840Q ,5J4T7I,1_' L:=Y\@R6NV74@LY^LB\95CDM^0 MZ/'__0]*(?\>__N8VG%E>^73.\"$? .NS0$W6[]D:% LO$I+'T1AZH$X>Q[> M?3-V01/^%N!H/.*%Z_$"SH1Z,][$"V\_!T-QZ!TM\P>=@B'8!_\P#/SO@4Z( MFNN8=Z40VZ7]A%@F@AL/7Q*\:P__Q[(A>;=/7P4H/\8PCUOX6?:YV%'ZA5D) MWDI&['([=H&G[==F%^P"1^]3KN7O_Y$D61Z/;WL:%XY";B_&__=>VDX]NM@Q M>>?U' @T3!I/*.N$+ZZ_\][_"8R0$]%13QIRF]:V9 J\Q"F%QDDP^.B4WIB& M6O,"5B37LKQJS5[(QB.47%:/"Q5=;J*W^6[<.ZQ[#S"] (O#C?C?2RS-N[,) MU])B.,P.W\NCWU4AB5@X8N$7??OA6MLQ#W^33 [\0W'FS]H\X+\>"P],1'7$ M:_-_B0PN<.NIFT MT6JM>3F[=J6*LFJ.],G]%#[-T"<)& U_797OFS/;:]?TWV.1KT3G?+LC\689 MI)\Y$JN&'AAM)P['::]@.ZIF)+G:9MZ?]DN-M#N%M6%(>#A2.'[F<(PD/I+X MUX)>PF#)>4K7">AUVCS2T!^S46OC[*Z%7]U/ MEX/W-,=).G4#RS-%I%/G7'K4?1;C>+ MQ$6BL,-0$()Z(*)4LC!0 GTE[BY9.&@1(1-(2%$A$UA(03ZP$3IE1>DQ#LOU%_S,H75>WM=E\Z/ M269XS:/R4S;B-8?&S]F'\_Z$[PD'KQKOWW/9KVFCWW/5KZE^WW35K]F WW/9 MMV'Q+X'K=V7ZVRSR-5LB3*N,]/1(3P^1GO[9U+Y=\K"?0&:,8S"^Y4*IH2%5 MSB^?&LI\-#64H)\:1G[)S-"^+%HQSNOG=8V2#1%ZWD]N[EFWQX?-+RP7S:>0 MN1VV/D43VA&^WBKU'G](?FU&NFREAG#K(K>L@$0^(%_[Y#VNR1 QQF40@T"_ M.F.@'U6Z7N003P^[=^;VE3(ZD1#4N[A<_8Y =;IK0O:K>L+I!,^MU2QF,HDR MI<[+:K?245+I)<^>U#&NG.#YR&GRVI1U6X[#[C87S^_T];>0D^J&UU?AJB+P M[X4J)/AW5.%:V]7305]+Q;I$=BBAYQ(3-$.P?+<[&$Q3>'5=>-91\6/9H;L4 MKYK^]%E5ADFB8"_!4T]DBU9;2:R[,4H+U>W,:$Q.=NRJS?K9HF07N)Y/IRAQSA6,*GX5K;S=$"/4 + M]")H,7*&Y8F5FW>3*(/0N MK$2!HK_^,/@YL#A(\+]-7OD%0F.?%2* OT/Z*[HK^NL+"2Z)'H6$O*:B&(61 M-)JDP(/^(UZ_1D%9MFU9KIDR?)@^*REF6M&JD!A90(5UADJ^1T M+@32!'93'K'.F7$"'(9>J3S!V_U95<.18R@:%*_PE_KHWPKK!> M&JUVY9@& M=R,FCF#G80!Q?A$&V&C7\%G#:_$[%B4X845^:MIKR;&)K(,AL-DTK&,E6UXE MJWC,M(P9K.T *SPH8\"\3]^.&59L X#:]CN^ ^Z J.I#NKQP%1,";- H&G!_ M0H)5,#2OB(.QXU1_QG[CXI$,7ZGH"65FPQ;7W%,6.B;O5.; 1K&S" M]SPU/ [^]MB/V*],$7P*9@-+:?TKDE^-\]N!^9J0C^'B#@^Y;@(65'J+KJH1?LU0.=#P@$;!E^#U8#2 QU M00.KH6AB 4AXBFA%AW=D0Y#!.[-A#Q%KA(Y#44N0H;\8&RX&[=_;XU+>>?B$ M#QXU'OEP)Q$POTQ 7H \&X6WO8-WV8">8*D)FL-[$5QRJ*Z7OO0R1IJ]U.7= M#\V 0(D.H:9X(6'@,WZW1MY[W%O=:?(^%C.G*/0U @$; _P ;"D>AT,40LP\ MD\02V&'PE\/%T.BJ:->!=].CJ]7=Q6LB.8530 @'T8+N(W>MHY_1/>X^#X/E M>_>L.R8!X*#"#5F$]R1VQ C#4#,\FA4PKKV7-$[\G80\V_2R!3\+?A_T>VC$"*=]] M3)P86^;B5XC17G0-NG.>?%N-5Y_) FDV@&?9H]QGH/@4 R"O60B=:]G23-=& MF(0_ N]O,B7 \MD(82,Q./8E]D+>'>C] G;IL0LT-$VP9 /9B1\P6$7@ASF0 M)JOC*F*3EBDB+O3LUPJP!R1ME=M.1WPR2D9'NXTVENEH<2,\_ QP[FNOX9FJ M;*37W24<^P8 @T,;> $1>,SU8^1:L*(1L-9'@-( =LE&UEL Z4=@&&YS23;3+G?:S6H]6BPF M%BN.F3S\Y(B=*EOVZ\W'"-C=ZR") "WH/N<"4-D(<-# &2I=/*K(5, [+!BRF/ZS5S7(\?2I?7^6SB#&!'_[ M5:$T&:.XY>L67$?SOI@L"BQ*_9^W4@;/6_7YRY,RFGV.0>]$LS7_L9;^T_9?O%.CZ6'?,Y0^: MBO$OD<6^@@WS#."@,,^M2"O_ZM539^,5+Q[,-SRW)DQ-$1A<[GG MIK_R<5WO:;9X#>I3$/1C"N0XF6!D)BX-&9Z6V 3-2\GQ>"S)K#*FZ6$\.6(I M/]8@[^-$M<>6WAVTV=D\ISXMW6%!;!K"!(KSUR,7= MW97J8&1@G6E;R'5VR;C;SHT>U]ULW9WHK0D8&5CGK&#M-)$ODV1.B%<7:X5/ M5M)UK^GYT4AI-$K&%561)8I45(F5DW%)5AA&8FB&HY(T2?)<8.YNO)56>N8\ M-8]NC%;"%%K5IVC]% :DO-J.U[5F@URP8I?7-OVJ: I@9&#.G&Z9Z6I]YK2+ M:G^4KN?X@3ZE1:[,B?N!FM=K29*M>H,CN1?CYRO5AK/5N/IMK8: ML7-ZLFI(^O&GQ4S+?S\DG(,W%%Z/2M9DZ4-PRU*,[,:9RO M R@%ULEG1]5RQA)J9--0J3BK)S+=]$DNH3J]0;/>=W;SYK22ZC>UJM6I3TY1 M-#W>]BO+HK,4M<6FRQ3M<2)3/ EY<23,F*RY(<$Z1Y,-2Z75[;A^"I[);6;Z MF)J9BWDN(ZV3W2FP-!_K $J!D5J+9[9B=R&)Z7FY&I_KF=)3=2+QP9$S1RH6 M1FXI,Z\V[]M(UAPYEMAJ"E B.%!BS9DH= M925&^534;HZBF5*N+B6#(\>9;+W?5N)SD9YRH\ILD;2I] :,#/)11>/G;JJ= M%Z.S*2L7ADK=H@ ?D<%)-Y*;T]V=$&TW.[D-3]8S&QILB:*"0Q-*[VE1;JYW M;9K)#BMNKC-*;"=PZ,L%2$ .QQ6:X24YGAA)+$_+TI#FAI(B\VJI#4WM^9.,G0_W112F>VD.*=KA=ENN.F->@-XG!E8Y[A;X($JR>?% M7#M9L+E=C2T._*;:KU34D_38F9 I$XA2?6M*EG:RK2RT0K%^1-2OC@_>#H[[0>^+>*"V.]S;X0J,C?FAU1V!CO8BQ-"%D3#P MYWZ[61"SYXCO[$E2TPD>H%>(]'.<#01Q%E!?CIA@Q# %_F%7_&6[_\J0N &G3(Y^8+^SJ_ A^Q>_F#V0E_P.0@.C=?7 M8;M]1 >&[&3;;PMM?Z>FS!QP07#CJ#\XDSU;XR@F1E$8$2% !!VC<>/3," " M!E0P)L* "2;&,Q@1(4 $EDTA002636'!!)9-(4$$EDTA00243;@]]ADQ\>=U MPN^ZV9<&Q/Y$E>,9A?KGQ4O28 M#2P.3YE5]K<)MP1?(AAT-OH5=GFA?@4(N M(YC(AH))*)'E!\IWA)\"/WNGB2A=[6OZQKSG6G\)%7X*W+]#M>=KOL3%J.1- ME_I?N/O2U;GY):3NAX<^N^4SM+^@8SQNF/-!D_LL>PUG%Y3O0 ;G:H]SWV1 MWSH9?+H9SK$.O';9[.L<_/V)W;^I_YQ-Z5U[CU]?&NRY\M?>]UDJ@4G<9>3C MQ_J?K.)]F:D-$P%.5.OFZ(F]SA<'N_F.R3A:)UYYLE%N'?/PDZ+H"!4G+U'= M[RFI:Y/RM:UWS-#?BZ%?-P(9]S(:I_6+6Y&6GVKUC-"H3&GAL@Q=X(?K8;?N M*N*.$^H3?C[75 #U7?.SZ];==B]29K6F=F(C(K< M=C@09LT&?V$%+46I?3\TNOZHW6] MXCY$XV!);_!?(L!?R'=ZR=2O&/#KVTZB.DV;L*>FY:".#'X-XW'K FVQ3]*- M$0=1&R#.U_5Z(7'8+I6CN[2TQF;T+X'A=RDJ#T;&824.<*;O^01_6WG+YTOF_%[R\@_ M<4JN2"$W($ \?^&VN8@^AQZY]D'T!^Y06UILSZFUBVUQUS&?5H5F9I3C)]7VJKM MI,Z5!W$X 4U[O>)/Y$24E\O'5G2Z78LYLKRP-X(EBMNZE[28Y",L=:$]!OL[/5(JF!5A(K M[?0N4]_(ILBN)G4_99&.@(O]9W=DW(PO%0ZI%";7Z&S7)%_=I0F; MT/HJ&^29=4_(K4PAP_;=9L,BM83(V.7FC"HM8"-18(;0/!-AN;=R,T/.S2$U M.C![WP-[?Y5-\B9[\XR:+K/#!3>OKC=4D]MH6=:!+:V!64(Q9"2>B)_=+KFV M4?WU?(UC(J_V_5(,,$ ,C$S88?DZ,NZB7M;5MQHBD?=5%LVIDK%DOB^VAO%X MFUZ6)*'>S!JE..S(#^P8ADM&$F\Z8+?'^2$U;4+('U@4?&?KYX0HL!-=7>D- MLXZX*^1FQ4EBUQ)X* IX>"S%1!B._FBYV84J>IYO92)C'SV+A#]>[UK+UKOW M0G[H$MIWVMW'ONA.@3=*ELHRV.2O2Y?B)AV/[EI/!=%-%9;Z4WHC.?4KE"Y] M4L;?:-%1@L17"80CCYF)<1@/(< #'>-P/GD8$ &,01K7NEPOL_]=U? M BWO MB-V0[?$L6:2)R_8$_=/\MJQG#)<]8_B/,MU\$KYRLM]O;-WT$\:=J>I]@$UQ M;>^C:,"5?:PW+F:'WV.'&TX']:ZQK_G.XEG8YT3<;^Y-6ZQSL[- MM#6C/ET5GB2)VPC/;2#C?.)\9YW7L#L!_+F[TYZ7\8^_Q2;?]3VQ^#F7^($6 M;FMCGI ZW&D:'G.;Q;UZ#Q:92G)3Z!*4A&2?"N/^V9-'_Z[F#[7$DWW MMV]L/UU=@$TM53TAPER]V'&L"IF?[S15?'QBBDU[+7BY$PDRPG+,S=M-<6PW M8;L)VTU7$3M9T[5.2)W$)E/J5J*C>;LHY71RLGKJS.6-Q$.IPY.1.'E^J7-M MI0LPD<"&$S:U3$?67Z6S8BOMMJTT?.!WZX+JU#UO MV7:B7C#:@W974$MN?+M-C78;*0EE$TOR$8Y_-[$_W($J"!M"6RQ=>)N$!E,L M5-O!AM:M&EKGK*T.N?T$!=&_OY,D:ALCS5: U >L*&X5,%18P+].Y1U0DUSS MT6HK[2:=X TE7Q+BUD:B2"27^ B?#-98_^=;&$W82CJ[E73U&L(O-*.NOM?O M;&=]O%Y2X9EHKS\69G.YI"V&J::4F2^ _*(^5CO]!063YR^$^_([T:K.5+4* MAH<^,/TOZ@O5+35:]./;FK@:*J6&319RFUS]*O6%:,7 "CTLF4 E*, R=V"M8 LRD^K>BA95>;J]P\E?BF&=B+*ZE M#$/I&!U+OEGC@A'Q98B@>(R($"""HF,L+FL- R:P; H-(K!L"@4B@!N;P++I MC)CXW>:"[]FM]W MR'MB^;9@<"B,Y3Y;&,LP,2YYTX6Q\"B>4(&K.OI8S33F MFA!R37AOXV)C/+Z-"Y,!'R-OG@P^?9W4.Y&P:Q\^I65[2BQE@(>Q:1$R.F6T M"$T@ (9ZH2"U6V74M=H L8QL&;%\[&']<&QQO:XXN4!72X[AT*?B0F M7+E/(8 +YA',(Z\B M^51\ZF8*]'%,D",2CM26MR.684U3>>_LX?933CZ;VG"6#)1]:N^)!!123&PHJM[* MS^4\WR.%16$PG$R\%AH4F8RP#'F)WOV8&T/,C>]%V[\?-](ON)&6QKV,QFG] MXE:DY:=:/2,T*E-:N#PW/O6&B6US86HB+_7-R5@:1+OMC7=E4)R/,-1YZK)# M[I5W4?A!'45EL'YYHA+ ]Y8UX_G60Y3&!*@@D GU[QWLAOF?[^ELW*M[<;]. M=T .OI$[^>&]4_S%R+<@U;\NL/4L*'DTL)%= MO;DAH_$$I31SG=Z(GW@7]@!N)>._YM;;#%($C(L7J="GK KL[H36W;F:G1!" M,?.>;[1T+57*CZSHCF$_[0R]$E49GQD;@!=KJJ4< MWZP:I0]2*[U)N+;[M,N+7:D<=X1USQZ5_/Y57(P/7IO\%V9BS,1ACG!/J;K]/9>9IQ>(RV_:R+I8A$P/3@XG%@\U._GIE>]S[38'+]ZJM M8M>IZ_I4CBI>)5XE7N5AE?#S#\T!VD,)9FX^_&P"88H*.9'\A7XPT;)DP_8D MY84O)/V,POZ2JEF#>'0-E:#I" %U7H38J$ I+I:Z"DMG9<+>0TT_0,UYAAK* M[8*_PO\?NIH.+0*;T$U%]GK"$&G9LDTC OZK:T!5 JO8RQLS"'DRL=0)="#A M.VQB"121&B$,%66,*;IIH]-NTW;L"/SF?R]UH,%+0-?O3S2>__#UME2SH'?K M[&I@HXY@C,25JRWA:41JU]HM56&KV8>Q);"&U!X,8&QAL;3,-4J#L\LH6UJ: MUX31VK&FQGRQBPZW8[TCC967YR3<;U@58'6*JH[LK&4N((57Q[]<[\&@X#U[ MHB);EK2AUU5SQ%5&8BX'G(3A?-"2-\+#3S892P:L"0*0H X^Q(@VNCX79OH= M44,$?0'I(7)$#) TM",X JS5)C*.7JF*T \D+)\RM /C59]\\LQL0+YH$A MG:BVC7J<\R./_B.-A]T:O6$JW^]2-@P7_,>"J9)^/S<$" C+I8]+5*^^ M!']M 0TXJK[#W'"2&R '',3[D707$(P;X,6R'CA+/&:'"LLDW:'+;\5J9<[* MXVJVF]4V#S^I6+!7UYX;/ KW$F#M%^@$7UK>*1NDXC.[*Z'%V.\<\_X*806O MJUC!;RH&W:* /X005J/6==J)&F:[.\VW4Q.%X[:+"?2&@DD8?Q&PG TQUI[Y MG@]'/?8\,-S*A0I+4[TTYY-:4)4=Q*P(_3;06+)M>X_(D Q>!T71"RP53*F^1#7C1*\]. O_G6D3:-% - [*. M .X<7R4"1!<,8':I!\F_"Q9:$0SE&6F>CPK7"C&K 7GCI36$M1N)5T5Y5!RJ M "!9,.0T_6>DV4M=WOU <0G_58<62Z]B"C1 $;=\W7+D:-X7DT455=?_>:O: M[+P%J+^L%Z'9Y["5'[K*1ADJ6&8*__V?%T6TA\,ZV+W%M'[L2U^. +B'#8K( M3=2H5Z.+>E[_D/6-O+/]W<:3L4-3OA^'ZAD(8X(B8PSW%W'T&8(E@#;8&>8( MP/L__RG5IA'^N.N?Q!4S'^)=)9*A8/(OW<+AK"#7,46Y0)8,?FO5C7]:V_S+4,0M4R"G)TV43.=9W-0?I\M7H/Z% 1E)-2DO#Y/\DE@M[#, M@S?YI;I%[:5OVEPL-*3[H+1/(QDT40U%4VT8QP2>&[!A@LVBI/%([C3GU:VX MD+93.]K-;-6><*%F41^OU:J8P!BG:"BW*/J?H[TA2KCN*$/R?]NLH M"VP!.P%6U-)S0J'Z!VKIIP_*+E"(T--SAS-5<6 ;+F B:0O;5Y.O'@1C->3Q MFRX* $!U.73!-ZIMQXCNWE[R @+'O;V48PP1FZD*#'("T*"?'F^[RG3_8@U& M&DKF7= M18^"_<-:N8G7S S^!AQ'%VS;M'8$F!VLR89VA0QM50O\!=8]E&UDGX G 85[ M+X.R!YBZX%< -# ]="^!5>(BUW./B)&Z5G43&7@ VH4Q7-5^VVA+KC&6UZ;E MR3370;8*>)5A.L\@A9L\ 4.TQ9&)QLJ* KC<<_2?UW:\40B4*P7A0\1U1%DV M@#9'_@4 LVO(/I7)M@(L&MDOLW3U/:'Y*$&1LU\SV3_$U-P 5%L1 ED(QY0' M^,@&\WE8V&@.X!K &;;JD8DCSR'Y:X;'<3:@=.O09L^C*@T\#XA<@0%$/U'$ MHUJ/58$IZP)C&.S#_AO,.HX^C[=41 @P@K1XWO=0U36P5AOL5'8@PTV!7P5U M&N S71M,.-8-:!W#=8$H7&T\Y?/PA^/*// @$=0.Q83&V#T0VJ-@"T!]:R- M7,0^IK6O;CT$<2)@36OP-^1'L# T3!Z!S0.G4AV/H=CS+7_EV/('+BV -#+[ M?2<1_!HAQIH!P 'Y 8P>:9[C8#T7_%S];(H/V1G FZHI!6%H3(X4DH @_MJ= M8A#!'(+?4QE0CS;R60(%PB$>AF VJ$!L5_5^ [1C0^<;-T7VF M!VOB UXUZ@(*P647T/Z 45=]WMW!BTX>>=$=11&502'Q.*_J[;[Y-,U;N=T$ M9I*90WZM(%"DR@8B!1 G($= Z\>MEXU4FC+-7_')_'0W3WME,(DUQ%78E]+1KOZ6BD#VJ1C MP<;FMTN;9P 4G>FY2K^MC,ENI]<?;;MFEVEFWXN2@7/$C>D#@.&^,D^ P*B2N M,^.K5V_?R%#U(7&7#G-K:IGN9(H,114:"N-GX\)6?<-Q],*_]UK;+0Q-=Q,=K_3MV8OVR& ^/9!)L 6@K1JO&0"P%C"LJN-G2M@3 MPD'^D$?R)U\JY?/+'9F8\ZEALC=YK/!]O>X?H08ED/5,7SX,[!\(RFW'[RJS M_]X[B!8-U9KL_FZHAKJ!3QW]O'?^:]H2. K&84+D[L,?QIIE.WO'VD;ZL Y@K PP%.V,6'Z%1<"QT4GR8D=,ITFL(/%.P1^3-E;Z8:<&0UX"C+X%EW MN:<'B!. W2!/P(E>LP'&SD]1!F#T87<2.S;R#DU$X("S-+ (^4BB0^'M1Q^@ MN00X [P8"H<##X(1*U?=QRX. BAC:6OD4WKJ(XJ8$K$V>-/A]3"P.M+&8Q60 M#YS,#TRH0/28"VC<3&4H-\'&;4=3D%10X8Y>"$A#AH(%_N:MP%^8+QF &[Q[ M\= _^Y04%,[]!_ %D0\7_L MPR(B?AA._Q4@]OWB\.T[XG MF?QL!D7>9R( X:\"PQ3!=V+!^#J _UCSDI7V6+'VMB^Q="W('0"P,-0KH0/ +>;=7+<^4*BMH'6 C 'D6%(]@ M*?M1,U.#^G,_%J[R@&/(+PL8/%WJZM'C0,>:1V'O(-^_V'B$V(=B91UE/'I1 M/$]N(\7X_#62$8 G_> 1C"M:4&_[Z8TH^@@O))$51 +[[]5]UH5_[/'BV6<- MK&Z7*! :\7+KH.C'5-Q")A&\X 4%K@'PB"% \A@@V%8L;;FG:T]6!$U+#,"3 MAH='=2BRCOP<>%R'3!2@\/9)+1ZA/NL]Q&]RT X]9A8O*\MV -,<&\+02#:\ M -@8&9#HD&P+U1IX"&DP8'1.9.^5*C2&H7/O.AX?C33(V4/W,"-*REEH0+;! MI)V=[:@+7V< =;X .GG/L/YOF(]: 2OS-V@ 98 ;\DC^($7X9SV^Z:L:8!DJ M6+,QB2!KPV\I&CD<6"'OR ]+.4@J VQ.MD H*A)J>>-P?,H(._5K2*O_2_&NFFB=X/7Z1%@84\L(&YM MN("E#+S&"#P9 #H,?%CNS>KCM[^FZZ-A\+N)!\'$'+"&PK,C1H+&KZOXKEA!ZNNHNGO]2INH"9DX=Z<<(U%$; M5=?A?VV(90!*J+H/66R(O9 LA7L])_/^H;61X@^[^ M]#""CCB'JFH 208\"F-?1>&\T&5(42%C!=X$#@@4^.O0/-Z_]' N#YQNP_'R M40\Q 1F=FP)R0Q:UT$P3=((D1J;J/>0?",/S><]Z@51E@Z'7(^-).=5O#+:JV+5J:EE4 MVY9+;B0Z.'(6'TCS.;M9B^F6(^:]Q9Y&"Q$F!245>=\VX&J^2:JG<>9*G MZXK(P5XT 9AFAT)FEFPD95(N*44J46MIA?$&C R\7>ZQ.[W)3%:BS,V'V53> M?FJ/X,@ 2MN&D!?*I+9M+]0,3_?K\ZX;A>L,[G[=H!1A$5#Y=8MYN;\UBP;F55OFV^AH8&ENMGLD(YWQEE1GCJ+7I92-RU+ MD/@@H![CZU1G.-[D1;IC3'N31*&5+DQ@X4/@]8)@Z*F:2Y+5@I5/+U(.IU7@ MR,#V,X-2OZQT!@6R6\EL-M1F.UML8#5^<$^9;G^57S46^7:T7T]P8DGMZJ.Z M% \NE!Y-:VFSZB[:]$*2U48B+5( HXG@R.R341ED%Z7JO/N4B3/\8I>H;NI@ M9.#M.$-9]W[;8UKD2C-0W04R*XI6Y3$;EM* X&1S-1J MPBGYX\;K)6Y39/+MW(XI-/MSCV MBV:JS:\[G5FMJI7ZIG!2_J@S-JF85+DD5K,MLM283.U!8G)*_G!\?]O85&F# MI*O<>.?LRGFR>%+^U+*+\9B2ED!6S$NS3GN^&'>ID_*G36:5C&(TQNUNPNT7 M'AM<86E,3LF?]'*7;.:=>::?G3S3JY1=[L9LGJT&GW%_RT MIY4G)^6/;<^BVZ94RI.+:%[N9 NMADP+)^6/8G(D:^IM4I2U65,II'*#W&)R M2OY$A7FY/7B4UV0T$]VL\Y-4NC 03LF?6;.Q:2T7U3'ICA+EW-IMI86D<$K^ M3//#P3)9&]=(=2IEFXF5&MUUZR?E3VE0&=%#P]R1[K9.UXK5\:-B"Z?D3WE3 MBC_V^G%-K,ZZ3TN-:;-2O7Y2_M2K0RO36*7:M*P*4CDEM:W!2?F39IWB8S&W MF+9=-F>SHOW423W53\F?@B@SNQY'I^:Y)-U-,:E"LY-Y(7]>53V]G4_AYTF$ M-X!S\904X,6/7%@6_CHYY>AR[]3._S&8IM+O-!85DK*&\YU<&19;J94RI397 MN>#[=SL^H-E&L&@ ;?*5+_7Z5QB ^>'"JG;X*?"S]RJ4P0M;2?CN;\/S[J_: M^R)$T0\?',>AB.-R1OL7]8R,5]6X3\.E4%#D5[>SG_7B]3^&ZNW=LWZX9XW! MEX-^NL'-.>_+Y6F,B! @@HKA>XM#@0,H^!D1\?';K3YV"O&UE[ '#A"_Z/*8MZ-LMP4#Q=3AE_]] MH-B'3P(D0$& 3$+]-Z_9>\U14A^^L6KO_O M7Q1/_L-0$>_#H3T"9A_,/L?L\VGNH;E8@KEI[H$) 2_YXF*&UCT2QZW3!GTV MVG@[.G"'M)'D;ITX**Q0L4(]PUV';^>"W 4(WDO#N'#U7$C!@KGC_0..JRN" MOSSGRAQC,_*,(O'M&/Y=P."]P^Z[E8EWSQYW*!._D_N$9>)ECA2Q0+Q7NGCO M:"VL A&'#+!3A$,&.&2 N>.NS&/420N'"[!IC,,%V#K&\O#,\A"'"K \Q*$" M+ QO-%1P0AA^+DQPY>2*C^_8[V]S/H/XLJS_>YOS C_!?P.[/235T)]-JJ&8 M&)N\.M[_A/8/'8[NFA+^Q,K#R/\J71=J,1#'E'#SE(#%P"VX@Y]!_F68GL.Z M'[LZ05?GNY'$)YVAPRT'/_ZE**HZ'G\M<1QN-CJ;77OM'7VF@>493CVOO>W_ M/=_9Y16V3OM1CVFPA+Z#XG&!!(^;=; M[F_U%;::+<';R*6V8(PR_M=E5.HHC19:E!NIJ?Q<%=F6D&5-*2Y/7EQVSGS@ MLO-])V-?]&0M5FFI!#2]/U ,G1-D# M*U2D#&,WYXV"N+*:PDR.RLIR#KO'>]2^M*ND7K$__(>O7^E57>EPF&5(ULT*]NI#GU:9P9569?"PQC4'=-=H+ MJ]QQ92&>:BI0/B2@JB1I-L*0\0NIRA#("*PJSZDJOYI?SJLJ^>%DKI:'V;RH ME40^M]UUQ'837LD"[YEAN5CB0KJ2"X')B'7EGZ4\A)SQ+ZTHJ1>,3_TAXUO; M<6,V9+)"NSDKQT5[FQS*LVLKRC@[6;*/NQXC+C:4(O;*2GZ41=? :>2BO!< M/)+DL*;\<'@TW QS:4WYU0QS7DU9I KDN%.H](4T*O,AYC MW]*4-U!\XUV$?@NI$.'0Y/Q5CSM" 0,_M'QE*(3))OB#N)G'?R]E'-F@X^9F M++IB<=!LM^U)>KZR-U^ IN B3 ,%R'C MRK!,]K:R/!:;SE@@>[)+D7$H55 (FTGR$3I)7\XQ_^9,A97PU7GJO$J8:F<+ M<3J^K8II,L]UD@*;Y80-8!<8YN;86)!5SA?F_N:\CB^EB*=6O#6;M8O;:*K9 ZI-I8M>SVYH4E?MLXFGGYJ&?ZP6_ M$TPRPL@(IIB6^34!F>G.N7,H(!,F)DND-=O8Z+?]FD[*OO-4Q6 MQNO(7R&_W:UT=\F047-7VE)VEWEZNG8X?%/ISW,>>"D[ZTT&9GHZ%Z0$ M#(=SD3C%11CR@N'P:XN)RR>3W11+?'4P_'V6.'.^6$?4AJ6U$2=SVX'^R&$1J5*7WMM+&A[#S.>]1F*"YF.5GK;M*Z*$ AD7CXR498FHQPR4NIQ!#( M":P2KQJ:?I\ESJL2MURTT,WMUM%V4TF8+;4@5C4=&H PMGQ)G8ASJ,/%%%^5 M9'WUC89)(;X.FMF]29K6F=F(C(K<=C@09LT&?VT?<=BK;$ENE8^VB]5*4QP* MB<5:KT,1@7*FV&0\PC,7/*Z]MI2X?![U3?'$5P>2W^>)\VK$^K*0;0R46I>4 M)[/"0&0UOCR%]A_U$2\1A8+_=F2 O;,B1S. 1G)^,/PY=-B7K\M[$G[^H3F MSI1@HQ;;]ZO9L@J$B M! SHH']I D@ ^($B-K)-@/\;F[IN;FSBWYH!YC!=&PRP__/CC'LZ.Z@1 ^_G M\,4SH$A=7MKJC_V'XU5 0$X]P2;21LC;7UB?A/,.08HVH-D_W<4*J\?0TN5Y]$- M ,(_2]/6((/]L%0=<-I:?36GK\'0B_=#Y2'@0]=17VWTZQ!/?1SM?X.]'/[] M0],E_N;-(Q@17X8(\LUB)(R(+T($1<5H%F,B!)C LBDDB$B\4Q.$$8$YXMX0 M@;5U*!"!M758,(%E4T@0@;5U2!!!O]-? B,":^O[0@36UF'!!-;6(4%$(L9A MCC@C(GZWQN6]DXA[N%?B/6%P6S XW+U"L9^]?"6>C#&W?>E.]N@<]-4QJ)YAV9C_'4;M_TI]\ D@;/=6X2)X]L1!WV^2ZV^N@-E MV(F#NVZSPS,0!X4U*A::YX#!VT&K>X#!N_&B>[WV';/'>Z<<5]<$?WGNE3G& MAB26B5@F8IF(9>(%9.*%_:>S7 :-91V6=;MVKD^F6\V.W'$A%+1"P1L40\NT3\3H>F6")^6XGXC01@ MR($0^A#!20GXN0#!E9,COJT=?*&8UR$IAOYL4@S%Q.C;3HI!S7H\^.R[&MTU M3?R)F7?#9."W-;MSY&.!@ 4"%@@7$0C?R2_$8N*&Q<0->,^>RW3#Q'%2>'S2 MI;IRY]ZV [&MJ?;9:/O:._KZCN5>1.S:^S[3)1TPKG6%K82IY?@?7$C?%HQ1 MYN4U?:.%%N5&:BH_5T6V)6194XK+DT\W+$>*R5-))QJ13[;)#DWR[44[;:GL M,E^NZ]5\7>+A957@^TCR4I=&AX'SS]:%/'&MF[?"U&3\J[G@PRW*CSA L)\; ME5?'_AM][7RJ<;E62O-%RNI(;>V)M!+#3KH^6D\ >W //Q.Q^(7N\0@#;V"M MB+7B>6^F^C-Y4.M77>EQF61(UI"GE>;G[_7ZFVMF-VUE2QME TR5YT- MFGJ%D3.-#6#[!-"*%!GAXU@K8JWXJL%[%>/.\%57\F$:SMN#$;,EFAW9R5XZ*]30[E MV:7T8J%AU%-BR>ZV5VVP8VY#I9<]Q/C 7:02?(1.!&UBK!A_$<\,-QM\]9U4 MEV:#KU",BL/)\;I=[L\7+:Z>LGK1B<1 =Q'=-\!_+BXKGQH;,! MOIP3OL((T!]I07#%?%G<262.CD]2"5.8 !;Q;(!+.<=WP"!8H6*%>N88VRDQ MLEP/A@6^JTW(IBY,.;E,CRJS^H44:NNIG$PH964B1K/3N+H>93?#+52H,-3, M H^:8K!"Q0KU\M'FSW'"5RA4SIZGU7$[LR3Y.3\8=:E9O$1M (OXX>8@@YPO MW/S-.>3:M7E88]Y<#/J4G*B6&H].LIO1Q72QE.K7!K-V,7LIC;F3&NF$D5D^ MS?E",A,5'E69[$.-"8/0-$-&F#A6F:&M3@R=ROQR5O@*EN-#6 MC_UE=Y @E3KD$>B$TC'N_('HJY[.[.F%H&CT@I;IR#KQ;4Z>0G3H_%*+,D"+ MCDQWJ*O7<;\O>RI]];V&R61X':LKY+>[E>XN&3)J[DI;RNXR3T^7"COGBY-$ MCQP8LJCRR5J%LA*/UFHB)6#8F4O$(VR2PN?.."'K,S'G]^GX2WSB&R-MBE$_WC7)\5V"V4+DE'GZR'!]))(+F^K?A?JS<+AG_ M?9^.OT*Y/8FCZ<0M5T51I4N##IML.Z6) C\"P*XUZ9OK-VP=KNV=GL=XK)[ MDS2M,[,1&16Y[7 @S)H-_E*N&\F3>J>9S4Y%>MXOS%+.LEJJ(^8'OAM+\1&> M)[%ZPSG#GXG5OD_(7U(D.F+8HDQQE%AL&WPJD]DQ61WZ;G[6;S C[G6P]6]' M!K+IYWY#SJ:80#74" MV0;"A*+_(7R:(P#;$%Y$6[!MU;%# "SX9#+&+3_<-//"ZXR1W-$I@+?LUE0E M%O+,M,#:"'-,F*Y%6#Y(-1L("4M;JR-B;)D+0G%M('Y5RR8T UUö^!&= M MG$1G.FA+Q<6N862 Y'U7D3Y+-X?!:'M"<.*[)E2=LRJZ?: M@Q33EHNJZ*Q-AI]F-@\_N5@B* HC%X?D:Z?HTY!<]GFQMEE*=5&FI%)I^^1( M1KY^24BRN9$QJVYJ6Y+OT$R.[(OD@*P__.1/]1Y P[MK=)WO21'X!X.U]O;K^ZW)Q@J M0D#V1O_2"(,0K!$@J.RE"M:R!K(F1@A.\)']8#J")=,/I!X][?@>&:2<)%V) M&E2T7963Z^)@)94KCX ,F%.&VI?P5!@%U&\ =)ZT*F/6C;/SU;*46Z2$^%*< M")"O3M2[O:1LQ$;(LI'1JXB-:JF$;BJ(\=[BM9AG0H/I(60UPY4]Q_'+[:$/ MVC\O+/NS'%"]=,)KI@WH9:F;.Y2S H07\&3LC&8KNFD#PFR!UZ4 8.>^VS*4 MBHMVNF.)FDMJ(E=)1NW^.%'P*17 4QT)SAOC)#B,>B!40!%+L [' L[192)H M;W76JYB.2E#LP60NN[JC>7 HK*FRX9]Z+H7DNA>&-V;AY^ N8!D\P'F+?;M M=K$(W@BVQ^\ZCE\L+36*(A@//SNRI9FN3=CN$'"T!OX"FY4!J]O:Q) =$_WM MF+"3J.[)!F((]B-KAF9,"'EBJ4@6VC&" %:]K1Y]!>3)RM7 5,Y4=H#\()8R M#*P )0PH QCS4(!#6K6TH0N^ 2^1"2#VH"8%P4AU5&L!/+P1,=PA$?5ZI01@"\"7JC>9*BO35V^$;WJ>!\VA MZMK$IR.T>&!,0'D(UF##%1_V@KZ _:KEA>F"]X<>36?LUNJZ$E_G/>0/ (# M-+ VSSB!ZXA=E4J_E'M>+*.K'A'(B/C?\"72?#B*]4+\(6:&_Z2/208I]H,B MYX_TN%I?C#/K'%F9%RU^HE*S=JG;G0!G@SZAR D >!U\B%P<7I\XF_T:>"UJ MVGS3=;D>N1I/&ZS&#[=/"^"-+Z3)SS:9Y@!J?U*;JJ&#>'V+*G_U,7R](H"S"C?"E6F0$B B<"[ MX=R6JB.C%(#=!E+=0QN2&V"U*&P$?##@(0+)_P(6Q,BUH!)#+AN:> H4*1*[ M0/AY2P(B&:X&[!#*:9D 6D2&DOE(3\E&= J4$5B;:.@65C;N"$/MG9/T*M9]&)Q/X9 M_S056F?RTE9_[#_\_CG_YHR:\.[1#8P6K?.*%.!,[E_M^_DGP\^<_K\\!7 MAW]_]?#3<_5?&$*^X#MAL$+A ZS+PY<+>0>L2\*U MO:> (%Q#O_U@<(+OGLUG&(EWH !\R6?[R>QG,S1P/H:)\KZ(L@"5X6DR ,(TO> #M$UV3?^_>I4T'6(##Y9"A?3>,E M::]5&_VXE[70%I9U_4C@'KWJ#=(=:>L]Y(X(BO?@^C?X-9B>X'U[]*"B P,< MIK),_QEI-GCA[@>:_171,HAJP=]3#YPT&:,@R1V1Z<.+>5],%E5477]-4R\K MTOP9+GR?),T&CIRS48;Q M,>P)[__9_C_3RG\;Q*)#@"X!XVB!,F:G0(J& > ME<=@ 3]D?2/O;'^W\62,>>;K_>(85 U'QACN+^+H\S,R7^![&SV"G,]345T= M.S_\Q_;?H12@PY>FYV7\0+X1\*->H>V(CF@JQK]$.DO%XD&D7Z0PD#G*4)*) MJ04]YG^UJNE?QTG?XOD6DO% BT W#X;Z#CPE_SS"_6FV> WJ4Q"4#U5/TU+% MJ&ZM!IEC^^S8KLRW'4J /C[]X+WN,'1MMKO%Q5.IV>XNS>Y.;&CS[:8NT3"' M_.5(W7[*:JMBRB;33:.3&K>VP]9D T8&)V53YJT:HV5G,UG>BVE4;K4>O#A5+! M]Z>M5-16N^J<+X[%\2 ZZD?C@L0&]\36](&9SBXG[>I.+&AC);E>KB9@9&!. M27&KB2JWFHIT/UM]+-"=S52H@Y&!/3'C;2F;+Q9F%3'4NS]DHI56:RU(1KC,(4G[% M&54KOYF117:9S[.+3;W!U>'0P)Y:#3/O9(S'$MFDEHFVL-XQ:P>^/PC28E

<4IDQM1HT?<P(SAG8$Y5?R+8U=U;M;KRB=MI3MU9"(P.(ZM1&C\7*,BJ1 MT=ICVB[G-^8V7O?Z%[T70J=J/;MUE MI=)>I)A5?2&IL^48#0WL21H73646SCL>[Y):18;>U(*(JFW3-JF=D MF]PU\TXR)30*K2[J(Q- %#MZHER)+*_::4MD2:.85^8[N*L@HAXKYI1^U$LS M,M?J=,E<4ZL"$2\E@XAB9O-$?2B-RW-YNLX/:T.%DCIU,#*P*3DY:>:D5?'L 43U;FJVS^J9 NMUJH]INBBN]#4<&$<6:$W-M51/&/"=& MJ]*V&"],HW"A040US+6^>^0+G)C+]GG!'+72@_1$HJ@@H*1:06]+@_&X[:Y5 MI3INU/048&DP-#!K/T4.*A.QZI!R8M1TI<+TB:?1T "HABV]0=LS19NKQ=R& M)Z."L[#J<&@ 5E;E2;3K9;HN=A6*K4:?QM;3!JTUJ*68Q3Q;C#=,,9VG.IN> M(=;F-IHU"*T!^3CI%.PQ1Q;'=;G>2SODD//&!C;F3A/Q?*:^$-I\,EVN..E" M5NZ")3!!<.E4[BDSH*-2.?OT:-;AT,"L@E@:IUHC+D^JL\*BV5I' M-Z4VFC6H*.N[0M]0ZELQQRBTH"9(N39 0P/@*O/ZTI[5!S*Y<-?9QV&Q\QC= M"7!H %R[PB[#;I:%%.F64]U<+B&E$W,T] 2XHCF:I,N[8KNYY69;RW"G.4@& MIRR I=V21I5BT9V[T7%_T%U)R^0"P."$8BNSKOJHL=R(C&KDID[NA'Z*14,# MLU96!J7%Z8X$[(KB<).JYPJJA88&P*5E:8I?T[69N%JLRW(^T]X*.0$.#8!K M)*RJ.K=Y-$2-WZQ35<'JK3IHU@"XVKG5NA45'T71M=J%:G:M+L@E&AH$%_4H MC/5&EDF0_-R8�W,.I79>*V][F3;T6*"39A.?I52-W!H %S3="NW M6R[G')DCV]ME@VW9V28:&@ 797JVU>R4I,HU!=FB,T- "N85)^FM>G MC:18+!9J>I]:B T(V5,Z9MR=M95I;KAJ+S:5IW5-:VP-&NTK"*Y4FLLV5AV! M;+NY9BXAYMKK,K"9J1-"7FP_#:1%O=QO=\UD*\=NUX(BH*&!6;="J3>(5JBV MZ/:FU1IC)W=D!PT-@.MQ.AOLMIUH0W2UY;HG:\R@"W0G=4+.Q[G&$U]J3$:B M<9"6WXA;Y"1P:-)TXVRRQI9TJ-K-YR6U ME6PTWC.LOCZ!/BDY4>\P+#ZKUYD3?E MK2R-YN00^"TG')=):RYS9%V61;<:S6U'P"%:6X)$GS"SV5QG:=7$>7;N5J(+ M15]W].ID H<&K0))K\[F/!NOD-J8RC^*F\)\-ZBCL0&S(&/WNX66,046!-]@ M.PV]F)H6T-B#7? J(>WM9"L_B>IK3H':L!Z!:,>:,4)7)YJM>PNTU(EL0=_^ MK1-6>&K]'-G2#DDW7KA?AHDJ?OJ)EX9CJ4M+M5%Z#HQ)+2US:5KP=3 IQY[" MPS-TT DG1ZE$\7_L7X>T_ 6S/)%!Z1'P3)T\.;-0Y@6X2[]%1->!@S:8BS4 M!VV7/F_=Q\XT ]:B1(7)@R0 MP,/5(Y0]Q^+W 4Z8!*:--44VG!@A&+O3T="-Z>J0* !Q*3#8-2(V4Q4PF /I M$5#8$,5E$/G)1X^I6\WV'0%GY=M0(E#'?QH.RAK>A1!^U/@Q+*AJ%[! M1TX0:C$"P&$JKU7",/T374#R^P7Z] >6[!_!/^=_W=MA>L9+;Y=$5U+ZM<(BR9#1 MR;ESK@J5[.<38@2TS1=I(!7$.=5QS>,4-.R0(4,>9B!9,=T0%$TW3A$:]!I&5= U\8FNR= MR-6TI0KE$%$P1F"PM2/\5&4B"V2_-^;$P^@Y,#]8F.V_!HZW#SDO96OI+*.SSC% N#P(BI.\848&GX?XD MWMGVD4A[E:NT45\?L@]5W=P B864GOOBO.:PFBQ $,%Q) F3A;SS=:2R/[.+ MT3.G_D["U)74Z/.3?&BJ#=$JJ^Z+% 9HZQDO\?[IW#2HT0 3Z"BUV"<'[V@9 MT0I*5D,I[S3YCUBH_+TG=2A5"$_2H%^I?V!&M;LP]BD9-II*W*OM MP:6BY: MO__GF?U9_G/@,T^JC[2)GR7M6P0O5C2 W "K-%Q[OPJPGQ>GES"5#O#P MD> YI&]#@?5&;IJPEV*DSH>I[C^2A[,;CQ M/!;@2=6\%!]OB?#I*1!<0[AI[7FY+S;7="TOY9( &S+M$YM1='=TV NR1P]8 MM#V0^&+>*PB )_.H&L;S->S#_.!1=0M3->$/P/]Q==EZ*2.]A1F __=OUY$5 MB=R0[5+SK MB! UCO[+XG=*%0_[H49)*[$LJ@YK*5!VYNEH=!PT5=)89+ WJ M/#8F9GPM]T5MJL_T3KW22D[J7U+LZZ-)^FC@1\']A^V[XG15^T^ M?X4M)V)4XLZV?(=8ILA8G+JW/=\AFJD8R]W;GN\/S?$[V^\=HIB+83[^]EOF M8DFLE+_]ELD8?V]89F-D\LZVC G['K:,"?L>MHP)^QZV3,9NE*Y_\SJT$ 5R M?^/ ]+L(K2_;\M<$_@N$(Y+UU#/+DP(-QWKQ93P)Y1P)1A\37P8DT;H MA<07A) _3P48Z3<<5,9H#Q_:+QQFYC^ ]K=ZMZ8/F4J'UK@8R3<;L_BR+7]- MS ++L[#A'9,Z)O4[P3LF]?LD]4O'I@.U(Z^O!<0Q9BR.<(P9$P*.,=\N)> 8 MYW+?.07K-,1T5]!;V_!<7!9/ ]0X%>^S*,71P*Q&C_3J% 8=_K#K/VD?Y. M?%9_4WR,NZPW]>>)Q$]_MBWWC>YQBC^MGZ6>&A CI%\1D?KAM7XOPL&T9J:KBT;(_L_]^UK M71F-G[3)X24UWJ>*O+@9X?U[&_;V%_SW3+OUG+ ;YF+O^A6,^\_LUBN0N&'D MPPL],.H_LUNO .*V44]CU'_.Y;YAM!]=VX2Q_UE7_+;Q#V^YPKC_M(]^P\C/ MR,Z]6_D'QYW^K./.QFY; V";#Q,!MOXP$2 BH&XU;/<2C/A;S)3!2 \ETG'1PIVB_2ON7,1X#QO>MHPI'5/Z?6P94WJ(+F[\W1U_,G]45N83RW2-T8]_*8JJCL=? M%TTG]O]/T6C^-#!F+5DG_%11 F:)$N:8<*8J48!VKH'2P,&(M@%_!S]5ERK, M#3+M;>R+L.&Q(J)T70R/1(CZ@80E0RC-N/_9O\&\H^_47R% MSY?TW.':?P!N)_].V8-5&UI)14SG"-32GH8[_ M^P \)4=J.L GDJV1U&YFI$YS/'E:-#8Z&4VHZRT]G$>'8OV!4,#;P2O14QG7 MJ[B5*/"_T)B36J9$T1+C_^7:T8DL+Z6&ZF@6RNJ'739@+9^PU6QI:6D+R??F M?&<.^G)E%59\28UAJ3YV"\T9N2/'FRT_(TN;%%C 2%6TA:S;_WV(,@_$V+06 MLO/?!VWK_##++^QL,[>YLJA( M%W6[/+.[&Y)6HG&^-GD2A[4-%!6)AY]]&/;WD-171T[:#7XX!:GUF.\__Z6<1[]_6 9 M)\U_;RSCI'F,=)PT?^]HQTGS]XAWG&!Y#UO&A'T/6\:$?0];QH1]#UO&&?!7 MRX OR4/3@CGL^Q3XEN7:CI<(/S8MHF):SE2U#"(-]@.^,#3Y1H\6[RZE/3H>Y\D$3FF_@91VHBSC5/:;264_QA9.8<))IS"?C.("FD*.T/"'/;X MC2(LC)Y0"++-SD:V..7LZ?,]\F02P8]LJQI[?VQ9W>L:JA^0EHE;G29 M1'98FKM]N:%;C^NMG)M<.2$MVI1YKU62.UD9(HS9V+4,D$ MSEW%T@1+D\OENG]2FMA]JZ@/.H,ZN2MT>I*\%1^+[+6+9EIEUTSTN]L5 M)T.J;Y22Q3J4)HF'GTR$3R:Q-,'2!$N3RZ7#?U*:.)D6)0B5S8+L-B9RHY;- M6.;NVLGRN?ZN(!>5:KFM*1JS;BN5>4Z9 &D"D^692))E<+(\3I;'1[HX61[C M'2?+8RSC9/D[PS).EL=(Q\GR]XYVG"Q_CWC'J9?WL&5,V/>P94S8][!E3-CW ML&6<+'^U9/FT:=B.Y7IG,;_(G(=)\TW3Q4GSMYDTSS)1GN*2),?CI/E;2)K/ MJ HZ8,2YV#>3.?\:9??+93A]_J;1A-/G;P91H4Z?QRW@<8H:3E$[8Q_X(S?M M9+J::>T]M&<'S<]3T[?L+/J4UJ*DFAG&,X-55QY7A2OGJ;7U*-W=Z-'2O#O- M %PHG;2YK$L4M4^BYW$#:"Q3L$RY9,/X/Y I;K\Q5JN9IR6I"?4I3U9ZC7KV MVG4YTHR;BYS08)94GEKC;<_R9 I*I>>2%^D4C64*EBG?4:9\JK/\'\B4 M'LUJU?)\)\QWX_FZI>VHIT+EVC)%=!+T9IW2N;E:[99'1CR_9CH;*%.\A'J: M8W%"_6TGU(= >-[AR2[.F;]/O.,T^GM%/,ZLOT_$X\SZ.T0ZSJR_4[3CS/I[ MQ#O.T[R'+6/"OH/,^JMEUE>7*CQ/,2:$:( AJFH=-:*W M\;GC6>/(H4N$2W)1GF1H-G[+G>JOW8LCI,GZ+X!PC+"EI481RAY^]E5=-S=^ M>CCQZ!HJP9#[1OCG-5ONBR9"6@WP9S1!8YHX>\PY="1RLUGLX4,O+E/X]@@. M=7D#AQ%]PVF#X8,"3C?\7%G$PN]B'WKVVGU0HF(RD+M?1[;R;>&1&HZC1 M3RC7+GXPY9;*CY65*-*=44X?C,IM;@][NZA+'F&RR66%=6+2C T,?SGO6<$%Y$B?Q\).* M).,7Z0N.)0Z6.%CB_%E)Q?L29YYQTA2_8_(B3RYK;&['K2?4M:\UF4V-CL&6 MA]&VO"VPPX7&U.K4!$H<6#A!1>))7#B!"R?PP3TNG,!XQX43&/&X< (C'A=. M8*3CPHD[13LNG+A'O.,TW'O8,B;L>]@R)NQ[V#(F['O8,BZ99A<.'$=RN<^(ZW'%P;U2&M MA_B.MR.$3X;C,H>;Z":*RQ6^.1^&MER!^MNK.,1XQIE\.)/ORM4*>\=V[]?Z M;BWT:O>9?)0M"7UV0;:+@^Y$:NK,CM]=.Y,O/1PZL]J&TLE%]?')JLW%@?U4 MERC.KU9@>)P[C"4.EC@AK%9X7^+4C'0A.1!GPEP;+LLI92*-,^EK2YQ2+QV? M%C)B7$RGJK-UC=GPE;B )$X"2!Q\C0.6-UC>A+%6X7UYDTKH8ESF!WFRV$P[ MV^$PG3''FRO+&YE6<8$"1CHN4+AWM.," MA7O$.TYWO8,7M7_-PN53(D%8=<%24I\@$R]YRU<&?8PU7#]PHRG 5P VA#&?SWS2:<#;_ MS2 JE%GYB;\9E);/WRC"PN@+?7W2VN7(%B>??2Z]?N^6/7MET"ESD$\6[)FK M,DE.7.BDN$@V=L-Z/K5)#JZ=AU;>I(>++9,QV\V2.._JB4XR,Q,D*NYGVM-) M$F>^8B&"AQ04(D\?"3B=!\ @L1+$2P$+E<&OQO"9'&LN"N1;?KMNF5N%/Z MH\::%ZYMB+CEKOUWEP?/PCQX+LDE MDS@/'N?!WQ[*?!^=WKN1O$51O<')Y]]K^2S MSZ3!'SRQO2/F^V'';>:WLTKB*3[CV^E':^%F>4>VU6NGG)'=8G?4'_4+ MUH1951L+S;I$)5'R.Q/AXDF2YC\BKI?K M_;2\58KTM46.R&6ID;2HS\BJDR^/[&[N*3O:()N7C+!8Y6.1@D1/"%/L/ MB)Q^M;L>Z(-LH[U8NML\7Q\O$]SDRB(GE19,3GY,DF23JW=E<]X=#RI(Y'B) M]73R(B+G/A/K?P6-+\^U/[GY_;2P2F1H:6":O*JO5;@1.*5LV-'@O-1='1*' M&T1?DZY_TR#"5/0^B+ZF'N"V883)Z%T0?4W!P6W#")-1",H7;AH^F(3"40QQ MTQ#"1!22THJ;!A&FHMM(^PTWB/P I&F-5"OJ#?Y!+;>$;>K:B/@7B?X'@Q S M(F9$S(@A!R%F1,R(F!%# ,(P%.)\"81NH7 G?(?>. 'B6B5 M]-0X-ZIXRK5 M1Y@\;H8\KE'IA,GC\TGPBJG#+?[W@7OXD*5 QA)720Q[L8_C9":;<$S"?DYV M(I8ZL*%N%&/A8VB<#HG3(4\7?13RV]U*=Y<,&35WI2UE=YFGIVNG3J_+F9Z; M?EQJ)%V7GO)FIRR0FB#1E%>MP42X)&XSCH4%%A9?7*XQ[F4T3NL7MR(M/]7J M&:%1F=+7OI(@F9H9W12KM>:Y1:Y?(-5HI]C;(&&1>/A)TQ$F3F%A@84%%A9? M6VAA]R9I6F=F(S(JNF-%WPZZ75G+Q5CW7W5J8'*TKA7 +AOU;KE9>&8SY4GJV M$IM=9\@[AIIS^L#5HE$0ETY$>.8BKA;F?LS]WYC[KQ23_5WN;\ELG=.2.4DL M%CBQ9$BZ*>D;Q/TP*LM$XDD:)PZ?7NIT[^\[^7KLZE;IB/K*$_D.:=Z M(8_46T!*^+CQ5/X4L]P2(],=ZNI5$JC^]T*Y4U^_K3 E3UTH<1I>&1;,G+)? MITG9B&M/)$OU.\5IHKIF_S][7]JK;4DK?5(1F>,.FQ( M@B,5I D=QP>E63I",XGPJ&2HZJ&JW_R4])^JNCD2G];506E&\LY:;F:$?DZE M/55/_?@99R,4>Y%SD:&JAZK^557]0D>B_U35V\-$]]@62 MNH&DY0$ISV*U']YD\"\N9#2QB6X:MW3+-G<5?[- S/9MO*R):BZY9B@!Y^> M575!\?5W.DD\VWVA_ZRD2;;3[#?*4F%8'4H>%$&& S%CO]-N@II1/P@ <<& MP[)-!UQ(^Z8'?;H X3%$"56$7S9T&Q!4 M&?HO_E/" #A#]_HN5=N)Y>1TZN M*JYXA9(U^!3[@3E:B4_(+WK]($,LEX5_3U R#PFF 9'8Q_XM_;RQO\<'GP&( MU$- 6 9<-W3_]KL!5VW1[WP_HN/=AD?K% $@\,MH=?=7(D@(3;=A:[@TP%]- M-RB*I0*XA*P ,87SY&4-0C[!2R; \F[%B*;CWZ\G9$U0'1$0*]Z4=0<^ ? V MU "+L!QA3O 6L=)51[-Y<[-['F&8(&KS:P(NU9#^]CPZY:U7X[7PEW!-%>;H MV)J!Z$B)41*2><-KZC-#A6+,ZM G0FSS46<'6 M32M"N !VM('_5\"N"UZ%@].1,%MSW@2OGFOKN'L\\5@0*XVC)P,1/MH&EB]B M^Q*&?N 7'#_=6]<3I9HNX*'@C@4=LL_F/9@5JU;D\LUZ; %@UO.TKU.CU:JA%$NC:*WWU*"*DA0H9ND& MJ[#UKI[KRTJG6N[916?:D9!1<,+O^-4'_NKP@KJ'0.O"E=$Q$?XC!(38 M:^J.-$=OF!A1/[TV0(SF5?57:R""\0W@38L <%$7B3P0,/<(AHK@_O%?&B]" M^-EX1/\7"N8)P4Q\XD;P&R/,07NZ P1=TJ#%)>[$C]T3/V%3J&OS)[I&\J[0 M6U-SKCVV,S]^4FPL?BQ>T,I3L45P:9;=)_!?AV6+3*.E+0?#5;](E@VJ:.G- MU-)C&?L.RY#.79IM]VE<78=M37OXQ$Z:>I63']O)CEC**KD%7)4IZEVV09O? M\)P&=1,C>A!@H6M@ FC9PQ=O6?+P&X1T6YRE"=DB$+&A,Z%N(/@#C.?:05=S MP(N8;L3,U!<8RENU$L$+2P>ZA*C?& '=HCD/W1=MFQK,@/..OKCLQ-3WV6.G M0S&BO/KY7_AGZX0)*EPL4+!L_B]T+N ZLGG H27?#]R%3K'+"M_//7^-)F-4 M GZT/:!#_H6\Q;U^#SJ+"D!5_WWO!-^VAPL?Z*#C+R%7/^Q:B#)QCU28-'M_ M_V=_/B\'*Z/0B=3-AVT$>8^ 6]K@:*($HE/(627*S^ 'GC5Y3?6]K9@&I_5 MQ,'IAUT0FL%183+&)/XB]EXCLARQ;<&OHWN4\X.7417,[ ?_9]O/<.!Y]Z'N M"=*#"50>B?0KMOE']:+5Z3^A0%7P4XWX^- M^3&O&T1P[CVR!$P3AY86!M L?A=:^F1DJ:SYAK"+PB.Z =<^@H> JD67#GSX M3(;OQ>W#A/V'(3,;+MA0:PEW+D,[?Q=Q$K?1%PSX"MCLQ:!0+ ;WAQ!=-N%Z M(@ 9BC>41P%"(@^17^"M^<&CT#J#5@ST0!EU"A\[<[!%CQ[@:-!+91%."?;#(^B5#=@,KE3P@=MH#QX<="O0T@WV9HW&PV.7R4+_ MHB 9@>#/0*/6=-^WX07!:V+/>1LNF*;I>R HLN:10M4M"]( _FH;1Y.U%;!L MO%;Q*H1N1%2.*<.4RX5@VD9?QHLXQO58X^+6WP,(>=\.=\G J GR,%VY# MG((? ]CY OM*!K_1'1N:!',@.BH:CNFOGF"%PWZW$?L J6-O*P\X6(J$Y%"& M#5.'L@3\..LV$>D;M@]JLY5L?3:3X6M/&%[Z<^M*) MOL;!7@$:([ ?:.L2CH&4AA#F2&N06N!YZ"KAB_&>&&+\2/YK0:'C[3EJ\&)S MQ8B,MGDA!IJIN!^'>"'8 9T@ ,T!ED(T-B2W)E*M")XWI.$,X)G[@SPU%D_ M^6T\V'L,UBS, MZ!-(8O< ^OYD, 3>(E'PTPB-AX62-<&4ZO!2U5W92QHO!P M;K!SQ"8>,E-%U+V5QAP!>X!4*(,QZ42\!0?N3ZXGD);>X'T%0 ']=U8>E[?. M[C]FK$ESMA^:$1N:S/<%C5<6M02?-.1EW\ZZ?^*MX>GL+]JU[;1S*F]9>,%M MZ!ID$W#1VA5U1WT=(&[174P'),/)*__=GEFK6R/PT(IG# IS7"[AOT?E@ MG?6G^^Z04 ,LJ^K&PX[M6HZ%WR,X@B\9V=FB-],I)"'RQ> [#"[V'+QE!$"# M"II1'MQCD=\?H.=[HYD14&P PB/X)&@=(#]*]+?(9-,S7BPL34BI5KSJ@*TP MR(@(F@599.*% ;6?\3):RDP%V-O&",+Y]_1Y_S=?12V1*9W!A#VI@YE)(]LH MRCE)H=(=ESAJ\FEG!OTR%9QC'OM\[G@@A )F MEF]S'Q_KZ-K%UI#GNXD^L!E:*% M4<^>.-9QNEV@CG6PON_7M>$$HUGL(NS3 MXVH'.WY+,JXAOT.T)P4A&RT)MJL38.D@H^1X 3AP?BU,S^T)A[VF\?KJWF+SNCS"018T=6N!U@D '/APZOG E^R#(XQ,6UF2E M.?&&+2KS_K#3RA5[%1=8EO0+G-]&V(^C]-XPT>>HH1^0WW1DTE[62[3B;+*S M9R'S-)K%,[^]+'31R+&&["M(YB6LD-V\-&GQV-?(( Y Y(+#:<[PMU;&L>?0 M?7@K#F\)5/2Y-=O4R*:;+[<;*[W85^!*PL:.[V]L5Q+OV K>!05K(#C87(B\ MBKMLS1H+:#(Z-\1K/)0&%%HP>=]$\>4%=;-S1I$9P1O(=/,L#\3\@R 3? .E MP@9@*X?'IV[P\R7O,;!SI&H&P/I&+#"KK/=^>V( Q\V@F_F.20*[P$H0RN@' M973%RRJ*"Q=T$XO'25&-JH]),2L^I_I HDO/=%I?J0P6U>.L[*]%%<7WH."@ M#Q!20DMUL3UPMGTV]A.PU!Q U2L\_/;1J3ZFC>1 NP_9>Y"PF6Z.2%*IR-:2 M_*_\=BP95=794V;?&B"P.?#*$)!_^L9GY.W53=!1G,F":LU;. 2[/9N'(JAP M:)B=D9=0)/H."I;@>*X?]ARPF[$%A/TG87CR_ \91S[]_4SDC8 U&@3\V)!)O!V"F&?P%S)D%1P/9-UD?A;VL96\0^WL3#_6W\<^-G_X"U&:(;; M4#KWV\)&G6[?P[D6>K$]M(+=.^Q4?8L).H'W'Q MD-N73=\A12L5DE[SA;I>,[34^E&*8RW'RB-;KW!!U2VD7'XD :ZAG@ZA0.#! MVN&W%WD4UD:VC7]B=PLZ.WLUYG/Z +*VR+$](+8="[_031OKF8.'X:&1R2-1 MCZJR!MT" "TY\05R#G$%SO4M6FTM<&1H'1_+WIZ.P#'[#UHL!D2-24DTB]-> MP1V23F)=GI$9,K7YW<-GV"CH;0S/?GDYVK+E*B8DUAA(KU<'8 8>*A[\\@W# M!#\%1>?FH*D!OY_4B&OF1WVM3%9K!4'I94%SF#\(Y]"?-8FFOS:)IJ]-(OS' MGTL'<=UJ 1,=F8!V\\X>BM)[!E'_D:ZL5ZWTF(MN2INB8B\9#AJ,/^ECT_TO MQ&9T%A%*+XA\(S;W7-WO1[,G>B_:TQMD-/I8J!O11B'+WP.;J\XJW4BM-AP' M[-&XS:97N6?3_06;;5?W3)=OQ.JY";8ZS5:2\IBG,D_]H:H,RZ-U*I[5I#M@ M-J]6JFQ"SZS[B^62*P,Q#9W7S(^?B>.+EWO,1C./$4&Z$14>=OO 8;=$>-@M M/.SV1X?=^.W5[50],9#I13VI '/ MWN/Y9Q0;4.()G]X3]NU+"M4O)YK]_)* ML9_3.O6PY7%;M!5GLK MKE@L56JJUJB3D\R$/G[Z8+:I/*T7LJ1$12:N?LLY29Q(];MH5-;U@PRGFN M61F6;;6I#G@E,TD]Q25*>21LKUOI*C M\U-7F]2!X;BG*#]MT!-IV#%+RC)M5/K 6')BZR3E5_$2T!U:4B"'YG6>K.>S MY9ETBO*3EIU)=F>]LB*GHJ,JZ++R(.Z>HKPX,I*R08&*LDG%EY7'A34K")E3 ME!?4/$=RC-Y3HB.U&=TL2+?><$]1/AJMVZ3=,A+<<+U)/CVI3FV0<4]1?N%H M*[8I"L\*31(*5!U%YU\L_!^/#1Q"+1JKU <$7E^R%1ZN,IN8]<_:-><-73_[,(I M(RSCCPXCUO$69-8>]+(Z]<0KW4[!SD^ILIH.(Q^MVML=.+RL#%Z M\UYB\.._YTB]Z=E=-V;IKU+!O\=D?W/]7GG[6Q'WU]GAZ5]EA_=XS<;21]DY M[XK70_P.ZG,&SI.7@'?"D,BC[?@"VOL?X+U_ YCXS,47D8J#;G-PS%-3AMV4 M@+H":!ZH2UZSHL?]?F9M^(/UX,;5C[87$GA[=TC3PT>&BG@O4"J(3PC"'M=O M.K?=-E*2/I8*?QME%Y^Z3E$,?[D(5!4P@D&[2+^1T_?W3^/29]G\?N\DKX6. MSF]$;R85;?2=3J9!L@M5KV9Z$MUK'QQK*#<*USC2ZXVRK,$Y.O@6&KY1 MU)OS6A/?&[!VAI=W^/=$_F&'R_0V[I I]>F>6V-()3,01V@S@_[QDR7CD60J M>8GTPP%0ZC]<\_\DEG#K>9\CP[COC-\W N51B@B KR7Z&"38O6RVE9^/E>ZD M.FZ7$TYGWGW_=F) ,>C3IVTNBT!;D]&W&+'!B.Q%9"YB:_$$."7(1IHVXD\# MI=NI;KJ/C])SG4/@E/CQDT[&4JEO DU!-SQO8(E1GB56],[9_IY-&1J0]X35 MOV,M7N/DY">!^[DPZ;T0.L(,2QB6_:EP2P?K?H7$9*./2T[EWC,OFJE9>Y>QUOE]TALF\^5BF MF"DZYPR-2YJA(PR5/@+N?[ZF^_^-(I,WLT&#A5BA61IPL_00OG['+%VV&_QD M[% YG--KR6(;\@L96-I*HQM!L)2O9U96MCFP VCF_=WFBJT2>_/ M)MTIW#MF:?69=#(;.]/ILT(S/E-S<3EAMB<)+^898=+'V^7GLTJ_N"D6QCQ# MXS(T+GDJU24ZIH7EJJ0;E?:Z-XOLBQ3,?:"EF5H1@8R MX/G1LYE,& .]: STT!YEH#TJZ@ZZ)AT @_1H5;AB)M4KK@$L^=C4Z"P5YY;Y M>84>1D?E) J40E_9COT/3M/R\RAW7%"SREQC7/E=:7+ZPVD[_R!$]U:EZ2LBS'I3 M&>53Z<)86>3B]H(?]\;M:"!#=&^<223WTCD^@PQC2(FQPLEJ1XB"F6)-TRAW M)YN.,/2)FN(X'3 N'K#-VHOK-/&$Z^-8E/=O.7H)DG'2X;T,Q^B6(Q(+E'3N M%X60SA-*N0N)"<::]+O'Q_8%JKYIUJ=91[2X9:[&Y>*@G@ L3@8;HX_+('@) ML&W=YM57:; [7MIXOQ@CJK*Z QHFXE7)]LME4Q4GSN;>FEB=?O1ZF0^UR?M_E)HOU_D)7)QEM\%=J*@56HN" MDE/KDE:-VZ0)(,OC[]7U01I_::Y3!URG;L'U+%N9-*=CJJ!4D_QJ+J3I-K.\ M01&<\W.]_\BW-$=LNEQU62[I<;JQ$DH9Q'7V'46'2[\!4/Y'H&YB1,8^5=4( MET1:P^GC"\U)P=@HS[99,G)#CH_V$NUTK19/9*'90)&QXQV8'1Z@8FO: M7@68DX4LO%)*UD%!BUVM2=@1JCFZUPH'V%AA)5DWRHWRM(XD(I:F MCSSP?>=X/X!AF #GRT(1+S0[*T; _UV]\$Y ???W"P)!!F$9P553@U 1*$"4 MZ^YJ5AU5WUGP&X0H4-A0$>-=!1_4SMBC**Y3:WI%;T0PDU'C!4#J[U<%TO!& M!JY\Y3W,[]&K_<8?=(;KZ! ")-4*E9"?F?KBZG4U+-.>=)!%@7$)O:O+FKQP M%J_@ZS3TM>#Z8.L+3%-/3W;N]C.(/D M0]GQ+*!M$0U!Y1]6RG@ICM&<]: \ /MTD8R:)@BDF='*_4UG*8GES9#K,]*/ MG\_ U(]7LX\7"[TDL_CU69A%3BJ-7+XB/2G+187MR$.Y_9AN?S;6<45>=5.: M1(.I#%W.6BD.,E1NN6RC(D7DJ8HF?ODL&W>XU4RL?JATK:?MCO$+?4<]'.BZ M_X9PT,^W=HH7/T,U[D2 *EYCB/B3BJ-;9))Q)>T=,J'RZZ;&J]LBA19A.:@R MNX7G )$)CE^&7[\Y&X\6.BK=!'')*T_F%^KS)G;0H8>2;W6&< W7Y-4=(T:T M7F.F4%S"9?>\6R?UU;3OKCR-BJ&BYZ%"]_: MA J%P:M5N?!@'#(.UZ3E^ZMLW\JF^XOJ2)9V3A8H['*Q8RP_=L;^+- M,II;4_Z@'M[I^/)^?G?EVGNML]7>&Z+ZV$^. MS])?$MKTRKY[U8D_2#!>$*#$X^'IF#!;\GE=;PN8^L;,&GGTWA.P2D.1 SQ$ M"1,8:*ZP%T0RGTH?'*K/G0]PUO_QMAZK;+XA32:0X$]48&%;;Z^OL,[NF[5$ M6H&J);*WA&!$_4@QD1J(5\CVPDSV%UDAGWZTY.9ZU0Z+B5RVF C+QD@VS)/] MXHY?IY@(C=/KAE2_>9IXBHJ183&1(' B'B.9D!$!8 03"Z$I"'R T)0.2UB< MD1.?O!;CFT9W6,*B=;X2%K\R5.ZLA(6WVM]Q68-SEK#XU8H;L)L!GRUAD?". M3M\OK_^HA,5O@MT]W '\='T&#\3".X GL?"NK\QQL3%I>VNMUGNJ=L M*NDTV>_I-2'[_E4]M!LI\M;\]K?TR-W-%JG4G#V7DTE969=-)SIGU1>FY)5(^#6Z_)X=ES7^H[D9^U/QR-,^B(9L>_,'[Y( M=/=+S/&7D=/ 0.5F1L]]P\_]V4$WC\W\;I[W%WPJJH^Y:-Q1;6Y#%^+E:.79 MG6BNE^?]ZP5H?CMG>1BBN?WV^5WF+/\:49NW4X^_($FOO5(+3&>CCR1CL03QVDFSI%Z/ SU^>C)F$]GQPX#.9\*Y(39L3^3D.<]G*J,J(VT2HQ7 M7+1+UN=D(9.8,NT@VCV_/CXS22?!9L;Q'-=-+9++IXXT&?3\)-<,$X^DF=1% MDER' 9YO->UO'."Y*O $PT#ZHR,WS8&@Z?.G2I>,TO9BK3B-;JZ_357]$?,H M3+I\/*X[2('W9X)_QYGLAH-TND-&%V)_*>:&C_/^9FQW7)3+].T4A[^7R*X5 MV$1V9\J@$JA\=*-5'(SH8F>I%)7H2%KWRVXIWH8@%J.283ZZ*^2CV\\$V"#VH3;ZH+\LU4'0R/WY">_>$WW2S1-2S45Y.R./JFJ/Y MYU8[G^DTYO3O9X+] X*)R\U&+,UI4:'[RJ/()UJ]U 2+!D[43I@1Z];I'&V M1E*.5IDGD8QRB?7T,?/4[; W$;*1R-M/;(=:*LOUG)E1-;JU*+5QJMOWLIWO M)T&.$++V=N8HZ+W-O?SYB-!HZ?6R%:&^$$]2SLHSBB^&+UWWUM0(7PA M+W3^KRA;ALIO'K 7X#]J%_7"3X?O_3OG-!FC$L;KK#1[_1YT%A6 JO[[[KW- ML]XI?_/^)1W?"SWZ,!YEV..;X^CO_QSP3M?N^1D

;3,>8[8[JPRY^R.#]:C+&)/XB]EXCLARQ#24/VJ/< M0?X@_V>'*82V'_[B^K_/=5LW'F@JQAXR/4[%DL=,OTAHF-F+:/+$W$2X\[^] M9NYDB@!LO&@(3]1_]V_4^A_]^(F33R$S/*?C?$O63B7X7ZO%:U*?HB"/,6I"9Q(/ 3GH>OJ&0\25,LR\;C] _OJ?S6:^?=!5A%]8G,59DT MDR\IA52IU4;(^KJE-IJZ\<;26BLL76"')7:ZHC7_PMYAR^?$(%Y4VB)#%O59 M<: SEJD);>_RS6%+JMLL;>C58UUAF\W))IDNV*3BPI:IURV+]N9YDR(9P '2 ME2EQ4&SR>71DEGS=4G'$#/E8-9**/.XD\XNG::'6\P_ROWIZ+4%O="-3ZR^? M2XLY*Y4U,>T?PSULV59:ST*7LY/F^AIX1)6N3AJ\2,G@$V#DCFB 9M+36H MN"DW36ZRY)0OY%RZN'1/R=1BI8C#M,85^T.**A3+Z^?%8[E]2J:R3\9\/ADT MRV2U-7Z6:I+3%$_+5*ZBK*#BR'6.S0);M[5L&BRE4S+U&)TVRO-,<\+1[$R1 M54ZH.MF3,I7+K$H@FAI4N6(* +,8+2[K]9-<32S&\VJK4.ERN<9P.72:JEC6 M7>_QBMB5(UGR>[E6A4E)-CLYSS3T =MF2GFUZC',V7^\MJ8M5J9.OM MO(G.V1LE0H,\MF:SB;NZ=D*M&MRF2ME%>53=K-IZ2!TW4W M[H0];EEA^L]J=;69DG13C \VPJ0EL^XD==P2:?F))]Z4[<+FYY@T[12YF;YBI3H#]6$E"^U.YJ8:J.F M1WQZI.W*NNUN*OU-KDHMNJ-T-[G&38\8M4EPR3;C)* PI5-ID:IU!!5")'6" M4^R"F16S,[W6KY*M1$J2YG34.(F[!74\;(B5D<[QT52T7ZB254G.G-(1DHR3 M.<"DRURQ4,SS:@]8/.J#2[O>AR8AOYG'$2=_E\="O?7\[3Z62S50$-$[5D7K>BQMV MAEE:; \KH(STCGW=:*[^7H3DJ:)(];+LH]/EFSR'2_&<^(\6>> M3JDCZ90V%9+0U^@PYI-":WJV6VX6E>@X@[ -5R::3[&;"CDZK4W9#CEL,#40[R_U0>FYGI3;Y%,;-3UB M:,],B)EBDM24I6W6R\NX/;?F$FIZQ%&]WNG4H64-^E.@QZ_SLB6H.DJ$?9P8M%+..H#J@@W);CC:'1N;14G+>(XH]*J MF+'?:3=!S:@+I1']3'(F&Q!4TC].Z\V;@!,'+\E\ N(77B]=K$>%+(#N,WB1 M!/B/!9W#C(;"PI"&VAOY8D>+(I4>*(E"O^N61";O=*5'_C;Y8GUV3O%,",/4 M$:EU#<<%9.\[&[$:4=.2+=O:YF6>Z:JJNRCO\M\RRF&M.Q:OB=8_#X$.J=YK MJELZ%D^%^?1>G.7;93:,I<* M.0G\V\G3IX>SW6733OTJF_:;US 2,?:^DZF/ 6\2W,%QO5=WZOXLIW:H'U?0 MCZO2X.,YZ-^D!QEC[SLMO7?/='HFX;AL+I!+@^?W%@,Z%(-0#$B:.L>O[ MG.@ -+0#NJC>KG6V=>_6L[K!+57L'-]ZWN?(;N]YE_=]W?86UT:83YSH]W;. M:[IE%4Q]D?-.=$""-@W@C<-Z=3P 6-L# KMC_LQ+^J'N3$SJ3V62*SX-AEI" MRDNYI7_LB4JD(A23O$2B16_YNK7(AZH>JOJU+SS=3M4[K"2/NU+ DDX64YEF M(U/W#QY3<3+"D.^MZG<0L_//.9XC)="MHVW7!*,;9R$](,+9*I3Z\!3<#*NA M!V+Y^GH"JMJ]_*J6;1D*&+[(VTH_-IAY:L$_%?KR8,$Y_7RRIJ70=2?HBM")2)(.E3Y4^E#I[]$K>5OI MP6!LN'8B3G%LJMM,+Y[86EI#]X"14T)%$F?-0!R '9+7511P=J]PF^3\ 96; MIQB^7L3EYE,-$O@%S\WAUK;)0Q;)&F]NRC98H)RD: JFKJKPIV6T4PPL^P0Z M\HS3SR4[%4:I@JEDEEA3RNOH7C?R@Y+)",NFP^AL""8AF'P;]^D/P*1!/6E= M^8DW2):32(MII].#&DJD@K9Z$ND(G3K.\1J"20@F(9A\5;?L#\"DW]M0;G73 M3RARK^L\MVART,BB7%O(;TM0D53BEYM)86[T\XSK>HE&4))07<-9]F<[,?*S MA6:!!F:R_4:2$7-8+LO/>;7>YWNU?+>4%,?/MGN3)".].<#91[V);#.(O)-L MA#'MV8 P(KS8'QA&A- 4"$:$T!001H30%!A&A- 4"$:$T'1>1MS!^>SO MEU,AS#D2YAP)]2,@- BS#(0Y1T(Q"'..A&+P!7*.'.P_)6/TJVV_J/?1 2ER MCFG"[UZV^L)CMW=^C_GZ\P[BK><;"4!XJNL[S3L4_%#P0\'_ H(?S#C(9\VY MU]>H"@#:X+P:IGXXTS9(H \:?Z=#PQ>^SN3[1+[Z')WF/''PU^ZEZTE#4F9* MD^P-D^W'3%^%K0YY4R9_4ZR2(GU)5-;[E( M9X>SN5&4O-0)B4B<"C,GA#KYQ77RPK=K/J^377*=63SWZ W9K%;K3X+Q7!P\ M9KS,!DR$3::^0F*#/[7;<9KH\UGMW\\]#89;?NYD+H'RMK^HS8]5+Z.)-5WX M&* )RW&N-YW:#-DL#^I5,MZ:#9R,EXP@&:'H,%%LJ->A7M_<;?BT7B^S@YJ; MF^5FI%-M58K2T\INY/R\ '2$HL)<[Z%>AWI]<]?CTWK-+?L6NR[W.EQNG:K- MAN13U"(SWA7]>"2>I.XNV_,?[Q*$":+#M)%AVLC;;C5X.O@1 ..'XW(^HXWF MW$(H656CG.L,27?"(H>#B23)1!C5#!4[5.R ^!V?4&RFU"_7F>>NJSYW%S%0]W.MY),GACM O0 <5;TR5(2'D=W^:-G'BG"MP\ M=WF-GK9S7+.8692ZFWG3&&8F2>3:T'2$8L-4K"%TA- 1!.BXCO?T<>C@C/&B MKTK1A-*MR*VAKJY!<8F@@_4J9B3?JY@10D<('2%T?"W_[./0T3 #D'#B7L[?OZ<>S?X)MX:" M>R[V5B!WIQ>]PD!I*+^A_'Y5UH;R&W3YO9MX=N#NWH9>9G@J\/Z=OPN'G+=> MC*]]'W<"BY21&FS 9%O96;$J3=(X])R*L$QXCC_4[%"S;Q<1_FW- M+F4?\\WL4NLKP\F\--([]:DR;4/-1I%A.L+&+WA@[M82'FIVJ-F!#]C^MF;K MPY12&.>B*IE;-!=]%>(-VT*:G<;;Q2SYRV)[=Q^XO?#-X6\!5O>,3-\)AJ[D M.AS<*/HX&#WUAIOY?#KK1["^GWV5XX]Z7=6[OL M 0I5W/JPUI5#&;>>[HV-EVOM2'@*^QMFRU2QHJT2+5O<,M60"^O^N!;/0[.% M0IX%F[JDV1*"0F"T) 2%+[^S\2N$> T,F>(RQ28VJJ[0K?1"XE+-3;N(@0'G M*(J_FTPQ1(80&4)DN ]/ZM/(\%P2!L-QNN@H[*+:IR_ M?%Y!-T&P8[0[U.=3GVX:Z/Z[/E90I;KA&/*L468YZ+,C)U"J?0?J,:A:S M$8KZ9='B_]@\9.//;;.&LX#D%R[ -0&Z <#\7Z",+ P>)::T=<*> X)?0/_3?J.Q/>=MPM4=582= M6XYJ$],-P1N&NH&Z@G_>CW5CQ,Q/SF39O.W8NKG9[\M$5ZCAPPP31-%[_RO9 M(G@+RI>JZJ[U@*ETP,VS&)N',MH5YD!T5-"<<;,9@)*U CNQ[>\K[KC'$-?^*O*"3Y%QJK M;6Z?ZO=&>7/XH/^?CE'O>L>BO#K1OP[[G$%YVI)D^SZ*EH:'J0EX)>I"(OQK MZ):,>/Q@ I5'-N6GEJXZ-G@UT4LS>J\A_/*C5@&[CO__]S_1PMH*N(A+\OQ_)'[_KLT <3-[TZ'?J M X'5]X@U!KQ)<)H(1"(/!+"8 M.C%D-%WB#;98#J^C'F,ZI.B!H!1(T[H($7 M?+IC^$"[!&<"B%_%?^X:("[F\01U;?V3B,=]ZP-]O@7S"FM$J ]!U@?/S;YO M?:!" _)2!N2M[SU\[)#"V6S%6T_W;!>&?;,OV.4:/GANRG!,,"F)9G':*[A# MTDFLRS,R0Z8VYS_87&X4/G%RZB-G43*V7\VANQ7>@\:[4U91^J4,[Y)SBJG4 M4N.*A9GA@N)Z;CQF)LR$AFA'Q8[K=Y_C4H-G&]]:_O\ZV_I]ZYE<_T2H;]E^ M;Y7__-GG0*C\IC=.'R M(;OL^H]9G=CN^$_I\WL?XS-V,CV#/Z>H2P#II9Q23 M*6N22Y;(7%YG0G">1& MD+'C8M/GJ,,4C V*6]D>WV_>0=S.N(;NW][E>%_WL\E^Q\D,2GFRFWRT&+;$ M/J[8-M1]Z&10)\R0\]1@"\).1:C[WWE?X]]/5&"\8X_D?>6/YFNKP33[V.LW MI]5V&XA.CQ(DJ/PII/S4I90_ #;ME=V2J\ZMO-O% "+!V_A(E45()H#_FBB3 MC(:3Q81[&^'>QI7=D-?UWE"+O Q_: +-EE&?QQ@EM_O&>QZ6GV]#1;7 'L@RE.%P *&[^S29^8?Q+X$LQ-B]K"_@JW!2YATV1 M;^B:' BQGSJWCD0YHXG^\V?(-W:,_PHF1.)A.I-PP2X+6 *;V!8W4FO^T[:K2B+ M;"KQO. 6+::6F:3>.E06[MN$$=T@[]OKAW3 #I@E$V"AC6<"V!EMISVR%_10>2F-& M'I-&1NEWYVUGGGXNCQZ-S"3M^3A?.;-7&,_]SOL^W^/BS.? =()8L,IE""C MU"/=]+CVWICT')@')OSA?3H"[/NMVN^SD@8.L MV[M 6#HSXI-CV6@[^N0]P:HXE:;]A9$B%T)2$[FG]CQ;D284Z3DZEPGQAILY M7V62-R_2$3BUO[US\Q&UUV;,8*PTM1E7K%?)B<"ZF]$R@]0>[^Q<+$=1N+/S M)29Y\UHD00ACW-XG.:'I;\R T=%ZE\ZG*Y@,(M MGDM/=R7/XFSB&$,1#"1-U!9_@"@&%?Q&-Y9_ ]1LI7+J,X F#(6K MKZ2_]!Y-6(KA KLN(1;<\LS:'V&!5"6I]K^" N2;IM;@PVW[O/K27>^-K.I=-]%6(#JM5RJ=D(P M]EI>UVOYC\U#H?VYG7'#6< ^A%O4Q_R@.I]Q8+(&GV(_,.QK(O7F@#!,'8T( M*@N4T[WB,/ Q<]XBI@!H4)SAE!:R!D1BREOPKV/ ]M#EQIZ6RKL6 37+S\$F M>]\(D/>V*7L?0&$1YH0+"!U+,8@13;^@>RS(V>-.<+$J]7G5:9A62SR8W\7G\2[^" MK+1D4>:W0N%]]YK+/.2#:>CFB:??@M&6B7NU 0HK%8$N0:";(S3,K&5KX@GY M9I++3(INN>:FN%:J[]!-IFY-DMRHWPZ@1+CVS)42;4E39(G,#Y/T>%Y:9M"" M<"P1,6(("%$6"4VW(1RL !21#7RC12%/$*"B^: ,.03@30V*C47,3'V!.39' M$5!^8V%TB1$9@.9,U'LH"U#L3P*8VTEH$SQX8(Q9X[Z#6 M\/A\!OXRW0X]> -YRT&@<"W4"-,A_;VP^PH*U ;R/=#@$I+P BR<$ M=C@8RX'@SB^0+FRG M="-!$X#_A@6P5BC"CI+H"F1 1JQ,O<=R,[)("NJ1OT M+#1-2$=(0Y32TR9D^)]%+*#,P7DH #5"F3Z1=.+O8?L-XF@6U M!V*0CU*8,BM>5K%H@A7\ A(Y@F!'=9!]0LP4 M+3B_S0,VV/Q'[]P/K.#P_=RK*$Z3,2H!/_(M3Y+\"PUPK]^#SJ("4-5_WXMD M;WNXL%5(QU^\%M]S*429I$X5VWRNV[KQ0%,Q]I#I<11M M.&+ZN1[P_K1:O27V*@CQ>Y2=)0: $)A6?B-0T.8FSL]0D1:>$"9U( M\VR2C*=G8OR']U1^ZROV2]EF'SP*6G_YR,JI*\Z=) M52G&&XMQ=!VM5$O2A#YNF5'M^JBDRV4EIY=S8O5QT>(,%[9,O&XY9J4I&#Y- MYERT-^XT&[2;GC=1+6'R=F->ZUO;J!ARU'Q9;4,5OK)-?5!WIKXE9*R91?@^RPI2P\MS5* MR2E<+MM=Y7M&NZFN4"&!HZ=7AV:]:M<2_7ZN4Y+%5FV0J7!.&I9ML9%+3IN)92ND7R6N/Z,2O70S;2CEI4)3R=: M,[:B+.JZV)]VC$U316EIW MLB2O++AT.4X;Z5$;A1..FDZX5GO##PV=S"6'RJ.6&92IB8OLZJ.FK>QPO%BE M>BF%?V0RW=S(?=(KF0EU@O9X_2=#2 SC!?'8J%CM3 M/K7LLVW>K7*=3:5L0'$^P:F,,=D\-*9)\>O689K*)<2D.IW6"63DFG>N/%U1; MV9B3N/K8WDS64SB $]PBA?%(:5J/%"RRG>*B[0E]@JY:BAE3K;*]X@"WFA?C)F=-9A)J>J0JFMR>+'CRJ:U4 M6ZHTZ12B*8[-H*:'NC*A0(JFJ7AZDDB(U"2>9E*3:5P0)FD:3&E*2,RFZ?3K MSAO% J.-*N5ZO\D5J7IEP=(3.+L3&.242\Z\P"AB?^G."]DV74T\%]NG,$C? M#"IFO+U,C;-+SK/N2B S MRJ;%BN/\3&WPU?8IK#1,=O-LT6R>K/:7U:Q*I=+4\"2N5421-5:YN,'1;96O MRT.MU&A)IW"MD*D!\G' *23@!U&Z7%J)\03*@\J\;JE,9DEY+-6E/LO4.U(V MK]16*NJ3?=URL]'9&M\V2URQK2UI@9VR\]9)K 2=;H(54H]-$G3R(PILC (O MN:>PLI%+1Q_;P_I4X6GF>=G3%X^]@I_#X[!E?51UJ\*8LLAN-NGVIV1FU(JW MO1P ART78DG@P#))DFS*:*O%!IDMS5WO#C%N">UAP0OM>IX(_MUT4BEG'4!U MP89D-QSMCHW-HJ1E)J@IY<4MX"^ F+%_U9K>Q<)]F_LLT:W#"$57F /144%S M=G03 )4'?/$SL=W3@P_/JKJ@_-A.-M>0$Z-X=C$BNRG65IUUJ9WH9WX0P!)X M S['-AUP7EO\W4 H13[0 M10B+^!N'-W7'@@Z<]<]#H%TU["GMW UO\P>Z&BIO6.!A^V)_&.BIOF6.;%3! MLVT/?8&]F+_O")!'!KQM;I_J]T9Y<_C8&:1DXA=W'O:LZKW^==CG#/)H2Y+M M^RC:T'CP/"<7$N&7'HOOH.(';YOR4TM7'1MB]AO#+CWKH^V[G'YX+ MH=[-7Q4RXDJ,@(XS'3(B (Q(Q1*A1@2!$70L5(@@\"%$IH P(D2F\S+BDP?G M?VFT7F_6*?CE?M!ZJJOBA\EP47OQCVF0.B+!]*#+_1EO3]H?__WO?Z:'LX6^ M$"+!__N1^/&[,Z>]PX:WNSR4^L#9I?>(E0<"6$R!Z9&(H2*G:!4J10"5XJHT MV*D*_;NJ0I$QFKYK54&!M2,,N8@9&WC _-Y20)\#'6]]O#9_?(;GX6RP=^O) MW>2J-/T=Y^WY'\'*Z'030F!(_W[\#^7^:\A]T$W\W6$[BL8/R B"Z0#QW/5) M;FVU7U%GKSK)_SN;R@7ILMI'[S+TN_G)H#N3GA<=5R6C*;!:TU,E.GU]E2%C M39JS_6U\L:')?%_0>&512_!)0U[V[>S!)97H9_)P'.WRPQ?;STZD6,]H8A9H M8";;%K74Y@7JJI+%4S0Q:CG+(H91A0:17R9!Z=PV-^_*3H"!D_ MSL%U!]Y4J+.ASGY49^F)M*B)CQO%C7+107/>2%:H&KUH!U=G*W)Y5!5$=TRR MF=6H4:FX;E5'9\S8'S_3$39U?-_\KEW?MPP)5S<58%H'!L5YDFR$#O%WFG<0 M'8.[-5SPO?H/(& '0)JL #JUB/49/F'HZ?,OP&_>E;@Y/164/IA6S/*\ODB! ML3M)((.%B5#D\8W*,%00(D*("#MG 51GRYRLMR M%D940O\I])^"%E%Y4=2C;(0O:*:4TWVJ/ZXN^[EF0MUDQNL.D\I,DL@8245H M^CCK>A@K"74]U/6 Q4H^I.ORJ-!P\D-VT2\^IZN%DMSBV*(+=1U9+I$X\Y6B M(#5<.WHOJUH8 @E]J._K0P5A\P:KY%[^B1,(U6G4^6I13$DD'U]6XXM:MK$< MHE0>T!I)TA&&O=S6S1>7^%"MOZ):!V$'Y@-JG90?:\7\O";U-_*RFVD8>H]I M(+6&A@?#1I@D_;5#)F7-)A$]VR M=H9*)K']U9D3Z1O 3$',#*=KVXU/W;J:]4JJ44T=D=<&OU_VGP9/$XQ+8 MZ.)-A"'#=#&,6H2*'BGQ-.^1CBLS.IFVKYPS2RE*KMYMJ:SX?N;B" M+#8V2/8KG>3(\89L^R7C4%2"-X5Y&)4(K*,3[OK>CTEQ>M=W3^$ZOKY!/R@/ M5D#5#51O]=1^"$MW"D^)#$/2EKN9N*TE2=(9/&2(2-#_H=_;X@V#%:$.?S,= MOO#)C=_1X7E[TIH.C$F5E..M^5IK\D8[(Z$AXTT.ZMVSX%\@A-&TY\ ,@Q?G M]WENF!CV%C[1K:<;()2[Q48+5N-3)HID.?I&+'3[37:^IM.;;'&V:J.*EB@M M"/5>?#:,?H1($")!,.R=,R!!CV\.J,+*&G).M#Q;CNM)2UY(" EP^"0>9[]$ M^"3E;Q]YEU_!ZR;UOW8:W]&]&B-!I_U;S_FIR M?S\.JI]/"A@F7/F]W-S0]B#XA0Z'^WSF9-U?7(I#&_G/U(WX^W[]TKW+URT3 MI7ZU-RV5U^R,)G)+1WYKOZ\Y!YF,,S*B7'/LB&2Y:(!>+3.A<")*BB$C9((Z MLIC_"7W64!^_@#Y>TDW]37V<]*.K^7*@)!5V.7:8;+?140P7Z2/V8-,1,O6N M/MZA"_O:%FB9P.!ED0!> -_"]H".POBA1WOOEOV7/HQ\3Q;$ZQ-#!W"%]<_? M/T/7G][:0TLT4ZK:&Z0MI5IP4U(6M!0ZTYY02:_(!GLBIK_IC8^.&20UP/DAO MYSN,*7P*=8)T9N=FX<'@GN3Y(J8'5E!O@^\$6!5;59>,3M//I%-4"PO03Y35 M.#0WO,R03"1!'9_9"4,5H9J':AXP^^1]-9\5X\]2O5U?*\ZCZ?;&ZXF0FDM( MS;U,D2GV> __JT1 WCRN=XDDUK=V)4(7*G2A K6-4M8$?0$.L>H$0'5Y>FGJ M6I?BFK;1*\\42#++G5 X\2--)B/TB2SZ8> CU-IOK;47VVSYH-8.,_/,:+#@ M264!M'4W'FW4$FT):2W:64FD(DGR7??A?H(=J6,]]9I%53"S\?.O=(;JV\1' MOO@D@[ 9?*,S@%^-7Q3_.ADE2H[D'HM]ZY!1P>R[UW M!W=W?6:GGIFM=IXJ;0S0V5 M/%3R&]Z1^Y"2*\UF^KDUTTI%V MXI?83@R]ZE#\0_'_+EYY ]CAMO+-4ETQ4/A%W9FJX#80\'_72W-U@ZE^79?] M_7VM1DD2RJ-HP^Q'0<'2-J0=M5O2A,8I[1+I2.+]XS*AEQ[J>JCK@?',8UI^Q\1@^39KJ"=1UEYTU&*/+7EP/_8_.053^W[1K. I)8"(QV MGE% 9 T^Q7Y@V-?CREB$/B/R0 "+*3 )AHH0",(CA N(.;]"%9H%).(BP9]( MFH=^^W\!6$T2?Q(;:AK Y&VHF*BDU>E2$ZPG=@WXY<0 PYS;FDQ9)3J<&5V) M17?@K5L M2"Q"Q@=>,#DU)([;D1 J*MHI[(\E KTMV!1V U%>F$,!-P'!"TM'1B(M:Y@O M^+TEHR=CQ6C52GMW;N&SH')"/(H137-7GA+.H8Q";/4D^9TCE#4'BN MI>4IKCOM&.T#RD0M(#R(CKD!O'EP2ON0* 6/*!P:.AY2"PY6%_>(8L]GR\:4 M*D7)(3F5NUEYG1 2+MH3>KVJ8#DZ[ZSY]=ZL,_UE9M8N1'0+:'\T<6' D'5YTZ\J\C3Q2#890YFX$CKT22"B6L?3G]E0A: >;0@> MRH$GP/5WJQ[JQG7X?JS)<\7;R Q2/C\3P M#QA1+JTW2]4Q&#*J;VIKRAHRS\_NAPG=1:-L /L -=\A=-V.2LE1@265YIP6 MD_ERUABV/T1HPL!](4)YD(<^\PF"T0^BIX.6PAAQ-7LCJ'90#Y)F=7Q0PT)< M?3%\]I8;/VDP;^^,)^]4[-:"PE*)+&2/U/>V.'QF!VU_D1"38";2Q>R3$C7+ MM)RD\P->:",\C!W?@/NV1[NA 5:IKO=*LCHQX9@2I2L>.+R'L+!0X,A-?AH8P>1(! M((ZCE00KM>6@<$\!" MOK!LS>%(_6DYL$_3AL^S-VAT+=BY;LH6 F@J^2]<<6U5UQ4(A*@Q-IXQB["A M[MB.B7$2.=A;V#3!B[%M\"C^XJB\9T8_01I;HBQXAC?\'H=5\"AL&97M(?RQ M>*%Z3+(($EQ+ANW0G*#LZ3O7R@02[-KKS%OZ5'D!72T\2DUSH(WA]>N1<)]- M7M^QW72AP:'*8(4X9!/P+?P0+J*R@APU&\HFH>FH7[@.P.]=*%/PX;C0$'[8 MGH^'O(13:>32>@ISXJW4EIV*_F[83 MK6INN2O]@&H@\ 9\E&TZX+PANK%&*BU@8-P!AV0BI9[RJ@<%L!-GCSC[ 0<+B3&/+!LD7Q;Q-^Y!=RS8O_7/ M0Z!-01RPV_[&C[T*;),C&7>V^H7Y=6)_G78YPSR:$N2[?LH MBDP_3"'0*%'D8OQKZ%[,X@'C/C0/7O7IAZ?Q@[=-^:FEJXX-7DWTTK'/O8:? M.&8$Y[+[^X=;-0DV9$0 &$'%WCWZ%?+A2GQ(QMADR(@ , (BT[O'04-&7 V9 M4B$T!8$1(30%A!$A- 6$$2$T!801$)KB(2/.QXA/GB'^I3]]O5FCNS3XG>OQ M>:JKXK5NS[SOROXQ#5)'))@>=+D_XVU2F..___W/]'"V@JXB$OR_'ZD?OSES MAHFE;GJ^A@I<I8 .I>#/I2!^[U) G6,!O/4]C.SN@)J_&7>V=>[6 M,[O%#9, 7*([Q_T1+Y05K,0.=U\)^8W=_Q.719:#3:[EKGHZV66R]M.@K0SH MJC1A_.PM5/HX>\O9%J-;B^\MM#85JNV745MJXF32I#A-=4T%E)52H[6HIZWB M-=0VQQ>%3Y,+D"TXZV&[DLZW)_B*%Q5AF.-[!Z'6AEKK!V>_M]:2DU*Q ME7W4&RRI5-OSD:V GI)H2%?0VKC)*+DG5:V3RQGC1HWQ1EH,,E!KTTAK$PGF M':T->LSK=1FELN8='L;'\':'[]"= 73@;AN;M^ [!6C;D\3HN!Z^>*'9^ K' M%PB$7<\;N.H//V>X.' &.-KI8P=8CHK.4Q=,?9'SE,V[6@5; MM[9Z>2J'1+M33;,UN=5GJ6*G:\C/8C/3GL2QJT ?)X"[AZ!5,)3W_:WK4'N# MI+WT@?;2D]DH+R?D<77-T?QSJYW/=!IS.A,\[6WE5L:TU$EW.'GH 4.8S MN@2UEPVU]QMK[[MG-;Z>]E('VDM-K)&4HU7F222C7&(]?3E6$ M1$_6^OUA-%UW>DQ\;-%(>Z'G0*>.LVO<]5;!:U?B[[Q_$='Z!UV8^[Q;84 * MF]L[X>&6PSUO.9S9<@E6*.3?"Z2E"H;WL=/@ P1L(;W\$/X9%4V-MK.U8M\A M&X]2O;YDQJ ]22#?@TT=1SO/D[LN#'>&BOXU[)X@>2T?U_JVT3&>YXE"GZPN^_(C*Y7L MI QR";380VF1N+)\N5W4D2!-B1:)"W B4(ETY(G_KZ7Y+9^SN_G:I&X^WGE> ;E*=O9SEQV]2=9:VJ9&J M.^G3T^83-XVGV>6C-$DA]R8=H:D+WG_\\MJ;"M7W6ZCO#;,.K.)/ND"NYIQ" M6^;*V$P:*8;.0/5E+Y]U(-3?>]7?HRP^WUM_;YA^H,2WC(D]'JG*<):D1_H" M)$ID&^IO^M?I!ZY07_8^"ZT-O9*RF/X$+PBF@PL"V< $EHW/!QE XU6T)^97 M,1(/BA&]N@$!/]@KR@;6\,<6B.R7^$3U>5!A55/F5>\*!2H2-#$B*D*+(FE(@K$+ MOO=ST])DC$H8KTN>[/5[T%E4 *KZ[WO.ZWESS[Z95(R.'Y4K*D29U'&&6?3W M?P[RY^[",ZAZC&X^;(%UCX!;VF",E4#42\^+BRL^\*K+;ZPM9J=CS!:S'W;8 MS."]3#+&)/XB]EXCLARQ#56FV:/<07$:_V>']6FV'_XB3;#/=5LW'F@JQAXR M/4[%DL=,O\BV+O/"H/_R!%0]"//_VVOF3F;31*\A6D(T5P\2Z_H?_?B)2SJA M[>"^#IER/SJY&ADP:Z!@FR09@(840%7C&R;54[KQ*4@2#T_DI0>E,H M:V^=P+4ZN^FW_-F?K NH/I+*4VXX7_4W\V:E6%F ME:04.7BXW.V^_6FWZZ@ M)>B.*A*Z(#CFM@"7!NE"V"Y0(7,6D$QS:UM(#WT+=@5>]\XT6(>'&KRZUK\X M$QL+]!IU@PIUJ'KPMG#PGBE@ MLQH8'P4FL85?_5=$+5-0F8A.5,GX!@(_Z M-1RGYK%@>\?2,PVF8(;*_:%\.EZYS3<8Y[,48 ZBG\#%ZE5-PYT]-1M0;#8[K*54 M0+X8N;'3^:H1#$D^NT*,)]C[E[E[;VY)T12*YI6N]9W!DMIDU"& M"6GC_OB9.%VD.49D! &.#2[IZB:R5[UZ7X N)LU4ZBHH7E6PZ%I&1Q0C10+L K@-P%I"I M-O$WF@%-_IO+=+@N^@2_I_[]!Q>/A;Z-@%R:Z0;WW^\2150%0D. CU825.$7 M"MANW<@U!^5\E$H3D!HB@ ^+$= (V-41Y0W#U*$L0M&!\G#A%?Y#.<4^LL)C M-?0*_?)JF5G"F/'@>TN];):K/;,?*I*D-VVC]^ MQNG8<7*/_:6\4,YE/-?1?\KNUCQOVGZ971)5Q<1%5R%EH6_@5U'?,=); AS- MX&719P%<\3OC-(*Z.2*XZX7"K.EN344K6RD/#0KS@.@^P(OU<= MG? +H].>[B"J07Q3'=&K!YSQ(P&JS&-$0.X_XAP$1FCFXYUR' K(>LD0B.X< M !OK N8&C^ON;HLC[WCL*U$_UH6\0\8D7 I1MQ4>VO;P)>/5:O_6-A4>5Z;; M)QIZ#*T-3)2"G/KAK9($% _XF+][N@%Q+ADG_R%:7KCDI7*R1NS;Y^@7A&^A M$\,Y-'%X.$J;:.ZJ3]=0H=K<7O5I*!%$%RZ]J!@T^C5J -=$$WZ,WN8@T,&^ M]G]!<*A:LN4C:V1;6=K:58E^VW*'(C&%=MQ<=S6L[O"W_A$!]!6O02<1"BNN MS8R&L)7'S:L5VYYC[PN=*? $F'\I).Y+W0G)/UC1!2"OMJ[LI7S:&1W4C-H-;(GG+,#]=D/ MHALFP$644#S:!Y\80;P?/0NJOO/;^+/4I:<=LY3[_^U]:7/BP+7V]_LKJ,G- MK:3*O9WP]&62 MM=I57'3#RM!K^U';XH?T\=NU]EQLN-DHA]MI+N*5D360(SCRZ.UMLLC@HQ(V MD&PY8U!\K2A/V[ -TM';YQDE)!I)#ECN%(453(61FNX*H;FL!"!D4=O=UJU=&?M<4E) M%%7S,SSUIA MR[3;M7D'9FT=O3VS#MHYLNRL!''0(/0.H\F*RX.11V]WU2F9\\OSLFD'1:Y3 M4EAK;D=#]OCMK:YN:J- K@EU>[S.I,?Y=6<,DSB.WE[H8ZDL7>B(YHI)CV9K M)YRG*C#>=/3VV6C>(#VF3IIEJ:3D298HCSQ^R!V_719;$Z6XPF1)7!58NFZ/ MD@31!"./WMX2)[TQL2Q:^!P3UWZU;0]DP//<\=MQU_9"-U52!9(5"7HXY%N# M"$@&_/CU*96DNGIZH)FB*QCZ@DH'1#H>>O3^?&$XZDVH^EHJI\?%9#4*='I.[E2.8)#3S!_ M8["> C)(3!_S'+[C">T,>.H)J>?C"]IM'*BW1L'L&A1Q.HIVPR M[]<8"<\;DM'QEM0(7^IPZ&X"'^^T.31,@, !I^+(YYV1('M0E?<;FB=.9$_+ M&KYJN4!_U]K@C6G+5\=\5JZ*G72+%S(\VY?]J$B7I6BC$('C7AOQP2OC M8@<^\2VA =UD!J82 #OD3&D2KUU_4W,#+4&PVV+=_59L' W;S4B W4C$V[&_ M*.=&LCG./8U= -)P+,/1, 72_YGJA>\C6;$2!MDUGATP$"?R GI,5&!> %5= ME?U)8K3?WJT7 "8:;)3T>,,AQT+K8.Q";X#_?1,8/A?S[P,>NUEEMY.-(UW' M_#Z4A&I.["YXG"RJ03X?:'P(^?T"'/P.UHACQOO ZR:S107["E.PO^]^.'PK MI-\V1@FC=>HFRO<\*GJ0^;(-B3XQP"Z4&7B[MQYN V6D";?OEF9U"]ZHC9O\:VXZ8_2K,_DBS:-81R[Y MJ7F!M]W0"38;U-"\S0_/7<-_N4M)3E.\.$&'X&*O+/$&;C\XX:Z]C//5 M13Z3:%=>Y29O6*,7//,-*$$E$J=_8R_>[R-^8IS=^D\#K M67*;^%F<(^?#D] ?JD$[G6YD)WU3');[S6(R;$W$7Z7*D4."VWOJ%'A:' M=C^/IP6L,+";-,%U!L2SU-MB+?>&7+F,:]NN(P:N:NX#?OLH]S;PMT^4P_?% MR&QSR$[P!N\+6#.5Y!=Z9-0CF!"5@G5,^'$K@<3?*@$7/D16"?IOSOH[P>>? M>:C/L*12Z&@)"O^;HP&1X&])8*W^\G2^*Q+\QG7]J5;T;K?PG1VR29CPNCUC M]S_/"MEZRV0R:X$LA,GVN)Z-HA)_\2.V;2D%QXX@:_MZIM[+VE!D[EW'XM[6@1,;UQ.)J(",[CL\;@GB MX+Q]^J49+A2C8\PZDM&LS*<-.13[L\N;W05GPL\JR4+7S$=622Z,UTNK DM3 M[];LWH>WR;?+G==SNJZ]LN,\O]UC,V 9BF> QQ1@BS2X-/A(V?&QX^>^)2_P MTQF'S^+E'T/ZKV MW@;QGH70[Y1X-X3;7S1Y@*U&Z'U#G*=? M@J+#]O1^.) PISNLT15/FT\NKPHYF<7<+'@=5B*%L=:LIW-8685],N[#]_ 4 MY/\XC05JB03W0)4;0MKK"@G:(N1U>9GJ0!ZD.I!#;#BL M%5U>#:75L+:T7-MM-9*7SR8T6I7F- A;LE 6<_BH$2K"A(,ML>[6Y_(LU0$Y M7+Z2P^4H=^).[?:[)>"+=(H[)=\-H1>Y79#;Y1P)'^1!P@E5-\G:VDST]"[3';D344:MMV\#Z?+BX0/Y'FY#QO_ MJ+OX'=CY]T&9?5+)]G:!.R#,#0$..6"0 ^:-:2_D8=H+.:PVJ3IG&KHNA&RT MJ&!4<;"<7-X%LXIZ]J! %MMFW5X:89MJ8?X8]O"^6Q?,4]H+^8&2$7EA/H<1 M_RSMY>,.Q6LOZVMX8+9I+_0]$^^&<(O\+\C_\M%I+^2^,?W3+P1>;D?+@:R9 M>4&(LOE4F6QCE_? *(5LOEVKMYNXR#!VI>.U,R:OPZL_[L,% _->/M(81-Z7 MJ]OX!WDO]V#@WPM5K-7'*RD(:7S4'7'_ >SIT#MVMUV6;^()<+E_/Y?*4^$)R M]VRYWRT!]XDO'QU*NO;";A6]R/&"'"\?G/CRY'?9_RS-Y:JK9JJLT+7'W65K MX/*6=?EJ(Z-="[GLLEL1L/E\51\[>-@KZ?#>POMPN^PS7SY:]T&@OXG,EP]7 M:NY0@[E.YLL&9+T]JQ],OWMR:KS B2@MSKZ25LPSI MC-G+9[XLY"C+9VMF01!)0BIT)K4T6XBO&?]3O>,_\:7"/W?CME0/"56>&8%L@;_.0\/3X$,WUY7#KX ':![XX]AP9$+-V MI%D6_'_X.DCE,'Z0'P RPC';!P43<,R#(3Z8WX:U?<"LX%4C,-C2%C*8I;** M7YAV96\$%Y4%WGG],%SGST,4\%Z?[QV7G_LY7N_O%J(I)^DT%82Y3"* M.[YB#_[[/\\N$-Q;^8F#GV/^?4DV>#7XP$P=$_VCX1[3ACHX*N3$Q(/R_1_M>N;4X1O_#+@< MB&UK\]CM95';C[[]C&^2A^C(N/%MZOY>7,D_#VA_&A8OM_K4#LJQCH3+24D.:(/&AG&39(4NK#,X0+$TRRK?-6^7=<4#W2;-1658:N#9CH_%2 M;3@< XZ#(?ERY(A8K&T!HP6)7&/)I4YY+56!=V [$,^L9\(I=X,))].;)44/I3OMWB!:9;F73D M8;E7X_4A-<1?CDP*Q;)LC!E=J$_*ZCI-#]+K&FPA>C22T]1*-37U"V8X4EN3 M;%:.2NT(%@N_')E>]2BK/*QWI'ER/&_*1&JM+N$SCU8D# O%5B_06Y)8K IV M5'$YKP*?>;2B56#7.)QU BGLK,Q&OCY)*21L-W(T3RU36C;;0JB98JC5N2*' M"8,S2RK,R)TK(S;IMV4US5+1D7QZ4X:G,T=#!96$*+37)F&"SX\IBMZ.PT M]FD<#2T99H:9V_34+!M*N;6VRMH X^'0H\V7A4RIE'5[(9[IX'3-:HKBI!L_ M]6CWC<9(TLS:@L*[85.<)I5%S;7BIQYM_X@HK0K1S)L(*[ZRHJ=9LNBH/-2# MCN9:DQIY-5?,#Z6,6IAD%W6R"R@,AQ[-U:"#7+-=!7Q?KO?S)64B=\-2//1H MKD&*+RU7C5K&K*]7(TPNF&I#CX?NY@H.SXU"$,:G[^:+RK"4E:MB)PV@D.'9 MONQ'1;HL14,XE+@=:_G9R?\+11F*F9V>3 ZI[6_%PG(UM\(9A6/NJK(D_"ZU M7D7$Q43<%AAIY4VY4"OKWQ(:T)AGX#V!%VH?JQ%LU<-8*7RVO5 QC!65A*)9 M;I28 5TLUN> !@9VSIZ%P88!P!&BP,7%^MEHL[R]3IB8 74MME>@#1%_=P7^ MYB> <@F&O2Q9VA:DQ8^"#2D3_S(<\"4W!.;B""B8VE+5P"'X]% YOO30__?W M#]2R7]^7][#=9A]W6M/FBDF@,5GRS->^[WXXG 9\ZU;!@$>MNCFBGZLT!S;K M5I_!C_20P-N]]> "Z6]_ZC!BDH_4JQY:=$'UI:X*?R1?]7DA0ER,$ PBQ"T0 M(O7((=%T"X0@D6BZ#4(@T70CA$"BZ48(@433C1 "B:8;(00231]+B#]/>?H5 M17YK8Z-8_6^MW\OQ"OOV):NN!3_\?]_8;^]->*$>*787&ML%'XG9,@& 8XP2 MNZ#;&?>'?2U^N'V)\NPEVVB3XEHC\,>^)GL)X9G'[__^03#X#XIXV/SPW_\H M/]^=27@;&'HO@]PH)MBC%;]&X5-4/&1^\KW,SSTRY*?F_4TZHO(1-/^=/GL5 MFA__B[C@)!>0B L0%\!K'?_^I+MZUM\_B.$W1]W5UWRVY.S7 MK>:OM^Z-D7I;)4)7V0@2,?Z76C=B?,3X7W+=]\;XM^Z_V*=[$V3\@IH6) Q' M=6WM,W@F;H%CMTB]GBERO G_^W% O/*RWE(TE7B]:DH,9&Z.X;JHCCO6U MW8HL'&.UQ9)43$P1?EDP];8\T*>"*8QZ0[T40%XQ!E[%]?U]812U+XP:FB2- M2Q/6Q>VR+PG*T@W];G-(#ZEO/PF2>2#HY%%IU&?P,2 ,(PQ?#,/D,PR3PW$O M:R2-?GDID/*ZTWP7KLYKCVH;S\>'Z.^?CWV6TW\4B?YY)Z(+G4^>)SU^9U MA'&$\0_!^)F#['^+<4/R,+&ZS+;,4.'(9K(N=I@*Q#BSP3B.(XPCC".,7S,( M_]?G^)Q)BO]-/BCA=<=YA+=KD52=-1-^WO9VMZ( M$$^5#P+/4,*X'6C;W?6%U4:-30-^WO-D1]^TS3^EPB1=E>D(35O*E%,V3T9% MKE7EARPT4SCR^(H$Y$M$X$?@O[RI M?13FUPWG41CFX]TWUY8E%W;O7'NY-R8ZKQ/&V=Z8<>0%.B$GQ^-,U,D1JR[. M, -KONK.U-FZ.>3B0 []0,).7,C)BZ0$DA*?U[KZ>REA\6RV-6G9/FZ(=$.6 MG5)OV8>W3&U"0:ES6E-(2MP,;)"4N&,S[.^EQ& YY3BZQBP%S1LMLFN54BI] M'4@)+I82!/-:T?:M!Y.N) F^C#_ISA?YJ1-3D3\4\2_BWWLE+>+?6^??S^F2 M%E">_]WE!Z+RYRN?15^/ 1#C(\;_D@R &/\^&/_6/5LOTZ3C7''DO+I9X^GC MNB5^(@=ZUE@8(RWNA;AUH:M!.YUN9"=]4QR6^\UB,FQ-Q ]O34R^P8.^,W@: MFK=+5SHHNL#W?O(4.REEBNV)96*+_""8B$+73S?C>7W[23Y29ZR=1&A$:+P9 M-+X]['T.-);G=C3NT'H&MT-&% -[V?=)'*4[MB1;LJNE4M=)$5&C%,%Y<1"-Q)WU##Y9HJB-D)_TDUO-']C1_*;L MX*^@MF\Q>$(XJ39KUOM88.)R,HVO1\I$S@5 .%%;Q1WERB(@(R#?C,;_:R + M;CFD&DV]@V9>WP]M*%N?H=4,9Q0WBSF M1@3$LWE^B"KWG"%$V*9EXEHCS?.%>0BF4W,#P!:^:KE^Z&EM\+JT!<9L&4,9 MML/L$N.M0<6LIX=*J6P%I:0=;9@:;)\VXH-7Q@WA,.);0@,,-P/S"+Q0NT*K M<;C(!,'!#2?('X>;$'^4^I'8;,:^#?F-L,/9K&2*^16RX,_?C0#(2/7'B9UL M>-I8\SQME(AW\9R3O>J>Q0>%X8"W!-_CS7I1))P TC0AA\'$]"='31U2N#-L%-,QD5#QM@.2LM'?4[8/7$ X[C\'\G#LL7'^S*RMUQ MXG_/H6=Q7:J<28T7OV>> M#]F'<[//F_:A3^1J98,LE"4FW^IGAF)WD:7T;S_Q1\!"ITI\7O+03/82"_B: MQ&POEN-&;(_;FK);E$68KZEP2R/7&_F:\R=P?*5:*M[(?#X=%IQAMXS/Q;PW M&0IMJDCJ-RJ-SK#^CC@UI.S4#B2[."Q2DR85]=)(A>G.V)2 -GG/OT M[H0<)+*:JL%ZM@1%/"3@#B3 W^ /Y./%3M_[T*0V+5J0&G4W:M2VY\X?:Q%! M/C,RRCTV$K!*QIY'-6U 1I]3AWKKTGV>6GM^2V&D\E@W:F4KZX8E(+ X_ MI M4 >;]ENUX5#:%P2G/LD05--O_BHOP?!_,JVI&;IRH(8IRS!F%0'!=>KURK-2PCE M"RS[E!IYN/8,'N8$.[FLFYE&T ,),4V&+:6OU%?3*WZI)VYV\?)^M+3,-&Y;LU ![\4O# M'\X\PQXVP#_@B/1KZL;A@9$PG)AY'Z[0W>CO:!-4,),HE'4% MSZ1K7:K%%L-J1[\>;0Y/]SK?=(A51UF:6KOF=-E,Q+1FX' "^YQBR3?2!LB3 M\QQGT'E@4P^<"=Z@KY.'P*08@3. 3?T$I5V*P%?^YAH3[1G9\EL.ZE10EDE M O!'H, %AFH 21SX\$GPL]W7$Y$13,"(N,&IG[#ED09-R_!/K(4])T!5N2.. M];7=BBP<8[7%DE1,3!'>F&1U;A&*)?^>"V*%^Y=,L.)92P MLE+# SZSJ$NQ]_(X>RL!CD4+;O5>6IZ;")>6E5*4C+N3V*+9'3Z@2 MSPE!/";J!Z(O[C0,E$99USP_)I&VU-3XOA7PJV6YD?]<]L6"34O(B9GK[5H3 M V%H>.#+3BA;"<5U@.23;3=T CAZ)TICB?M,(,L!>,S(\-5XZ-AS[5BL FW4 MU(($H)*J/9/,3T)Y#VS(63M-GMB(;KB@PSGX<#2TY[M <_.FA#N:I#0LC+Z^T]J&KQD3,6*X/^1R2TI< MY8I.%LS4LPV8*+3K57=@.K8G;\\:J51*;'L&_\>&]+LI=FG!?S\4JPA:+2-V.BO!;I?IA57DFJU6='Z* M75I?NA^*37IBN1UD6U/<6!:2A:6?"8PZH%CJ^,SY_0?_W)X;^\;WZF89&[$? M"_&]RV8[W7'%]LQ!4.[9>'D4 MUEFGG6I5E!O8<2XS$!J>WRV;LLGUD^/,M" &8,=I\@%G3^WXK;EC7MWU=K^= M[Z?]=D8PR$&*-$>+N;H^EQ_F#;O.%UOAQXN_S=W](N M(%_LYS<\\'C7\X]].N/0 D\&=@W4YL,9M(C OL@..&X@BTS 203LD3CF(@[SU:KWB>\O :U/9JMA$T MNT]W++--\(*S\%NBM+,0R^-*MM'@55,T?:PBE$K"@#^7L,FX#E#U?+ 4J(TZ M<0V/8FFBIH*A@:&=CIO4.39<"^ MAP18JE@(J4)^*81KKMCIU<9]EOV+H/P92+#$&LDZEE940H:9.Q6H/8_IX9I8SRRRSIBSU7,K.^\C0R$[71E'QIT(^ M3XL"X<[+?>CB(( 8K@31S!8G?^0<+3X> 4S'VM&$.XN%POD91RV@(4IL&;K MY,&P;@:75QT5G!!.\ M0MDZ4&MWZZF/._)IWZ%FU NSE ?*,2!((G_=%I83]J+LB(O@BI> MKM>G$V74GYNT'M?L4.P#=>+4_*7%],<"_# *?>$@]/4I^Z9 7,-S54T;^1#R MQ:T-^,Q%>C+HUBX[7(NBNS/<("JZ6A$Z# 5#T"3[>(*,MR53GXE0TL+.&/VDD"30=)0?%9L2U@+)N>K&=\MDO" M)-/'XQ3=Q.E*;; ?/_\+_MEI$*H%A"EL,##Y 43WS))7W^/*\ZTRL+ODBHJ+ M(,#ODTW1!8D_$DGPT;:3 H[_$ZHR!\]]]C!,U2SKQVL]KW9/^/"V!/!0TKR= M:D/2!Z4F&STGAT$OYFRW-0?__L_A>IZ:*V"J:[G>]]UE7P<;N-N;N-N"KF&* MI\DF)H_!!+[+5B2O_%V_!NZ1VMWF_'U_7Q@5]]O"'ZGD/Q,'/\-M.2*;+2^Q M@YW;-G? +&TYHE0U7X!=FV5 _2>&2>$YTF M'E/'1#]+*1#U1*#_RHF)!W'_CW8]\^O*( ?BSWI6&;3]Z-O/-F1"*(HR4(PX M@;]7IN6?![0_#8N76WUJ!U_T/WB]V'];Q'^6TJ2#5(B-6O7,SZAM9 OXJVJ% MHTW&0!OHC_Y6,$.S-EX6U.1=_RD1#.Q;?,5=_)>XIB ^@\&.%AWP!@V92V\O M6-N=0]OJP)TZ'B>M7+* [0\F>T/[#,S2JKS:>B6A$1%KE=ON$PEY-O/0L80 :\[,W(T&B7_!A\!EDO@/06PTXA^)'_^.M=.X MJ.4AH8%#!KHV8M\[%H"%'9@>*GC('QN[.\-IX];??VUO,,');-,\_?-9QLD# M!V#R#_U_SS*[MCI3CB+H1;CH5?&ZN1Q4YF6"-P;O[KL3:TK*[TU?Y:7IN\\S M@[OX3 '>9AN<-GS9=LG4)YEF%B M^)FB 2Z&&0N[0;'/),X(B*VN!+1YP,>:,_K%B,<]@P(^4E7(_)IM8)NTM#C: M!-E_"78PT*S5'P5ZSDWO/XT,O=>W$7^ZIW*\2SS4M_AX3UH:S.$[(*RJZ$RR M[I4K0B8H<<+0X]EVBO_VD\(3(Z">'<6.QBY,$-SY'<9 !&[(!R&\>45B\P[H MOLB!M0*=#2MOS-?X"Y"[?N&O@,_19'42__DAH80!/&T=%X@-?RL\ +D@-RC: MR@7_5Y7!,K=?C--%]FRS>0(\O1$'[#B@N0NU'C'!V&XRA.[8?=RF6,/B.C.Q M*#7?QP3[MYS@@^9+/MA&?[>L4 H=#>BYS]C@$>A3%ZM_>5N@[13-';WN:W4S M.9;R/-NII+RHE._=2#V2EY^:7DHHVZ:8(DB2[ 5%L@<=5.1#DF)?+[1[\AG" MH]G9IW#M#^.S5$A?@SYOZGYW^(9ZY "%:V+,( 4$L=YX<4WSBY-W0\)]-M[I M"K)LBLRNBN62E*'"7J]'-=I47$&6?&1/>YPW1-N!AKR]T.@IHM3U6GK2DZN1 MV>U9]?2T6[%JQ(T4(DFK/+4H]XBF8 \((E6R!\6Y ,Y'[H&C3Y2A_!%FCC39 MBX#G$G2Z-G@.*4?7>@637H8%26;9WC2M5*N-(8QAIQYI^C7P(,O]S9:[J '. M X)DE:AO%?2KSOF&]C*VSJ&6ND_#C=VOL:)+B MT$X>;"^80T($ZI"?^#_9GOT UOICHE+)/"2JKJ?#OP$9;FFKYW^-55\I+2:> M,@PV7Y+]A*?- 'A@8OFFY&>K/._G 8#X !7OE\%N&4@N!3# W@A[@*(,AE+B MHI]-4PNPP'@-!YUVX%1\S;+.>191!X$/ZB@]1 P5WQ@9@#]%&09!8I'S%/_8 M<^^.>;?RKB5W66N0E!F<+)9]O3!;+LO"LPP1_#*AQ9Y&!A+/SG5BV23:X%RG'Y+OZ _T/'S[U/GE MC'V#/HPH8MW.]GE'R^)=6ITS6F["3I_G0=%_TU/G<-.+4[[!S#@^Q.VPW9>9 MWG0DY'Y; /1)=BEFW8_9I\RZU5BU0FDLU3&LU2]5>A,+UGK^<>NA)T/@94;T M+BTI%LK@=-FX6E\(]C-KIA9HTXIHH9WO5"1X6]!+F%8%1/3IK M;ZQ+L_!'[91-._D.G[1H@<$7:TPMI ;Y,BP?2#[^D70]8&)8O:Q[KN\#QMRD M<;ST!S\D% U,7 .+&85JK$H]TZMVL02@V4!9#103\(Y-\?.>Z;>Q0'^;"?G< M<7BVE(TK';1_E* 1^R%_FSF3AY0YF9TA\_.ZUEH&MEGG>XYJ9V9=6O[S@D^T MEP=[:?B!%(X,TS+%J;("J&O5(A/F B=3)SH _#(Y:0,F)P[%;*&$N/TC4L6F M)B;J4Y]KFG-=F#9<(.E9[\_[NJ&=W.]DE0B2(ZS4H"31*"=E>5X-G#3T4]/< MB$KKX[:6"04U_/B: 9,[@#6\L8X_\-<;^0M>H>W M")[JYT[O^)R;6702-7>Q"8AN/$8PIG97?!P3.5$0LY,%L2)YZ'F/W_B8D.+&8,'.2#H:$7OL5-EY $L% MVF%<-@D>M\UF@$(T%@9 9]Q^?Y/? -5*\% O,99C_9 MO<#UH"0"#UULSF5'T]W B'/.@J\,VII >#;$ZZ]TY=^E%UO,(RZBB#7?',= MDL.1 2_](%.I!_*$Q?E+]]W&D;W-\Y1UW=-T6(*CS4,9;O6E&\O]?J/_!CB_ MV.?81W42/$RKF2K9+I&6PGRW(AO9*)N$=XHPKXG?YP'00U%YK>CGQ]YGV?8T MV0^!LAVKV1M1OPM=9EP_>-7;9P]EDBP*V88DSB2![:12.;H4]XE]9(Z]?6^H M^[JJO'C[O8,7EA=]8424 48*CD0XKY=6S_UN3%VS?Z MHO*BSZF<'56K99.1>ZEVT!OU\C[T6]"/)_JXWH[ ..^]F7\E,%Q<\P/&847< MGK'DHD77A#HL"R>IQQ.%J+%R>&A44 ^_Z)]R:>5P;V!0PT4_S1K$/A-Y@W7GZ(BNN,B.@(5T:$B MNK\JHI-C$33DU!2-JV-@3;,X#3LR*T.92N+#%*[B,L&,-4[%OVW>*N^N6UYT M>ZEDRS0)DZQT.T._0RNBI\.C[>7(_CS2Y>(@=*7R(E7+YLQLH;QL0LO]Y4C% M,@JK?GXPE9A. 9M4RJU<=L*#D*DH%+E19@C-FTKH.11Q.M%Y/I::?4G0O=U60]R-#I<8:/P,BCB6:' M[7I!,Z(VCLFEHHG-"'?0;4(W_-%$77BX#Q/+$DG_=6Z M,6F8\V*Z7M+UR;P&2)\\7E*J*]3',X&GI%"8E&N9=3@G*]&0.1[9M :*7%K/ M%:$[-HE4?B4%1$$?LL;:A/K/UI?T[(4B9IMM6)6P\G"@]&'F_HD/$"8LXWTJ989H-1 MLD63Y(P?$OCQFNI#7:9:6$$V,QUNRZN!B MLEM028R'EZP?#26K*4ZF!8PSR84^\!AW7G)RX*DON70X9A6"4RAM2*>8Y)#6 M"':H)&4BPE(WZW%C(A_5& MQ-NTWNWRIZ0/[>5E8YE>9Z1\RF@F:\J\/TF?EC[IF11Z92<:2UUZ4F":T4@1 M>\U3TL>2&%T9S!W?%#-D*YH99=]+GI0^XHRB9JOJW))D7>R'4D^MMHF3TF>= MZ7JE9=,L"_F^VG#(W,P8K*.3TD<8%HR&G4\-A#RVTJI-M:X,L.8IZ5.EK)R8 MU002+^-8+EMC[4P+0/6$]*E6"NY*Q2I%R3:'%D74>IBAG90^N6)7XZ?22A8T M>9KSJH-T2,U/2A^^P*12QK*:P>5*+:?PG<*\JN@GI4^?90HI9X*1 H.UPDZ5 M+E2TRDGIDY3GI69Z)2XD.^SF:DTKNZ3-D]*G7IN;!=P=K82P/J\.DF2[T/%/ M2I^(T))#IMB9"?5^(\_T"QE=3?*GI$^[G5$<7:OSIE@6Y"AM M!L2,MQJ 24Y)'U5(DMEV)B DT7)+K)6K^L-^=%+ZZ.-B-%\4"SVIW" *]6HK MBII<\U#Z_'E/SI=50<7"1R]-Q'V=6LYP9$%?:B@/4V\8%88E2(E>=-,W\0&UJP; AB7GP4 V8BS/PV, +M?,T M,/BO\NR9ST.I-3> 9=W0)"/('Z)F:;#=W4$1WGYUB8/E)?XE.7(X,L#0?__W M/\I-70M[;KJ+ZD0;A3 GXG4.@+K],1NLK'1IR#8G+EYWS52)CB8S(3H7&[QN MM>^)'>YH^:R9[D%[BO&>!XP#'C!@-EU#%[DSNVCZ&Y;*1I/]YN/SM^W9; M<6!9'CS?!<\< S+NMF3W.Q9Y@/\WW@-8"'_Z_;P3,*'S7AM"I1V*7 MS;7+ER-FRT3LUT_L\L3.N&'L:REO?Q";ZL/D=.%98C*]T]E.IA\A$IR1;T-J2S74O;_%A:?6-G?)E-]%@&)^ /Q!^(/ MQ!^(/SXS?[Q3-=O77'[_AZIJVGA\64YI:0O-";4/8_-KK^<]&;D?$3>Z]KK_ M]P-6$@=>KK"0 RC&NMP*@WM *8(LVV((0ENG"-72-8)()?4 8S1.6\.)'V!/ ]S7P MWU%;7KZ\3J*M#LVQ.:CJ=9^4Y''+P/J]H2/PL%B)@A<\DTGF@>68$[T)$<01 MQ+\RQ.D#B#/[;A^>F_(+'&^F)-G-K_D\)NM+G;\RQ'EY019]-\F:JW+!->G! MO& /8.4B R%.$]0#E3KN6(,@CB#^M2&>.H XMX>X7&XP=3M=Q(0R6:,#FXXICAD4RFC6@I='Q8\*L'$G=O#SN+.EYFK(AR DR1CF1 M?$@F3UU \8ER4/*[RS#&1G '[K(+RJ([7^1O$CGO229=PGD0XZP1P^R$I,D% MU59)7/ VKM7,=BT9E%I^O0GOC/[VD^,>4A1Y/EWBSOD8@?6NP'H1-\#K8.V) M*98=2FQ3R/AN=\S*)#',Z@"L3'R'S@/)'%\*B]"*T/H%T7H1B_YUM%(<'94K M:IN5C!S7DJG\*,JO(X!6:*FGJ >6.W7G%4(K0NN70^N%C//7\5K/SJ853S2F M$C9KUYQZ9RD' L1K;'0GF0?FY)V/GSN07],">&.8:Z-8_F=W$5Y)0'U9A^(E MC'< SV*,SLKAG9I/,JMM#3#:YHF*&4Z,C-@?=B:3#NP5&L?T*>(U@85@CF". M8'X39O_O8.ZM].*"HJRZ5%XMF>EB)%L!QH/Y ,.?XA[PJISM*4Z@+96RAI$K)?%X'..>^_:39!X(^HW_OZ_$[POD7Q/F% M7 V_0_J@;E12$E58"UI5*6.5?-[,-Z#B#IT-5.J!27*?.[Q_#3@CQ^=]+/+: MCD_$OHA]$?LB]D7LB]CWGBB+V/?&V?=SQA!?+7H69 ]>5^P_7;CS_4,+Y*^^ M>.2V^+INBRL>55^/_HCO$=]_1?HCOD=\_Q7IC_C^+OC^UF,5NZ!3@B#C%Z1E MWU 3VI'9@IP,-^MD^+#BZ$\4 5IUV@>]V@P4/H,A **8H M!$4$Q3N&XGN3 ,\!Q>FXA+4TFLL(C-E;C&;)4589P7,1INN!@Y&XK\+ ES9QUH#WV(W. M:15_/3\/\F_=C'_K"QC?6PB?D&W^,)\RJ\-4V20;F1197$F\-HV@ #Z[_?WU MF!^!_JN"_AIF_J]!OZRTG>H8;S1Q4AC,)L$@7XJR,>@WECX"/0(] OVG="C\ M&O3$C+**Z\7Q38%\K.4*@1Z!'H+]AU\6O83\@2&V] M8@II24PU4R$]K=4;DAY/,_9>,*C4$/E);\)/BJH%$/LB]D7LB]@7L2]BW\], M6<2^-\Z^GS J"9[9C6L+M5%"!I.5=6T3A/03;ACXL"4,>#MR62"7Q>=W6:!* M$\3WB.\1WR.^1WR/^![Q/>+[.ZDL1 Z$FW4@_-\_" ;_<0=^@7=W4]U&.Q=. M2->"D3F1NJU&)M\N19KOZ]>\!V%G]_,;L[\6VHKFU<=QX-.O/QG_S_.WG]JM M3CNM3+J0G(^$.1M*IIJ>6S.J.20HF..8I!X(%MV"](7N'?A;4! M,YH0Y-P&Y,DSN@"OS>Q?%>0H&OZU/!)OD ?$*$HY2GH6"G.W'7F-LNLYBU@> MQ#X)(!#8Y.]\$O\)9,72;H9SX]GLOJ.XWDCS,-6U+'GF:]]W/QR^%;#%C\GF M8A5;7F(Q09T]@V*6-@X..1:+.2O^9 MR'/\GG&O@[=ZZ?1JQ6<,?^FO(QQ3W MFL]N9"Q./-\%SQQ;;K3;DMWO&$3C=\739!.+P";\F+F^ :GWW=,LP*0+[<4S M-Y/9O'@W5%9\%[+2BX6>F] ' \$?_U1@@;7L_SVK%QP1XF*$>-U3CPAQ(4*D M'CD&$>(&"(%$T\T0 HFFFR#$;P*=B Y(,GTU0B#)=!.$0)+I-NB )-/-$ )) MIIL@!)),'TJ'MR9F_<[1=[E5L^"/\6^']TI_B48M'[L'JFO!#__?-X+X]LX- MH9./21@SV?BKMQ@A9LL$ (8Q2OP#C_]SSAUCG\=/5,T)-._%%KYV&WE?D[V$ MX(RT42*KJ1H,16RBRQ3QL/F!Q$GR^07E"#HW"!WV: M>(_N&M,?_'MU$OP<) M^5Z,L(_<>:G_MQ @_.!HV8C(;UPY_I@\;W[^WU*9=$:(RG=/9I-'=25H\O,&G(X[UM=V*+!QCM<625$Q, M$7YS,R=Y6.M*#IU4OYE>9PQ5TOAT6)K/AN=5*<2?)2,K6EZ4A<=W+FP%.'P!\5^=*#GN8.5>K49&1YJ$2=9>+J.?;[R]Y^1B M+Y=E11F4AZXPSS9D:F LJF.6'\:EKL0#F/8#1[,(X@CB".*GJES)PRI7CV-7_L,[XS<"8Z3Y3F^DJKVM*87\A(#(:LB5O%KH M"S)K]++3S#C*%9O#3?4J\4"1W /Q:JN\3Y" DO=$S% :A[-6OYOD]&$R;H'%/- L M@SIR(K3>84?.V_0#O [6Q3A8*KEZ3I'**ZNS]-H:S_(1 "NP[SGR@: L>@!5:ZDGZ@<-3"*T(K0BM%S/. M7\=K;F8QJ4EUX$A,EN2HR9@=3W"H"<=&-^QCS5(?;G)?VZ]4TX+$ORRP+?]. M&([JVBBB_]D]A=M422;*?$$;1]!$@;Y")G4W)CI_Q+P1]WJ2WS?R!?& M):';<4ANMM)S2P7B'/:QQA^ 28'"?@CG".>W[C7X'DJ]>7/D)8OS7NI_^[A?Y!;R?5T\#0/R+^/<3>^\1^R+V1>R+ MV!>Q[V=CW\\927RU\EF0/0>\WD_,-"\1WSST_4.KY*^^>.2W^-K!QFN=55^/ M ;XJX]^@PP[Q/>)[Q/>([Q'?([X_CU%S.1KOPDX)@HQ?D)9]0]VE1FI'Y@MR M-MRLL^'C6AK==OYBUE@8(RT.?F[O\E6#=CK=R$[ZIC@L]YO%9-B:B!^=Q$B^ M(0"Z,_L;FA??VAN#ZCB7$=]'1-=UKAEPXL"7&&<]GXN5?KO*\3 7X]M/'+#2 M&5,9$1!O$8C7]N.]-2?A+T'YWD3#CP#E2RR6*_QJ2IL#1UCU%JMZ.)4SHM$$ M6&0@%KDS9ALB*"(H7AV*[\T%/ <44_W<( CY0M+$9A.RVXEF_1P)HL3 MAO9>&L99 ]YH-[J :?SU?#Y?U==UHT&].[3 M^A]S09/TLLY%0Z,J1G2>&1P M:F/8"W@HA,]OA'\]UO^JD+]!]_87L/6?X/\2]03='G"K3M.6Y#6?Z01,I5C. MQJC?F/NOM3Y H$>@1Z"_6:_"KT%?=>WQA"^PD<#,VUP7S^GNF(Q!OW$LH$I# M!'H$^D_JO_@U[.5)DW?11%2F#4%/QK#?NC!>:TQVZX%\5#AP1\Y2 M5':(^!?Q[V<*#2#V1>R+V!>Q+V+?S\:^GS V"9[9C>L,M5%"!I.5=6T3@_03 M;ACXL#\,>#OR62"?Q7T$)%'5"6+\+^>L0WR/^![Q/>)[Q/>([^^RRA!Y$&[6 M@_!__R 8_,<]A!7>W5QU&_!<."%="T;F1.JV&IE\NQ1IOJ]?\X*$G>7/;PS_ M6F@KFEC9035FX7JM7UX%T7J16XV^%ND#I+ZH"_VUF4I8U3FR:Z X40Z1BJS02IS MQNQ$A%2$U%M ZD7N)OA;I!HUW/\Q"I7(Q4 M4J?B:D M?KT VF75Y,M<0_"WH%9KNI5=9,LMH=MQ:URM.:C.S0B"&J8+0E23KVG*GS"N M^(N:1^1?^^3^M0\VYV_+;_9E+/PM&H_DUPG1%?5L2>SF,$)@9E-9G4XG^7&D M#PGZ$C;^M;D=H?S^G.-?QCGP!I#GE#!OJFY:$YAVO;F<,#+%=7@(\HU[@$V2 M".0(Y CD-^=7> /(FWVSTFQU?<&L3\,94X^X\5QL0I!O/ LI^K6^*PCDGQ+D M*![^M5P2;SGT<_5^P$H!AMN+0G\ZJER1Y4%B8_1H8_L^35]_BLV+X* MVZ@1WZGX[>#WR>:V*Q)_))+@HZT.A>/_A!,Z>.ZSAV&J9ED_7O.%[YYP9@%* MT@^..RQ88U1WU9SUS;F^-=>FI*:_G]YP[4"=&0$ M#PA)" FN .?H" CI"'"= B/DYC@CPWX'QO!.3Q&$E(R<@I*_ E5YX%S!(2$ MYX@(?Z+&'PW$'P>(Z(@O7!91(+FH\Y#TBAO]S6?QV61<=\K:&'2'D=RBCYX^ M)Z=@9&)F8;W*P\MWC5],7.+6;4FIN_<4E9155-7T] T,C8Q-3*T>6]O8VMD[ MN'MX>GG[^/J%O @-"X^(C$I(?)V4G/+F;>K[G ^Y'_/R"SZ55U165=?4UM6W M=W1V=?=\Z?TZ,CHV/C'Y?6H:!D'M.D=$1$A$^M,N@G/>/T^@(R*^+$)R04&']*';Q2LWGY'1WXG/+FLC MYQ+513(\>CI,P<@M!KN*^FG:'Y;]YPQ[_B]9]C\-^YM=TP 5(0&^\PCI #!P MIO<^B@_X5UM1OU;GM%+TS8Y\AVK#F^7;^G5U*M_CM)E?"F@VWG1BTIR VL\S MQ][5JAQC%":WZQ;Q=DYXP;.C,W"+,&;!8Y_C-<%Z)C(3;8L-$^3% 83O<0 \ M'P>\P $=X'T1>S":G0D',!B#D2]\7+"A_2 <0#R$ U#TT'8Z6,L)DQ@4PW07 M!W1JDQQA>+$L." [6A4'M*ZVH#^!86#DX!F5J1:65!$'=!G28BYSL.%/<%?& M 6T>8(PBZ,\Z"9IP #D."(.N/AJ!(J6$L?QQ:"V,* ZXRYB( YX-0U$&(3B M3#D,!ZR:#^, I 4M#J!3_K->P 7:#H5EGC!79F)HHG% 5 [V(@Z@P@%#71]P MP(('!&/P ?\BE_GKWKEV>9_^^6W7W[[Y;=??OOEMU_^+_$+J0+H9>,ML>A+ M09PC<\J7#0P/KZC* FR%7HU:\)T7'FS"82=+7=7A'\W,%2_=3^BPNB"5*25W MEYC(J.KE:Z!21Q&@_Y<:1"IH&G*AT0TYW^;%),,MO49T']W=BJ#(1 MV[NDD*7%]UBIO,Y:5*K\XY!(,A$0R*08H(.8GR;L@4P%G1O=+^6(;JFTKW^9 M"X5GAF-I$CMU'.@4W>@E>KX0A#8PW*PLK'UA]_6Y G,=2@^Q$VE(&VYH>0$= M4OACS=N2.=%\3,8(-GA.HOKDV=[E* F)U5RG2:P<>SBQ5VA/%NF4A]$WVQ[P M>;GKCJG@,"Q;@.*(X)88OO.-?<)6NMQ7(Y^*%Y18&B_HT!P87W&I4-NI62%. M,G*F=ID+&JKOQP&;Z1\"U$;%9E1DM(I,C15"E)(ZLRTD(EPNJ5KD6/OX6*6J,(D4UTZ]& MOWG?Z+E,5::RQLFO8'U5]4N_GW [Z )ZO@,'T /023[O:')A7MVP%P[U\-&U>BI143R1 M9:)P0/ :/WI" ?]^AG8\1=%H-SSY!\+QY+^+X<,!H2@D AN>CF?GN7"T-JFG MHFL+LEGN$G1H+QM/;&T<0 &&!03XOS(U\.#3#V,'G:^?)-1N">04F'^(Z+"_3O; S;)!$0A8 MR0H:@-(%@=:&^Q?P4VSUH=1?V\DH%.QQ+#CH4TZ\ K;9WH4G#T$@<7%X0 8:TOE$%-':NA 1:Y0 M[N$70Q,>]5?O55YXDU_?^RS3[N,!K:#RT+4567SJR::72524B!5CY2GEN4&,KB8Y@.X$>KEZ)= MNEF/8C!.<$W<$J"[1DJ[4=F<>8L99.K.=F%4("LNL^)XX#RI3Q'!CI5PJ6 M91M(P?JKXX# 3%3.WW8_ZLC3[N7B@(P1'#!OB['[NWW[U]J$F#7H2F7+T10. M8)7YVZXU/8 #I"#'6\)GA]#NN/^Y]U81 /^^RN^K_->NDGF$Q &Q-QN9$*5= M=LT==%[[DO'7V@"6K5Z:TB)5I:ZG)1>%ZHG2"-.1T$[_KBH_&YRS1K@Y'MZB]X91P<-5B(O_0#\X.LTWP M^H1,$OG+<)GMWBT'7@Z3VX<7#;U *WCDLGB8S8/HX;_;'^7+I^O&V,7/P+PC M[JILRN2CA;0P-2^;M#U*KZ'Q.25W0R?XX*OP&8C=[_.:/*4BO3;!?T>S9)*H M>9B#'9T3.74:,?/-H!NN=B%]9[$NN4J;7^I1RE+&'30Z)][&A;W&SH2??/+P MPUTJ#JU1*7Q"OL!I8?-GAE T=T@7UMK37W*HY2MO+\8?ZMD@!^!3VQT!TC4Q"D.ZZ\'B;00"#J=9]J] MY5JR+I40M.XM-U[,KUM\E4Q0+<8\/3X357,8788TS*@W"N/6L.KR;FEXSC=4 M6SVH;-US'1KJ?R#C^15-MT!]L75+.!*C572W #VI_2U1ZYJ]7%_##M^3IROH M-.0ES^]H.J00A+2/-UK&A,LA2**%Q^1J>F.'?4,^:6,X.JUF]I+G8=/6&>)X MTL*T+)=)*?H@$)_Z!EE_51-(YA4EC0@0=(1Z!U+/%AEY/R3:NW+#WNLE M5S2BDR %PY:_N:T_WBXJ:5Q/MW5\O0M,_1O#L_YFUL8ZOXX@^WGR2.$ M_4&"Z%*59K1+RT/D7FJXM?=6>\M8P#,J +\QILNN'9[2;D,N9Q)O3$W$?-I35 MZNI).#E?J8DL:CR3SQCT9UXDYFJEW+BNH>7=&[;.-U9[8TVDGF(:I" M 6U0XJ.G-!;$Z2-!2\["DZ*"6FP&J1TOF0 M3=4YD8OB]+$]03?A>7EXL-S'?I;^ #W4Y8/,YQQ<*-N.'0J?ED[MU9.!I"P- MAKF\0HU\2_L+LQOJ>>;]1'LIGO,7MX$RRBO6\HM&11CND5RT!>JT"TSKL>5H M/-XHA+TT>G#J&.BNEZF3V@W;=G9:TD^UL9=0N:P\_2K9Y]IU$]9-BSB.L2O($=X;C1@.U! MZ;R$4*RB^(7#Q DY!;SS+ZCY2C_?ZZ![?I?@W27 /Y>A"U](38VTK)(B0!CN M*F&LJ#)&,%T &QPD@C^@KHL#$&($TSKFD+]\"_U53)[]MZ[?NG[K^F_790[J M DU[WT>6O#MDY4G_U ]O2"]PM/ID?TO"W_L"XYWR]RDLS!1UW(BL8OO1)!,^ M!0?=Z,1R\2!IC$<(+/:UGV%"=(%/,YJXLMQ@?G%[065=:O%L?+UGNB*("$-9 MBRP>:[Z!>E%<@)[ O#7YZ(0#K&;';!M?N*K E+]*3S(@I>6KD,VY;@A:UE6L M\!C&R9=+Q00CF*\F*-IV^06W:.8.#;UK<]76/++:H_2$ (W/&,@%E7% #'XN MC,_Y8R[$I*0LV_.\KWOD]=H('[0H;=7P"04H!HI,&&M!]X/^AV#/3T'UGX(9 M_\D3ATCM%=V@?_YV^"^" .BOZT X( IR06P+TLK:]=I4*[)X*?V*8L)I1\K$ M4,%>#E@LX1Z#,KOJN>9@=CX"N_=1 -^_T 3ZL-+8P1/>GD * <>-,RV%"<$K M&0+4+DH-_OYIUF_O?,V\=D[E!_]V;#G-\%"PS."0 52$ M[9R"#&H:PK#K_GFIAUO;(8'O?7D#*M26OJ?(HH(!X %Z\!""K(FA"14SS8L, MN 7]L!:_FJ.-7*X0#.T:CPJ<\9T"3W!*/FQ]8!(57[ORG2^+E@5ENYF^ *'[ MOBI1#SWL"1E5&H66/8!2.E38[PBEO]+X4!1^4TEE$'R#^U5KV:"B)Y*K/66. M;0PCZD;]8XZN:7BK4@$VZ@'_.C$'M%&1W;!*I*I[);$SF_U%('5?C8^PQP,R M9=0FP<&,,HPK5"U&5V$TJ RG,PK@LJ:.?6L/(Q*)'$4NY]!5,&J\N?QR,['? M T2.)5N%DH,,Z\M;)JJV' WML+/%/M&Z"=A#CP@Z>AOEU0B6ZD_!4 MNK"KF *[+*+?&2ITHR@3,#WP7.JP(JS'TV1 M#WN_O>:[3[UW*+9B>7D?*Z(&$:%Q[>DBUS=S-)2[C JC!8C9JFV?<0>[Q^Q; M%OFL)1J#SS636*Q.1Z-7N@>FPV-V(M\:0M,V_78?S8*\<]*C MG]B3(6TS)F/E-^?A9AXP;_5E75E+]!)P6Z%UN6FNP4$_EJQ>S&*G86>QL474 M1)RACTY". N3_X>1@@PKS)%_&/.')>J* ,]/8_['07H@[:<3*;9L=%4/L= MYF/3P'[L#MEJW:G$8,J9J,Y&73C$1>U("I4&/I;<8<4!WW/>XX UFQQY=BT, M-Q-T7]@!>DR* U[^K*"(Y\\HIS.Q"OAY)*DJ2D2>N07YR@)?+C45X(!%$%92 M^1<)PPF^+@!O;[N"-PZXOA2+JD0<(+ MAAE63KW-V0\Q:1^V:GUCYP$I. XL+3U>/;3Z&7+<>DC%YC;$ HQ\:[ M., <'\2&49.%-/_Z;1@,EECLC'I%\O8N7$#=V,@C<0!&1UI@U0HR+8,(86=; M:)7C&D%Y]'5#GJK[A1I*:)^[D(Q[T7H*% 6UBG?459W5RI.5%9;?!:M]!DX" M/\8RF*3KB[1R+US42%[F _8>J^R-^A-D#C1?&VEF]1% T':P5,9>;*NW*4" MR)MSC9]!9"HLC9=;&R.#]9!='&<#; M, J%D:(^2)$^GV,:#>(32_'6>.K,2"Z4049^;#PE)=A]>*F,8)5PYZ[,0X/H M?"/.:U_:!N_K)Z&$.V;96D&5.U$>UBC;L"+! -Z'2(16X[",V!XTVSY,O;!6 M**]FIDHA;G.(7S.+X4ZNVDYQWR"CHVD/YF)?!VMR8:%ECWN!_8ELA=EO*BJ?_.&IRS%NRBT M,AS/@$KA$"P_:O*Y#,-Y9-QS<2>F#I?B[_8WFQH9,^TFB=_M"4UT"@H6Q)N7 MC+3=NAB?>@A]P4$SU$P?--(LAO1^?IUS6(8'RSQR8);.VJ8V/3TOWC]F-BQ: MS9/ -_09<5?CG^OP/U,55^P4J2'4+:Y:D\Q+D+& M VHWS]2+ \@,,US8VJ>E>DDQW Z?\H4.J(N89W95N:TN.0UH;@.R\"A8"^P* M&L_).QQO<4"H&G17'(2,#\!'DVS:^_@PD0L^9@V63A4(P]L8#:<](_.SQ3)< MPP^&,6B[(HH4^T)6% =0O,;'#0=@VZZ$#7M!. *\?WDM$ZV/CRUZH%6:\4-E*/PC%*:;B8G%ARC(>>CJW5$PLD +JY1% ML_P;UF]8_W_ TO@;+(V.VU\&S;U+^5!:W>S>;>??BN_0VK$:$UX6DK%@CF^. M$*P!M1J]7&^I,NB)%F^P094NF0[:^PG!ZU^\:]15*BLLYZCE9+C] M0#GHTVV'I&:&O*"P^)#DGCJ, WKT8P#GT+UR_KD-;_F?TZOY_AQZD5/V)+%U M)8\\H\/B0-B;;CI44X4SU^$)M[^FL[,Z_NZ[EWUQG MI*C:0\VDE#B^C0,4EXY?3S]?BOPQ;'[K5U_E_,GA1JF/O,6,J/_B]K]T'\%_ MK$N;U%W1=?[/;(C[4^?)L_>I.>3#<**8P,1#M')I-0\KP14EJ@.&R"@>#>[WB'I>UEY'+VPX1FA_56N+N M/: *X78<$#$AQ9[1M- DL3QS+V0SU<-58(;2/X!@D?9JHDA SI$MG^OM4JWW M^&RC!P=4I'1 HAA-!?,B T ?UQFGQ2"VGV/ILLXK!%,1?A5XHV) PO5:6DD? M7L.#UH,)A!1&>K"I%A]82+!S[ XH"CH*OE/H=#TF.G;(4D%0Y' &NS][61X% M[$')L -0ZD9JF*![AQ3XA=BJAX:;FD-R#<4DV,FBX<[7D0K1?-T[!;>U?O@V44=QF9I@>EB?^ MT[)$J4TI2SD.2,Q E9Y%20ECDQW$"%8]_N6[4O_4#'DC,4Y9/D(_!DLV)$SU M?;XPB1+;G C/@8-+629QP!-J1O6*//0MA;%&D_R+51)*PTI:)8"0\H)$QGV&_H( M9825VQ$, MG?](P23G!J413D"2IJ"75&FQW*(Y/3784#%'VA\'Z%.J^&UST7 M09ZD[D&"9J<48C@@6F^)'M12%SORA-]GRA)H'OKF&I40>YL'[Y3'YACQ1 M-Z&S0!THN&AG$Q('90 C<(!.%9(DB=?X@33/S+[N2-"3JGW&4%@3;_OA\TGE M42>Q!E>1I>D[92$'K2NH8GZY,LU,I'VI42$^E5U1ARF'^ACA,04EW6ZWJW?I?N"X)E[S.2O+AO<^MQ20WZ)YXG.,UQ*NR\G[JWO&1.REUQ%^ M]#TJCA+(R/6K"I*44'^7VR M9F&VN&SO,!4X1I?L.VITGQFWVR#3:#H '\_ MO>&M.@)%>MU_](P38?1?[HCXW[NT8+(#.\MKM#IDN^V\!V-G@J:Y+3GA@/MC M;G&O5YK\T_^\6$:3MS5]=$90#$9:X8#IU5.O)AP@[ZB%8<8!A_73[X-%@F9+ MH4.LHSB !'Q6$E?C.+]/4HD#VN)P@&/Q)WPU\5O\_P+QC3349*PG#B!>LS*O M'=W_LA\MVWW(X@EPQVO>>/0HRT4OL2*]=>$!O,XE"EPY%[[0]W&XDBPNJO'^ MUM+5W+>"]"ZKFW4_H-_O9^H*Q [+$:+[$#2%+J48P_&K-15ZS>SGIJKIV9\1 M+D7X(83\XRU#9<#\!@+-QECAX:"/9:%5R1$VA:=6?9YPE:( 45B!^)3CF_Q"W-CZN1:;3[459]E!?'=ZTH=;4U]DKG;97Y7!%+:S[MLV%38 M :*NG"=T!-DA?VBOL3Y!'GO[>>A8QP0 L).*O^]JHEQ>H+_,X5U18ETC8-)=1VL^=J%=+U4J%Q^X5?.+]QR MB,KZC\C8CQ6R=+P0<&O2$*%>_9SPDL*B^NR2\&-L<&J%#1 M;VO)=+/968,S1B#71^_^F&^R MO4CX.KN]JA6("$<#5$\-,#S(S' /:F\]U%PB34JITJC]J#+7?6NFMB]\35&]1]@"$:X-,V)%YJD;"]S[^1BC:F.MB:>Q! MQ/6CEBM^E:UG(ICU#^V9[FGX3KLKEK_5=5!'Y,:O8O=1.2BGTTX8E MFZY-<\W(Q,FUMX^# ]"G,C=+1B1WIUQ=%8% E@4\V4"PECB9J\4^:?=0+U,\ MLU>SJO.\N3\RE&LWU*AQ4WS)5;@< 3QK$\]!=B!XGV-%[8U,XT)D%.Q+9DS5 M%\W);EU_)HP[D60\%#0M:!12PF4][,# M-B?W]@)8K+!ZPX38RKR]9U -D^ZF"6F?0 ]5!/-SKQV#VUST!/L:?\X7'V5^ MVWV\ZQ7IE9ZV5W,;<7LK]3BC6SAB'CF<(82/='$S+3#&8!&CB0,R,XFA\]$X "L4+/U) M('0WB!2'QY>K8?BPVHO-L">=C6! M3-]JN_JLYK&7 W21\QW4M[;\#K.J-UO?.'$=KV2>=6[$N0?+.K9]F SB"1IU M'K(;OO6\D6*Q!BX:7T79W@5S0WR"AD!:8NS,#-5?(3T5?I .#ZF8"^55@OK4DTUZ9 M&B/L9S'7-QQ4U- -HBFR;=]YSL&$UG)HF3+,M!N;\NHKF 5&6_(MOS3WQ05, M0LV%\5[)W,\D1O7B .6?';#QK@R=4JH*1XLQ3LJP%%@\MX3/J(8=JEI%@-ZD M".G0WF9KB._R^8YY]*?E6^/-O&;K7C%@?ULQ;^V20-+7,#<< M0%"(Y3A+W6Z40/611"ZH%X9*-V[=$52"11Y<_M"S9K:K'=E,87TUB;G9S%0>)9_\N?=6F@R:5ZCS M$O%:,"GO=P,8:><0P,1! ;@"?W336JPUZO* *81(Y$!B>JZ*13%1(_Z-;F?@E#&T-?D&\:26?,<4_[-X_?)@*Y7,<0%S$;@BEE$NO%I8QONO%([#" M.RNTY/[.DV&?\[]P[[^^9S]-1V>]XES*)].[T+S9[D<9TYX_$JZMD^T8Y6=1 M)-HS&A'?KW95,;A3X/-ZP8_JY>N]AT^&>NAJ(KI8?D1H.^FMD]PNI-Y,*?KVM!!/TXCY;BW"VP MW1D@\[L-6(.3YLRWI?SA/4<>F NLN<#LM% =TY&+6GA=:0$\3H'.,+/W0 =8[JJ/Y$LV,R MQ"#F)9@8;/K4LXQ.8_K&:0H&U D2FWSL;UE0;'_"K=.7/V]FK,Q%I%S_UHJJ M)XLMHO=$OV9YZ;JS1JKRU>^1,==$&9022>T>25$A>!JC.UHJA")27_NU1!]( MXP"V#?Z[Q_6OP[\8#OC$R<0<\G*,;R;UZ.A%J]'@ &6RN1OR! D%$[;6UU36S3I*VGYZ1!H+J!+9-/ X/3_O?B#S2A>Z.) M74S3!LGYSX2?;)72NS+"&5[1GJZR5BFZ6M?94/+F' 0T)^11S@T/6QQ@R-\M MW?*5KG@YUDR-9C(:G,9PY7S1\JPR'L1*1K57GJ5BV>U/^C,*[&$H>U_[FX-T M8>L&VE^?WFSXK"0/;Y**.ASW*S/4@_K4?:A_-3]3M97TC5(FN5_,B3GU8GC, M*Z6E(Y8O)T;1<<^P.&(Z$[$ 1Q8(>1V9V[WR.Q9)#'H%2T7P9O5.I[6?X<'70VX.R8#)%\P0:L;H,1$ M4_8R-8"S3.9NV'/?WI[1XH<^MQ"SF;&>-B,YR,D(,?_ABRIF.I7DK 3K4P=< ME]PM\X9.6 NACX\VTSYR\BW096Y 1#H]W9"]&QU\.8.1#D-'KY_,O9O;4Y\U M+=GB,A7*E#I,XW""#T:?'$:6]+Q?;288QZAZ6*E2CPEQU;3A2U!2H@,NU)V]58X4SJU%N;P,N MGGK[3]X3G M_#V2IR0D0>\(+*!AS80^A.W^IAWMAX+\^ZE;&AU8E\PEBP.&@X3.B82*Y$SO MQ<YK%NE'U2>"GF+["EZ.ETB40F?HZNX#;GA"2#=8F)"(-(;F95Y MG;2,VZS^JQGG1LURQ\_:WU:?Q$Y9X?6_K&.CI4)#X;Q1'H6R9CW3@[%5_FFY M%Z.E)67>P-L$JTU4>C0;Y EO$RT86=P7N_$Z+[*K7^F\IJ[_U%6OV4I#2QO4 M^YFQ Q #=I1UH*#0=!5*O2AW?5P($!09J;YR3HI_NY=+)KD]QE-L!CRU;/*8 M0P1=!]_P]3SG7=6$$)A1 M=^,[EK=1IQ[LQQK)$8.:B)Y"FDSV!4J6RPEW^) M'9$?H7S3[0J+_%%^;>?=#6ZZULM8;C0!#,KB,^)"M[%\:AS?3K9_&IUX:.P5 M$Y!_P]7MG2V[8P<,R]U7&T) %63\P_[KVJR0?YY-1K5629Q-IIY:V>$%CT.9 M$P1B:[RS-QMSJS*S:_(\ 2NEX&6G31C(' D&9#=JD"3Q*,OM$POUKF;.43'T MX^@G?K))J6I<3T+JTE[*?X'%F>ZG"ZB4#14E#&I6U'RN5 A]/GTUEG2!V*S4 MT/.A+:OK<1,$0QO_;;'X<L((#)J00'/+8O6Y^[TF*""=?@[ZPU'*"]KN2[7ZP5 MR3K?Q>PY-MIX$38KY,@8:E(5J+G@9"3Y=?.'R$OI2Y.?RP/,;77PK@OY/!PQ\GY205JV!BNC-7L5Y4[#TL6H['0MYSN'@/!WR7 MQ!,<63JMA5".:::&K!J>V&0_]#Y<_9@ 6MIZQ?R$>[X3^9L@&@Q!HBX\'KG MQ!)TM1.3N8E,W\8\K7!R8FE_Q/&TV_.;2@1(U 8=0+"T*F< M;2/62EN!2T[IQV."&-O<0"::A^5OK-[OL:+L)84,,P7*O9PUOPYZYO@_"820 M+^Q*^;Z^FO;HP8B[II!P_)2TZH"AH8OQZLS(H:@<,W9<#HPJ[:0FO%-?.WJE M9DQH9$[Y99LWGU5,7&IS%=X>5_+)*_AL>NRG/<=<,.'-&L0@>8 :8NBE1$L8'/IDJ[F379.VW$8,F3>6J9 M/"A-G:?+?G+WIKTV;/S A\YU.$#A.Q1IGHFQ $W5_]V@[\4HC#=SHWT]/B(_ M1G_T>4\4P@2':UWQOO/ M,8'O[Y #4@B0D.HB(J^V--S$R7IGZ-9 MQ<2RUZR?PUS@.(,;7[ET3I!T[L4$TZ&RW MJS7A!P_=_2_9&%6F\D1I!P>;4=V0Y_;@+?9*KG&%7/:WA]?)NYHRT1 <<:8N M=CYTA-FLP3D15X<_9L)='WWV><>@K,R@J9TPJRIV,*/\X^L_87MU?HE>3-<_ M/2&+"O)+! ;_$KTW'** _Y*\]7'\*^Z*ZMCE)!K1,(H;M&62)4423'0QF14=>NXIC].@SV9>M#TJ.Y!-OO#Z MDWJEG@M2"OK/+I6(ZNF2-5,9$1.8I_"1UD4%3US>@_D01-W6#S;J_YKP(6S5 M;6A/9VJ]Y;SX3EAJUT0A3;GSMD:FXU3N15550J/M% M["0^[96$]W+@H2?7H'*Z+MP[1*'=V[WF/ M55'H&,X6Y0&T)LM)&&98!0JB6 MZ/V-4M8?&.EFM'^.I7E"-6O3W+'@<$4DMV X09SNUQMF'&$M"K ?.<+M5KPR M(SI)0A#/WJ==7S>LY4PD$D9G*QK&/4\':+,[W@1,%,N,TFGFBE-?2LKN]PRT M_;J=/+==T%1<.M124=K3PA9@B8H]C"^P7#O\W/9@4@UIO]'@ZF$>N)TI4OK^ M3QY? 4^)+F1&RQ#"T^+..R;3??\^9^]$KS)Z+2W2R M5"6$^F"R=AQ1&VH5T:C^.-_8=QA5*]+E;_S?^N-SXSS"MB>3!D,Q[%3J6>AD M9M#8>"%-EO=.F7]?W[,+.TE)3*'W="FEDW3B!U1(1P26P3.5J]H!,E$[YD.- MFG.*N.=[#7*X)5OY8M5>2*/-K(!7&F M;B[!>GVWJLCKZ(:,=_?:X]VYRF*Y8!+%.6M& MK$R1 >J%#J\&W:G#0_=]Q5D2F$W%$Y3U3_-9[29Y&QXUTG:Q>D<%<>*+W1MC M ZV3/JB21-0-I1.J9-.@PH5(X?X&-=LYIZDG8+_$1:7U$3@/\'B)&O 3 MCL4!]O.4:(KYNZQA27#_6"V]T99JD/)HI4!TX0;EY>"]V3O!;PQ,JM-_;!,! MKFY3ZYGT&,&<@%M0D(7C#>$7AFV>(@59MLHUUE0OLZC[:V_"Y'NY@9MN$!$? MVJXY 317J5VS #H'-D_O<'2R\TQL2WR[LI_?0G/E],[$\A:V[W:U(;E8F7F[ M]R4E"^X^*JH9+3+'5)=-IP\8&0U&[&GW',NHF(;#Z9WG(_=5XN>5/2;*U#KZ MDBT^JZ31]1()N;*H @>SM(?Y2(E<6!S]AE3\A(P #B#K%/FQGNH=L?]VL_1A MF.Z]FV0LWE)?]#\]Z;5A<\L0@,*4NV=)X0B'B>G CV4YCJSJ2L*5+N?7$M:. MJC:ZQ7@.N7A)P>OC**[Z-R.C;_ 6(/AH&!S,&*"##0V7N^F:OUAL^HS"; M7[OXW<)A9-I1/=^\@XB)XN7I%8VL)(+TPP*9R6(,UT1/-;YE,=H0]M=(DB8_MZ=%XI*=>6IFX&$'_" 1TJ/NT_,/(H ME7@9@9P&\])#G_BVAC'@+C:\QJY;"9"TZ94!"+9?&^'I0'%DB />Q\%QP* & M#ECD!\,LU^?W=3"0X[463*@\>S%#%[2]:;QE-0?=LC<*/::(0QO5UYS10YFP M?BXXX+(VJ:.B&P19ZNERPH<5QNS/8^_D8!FVBW& (J@+!V2DX8 O^@33P^9& M&(%9,VP4&)_@R][" :_R<4"H?R%T6!D%7?F( W89 *_*?PG0ZP"9\=Y6="Q\ M-Y#@Y^=@:36!OD9E)UL86=\&A+E1X2,@6@U?43<"*YXR(HZ-*/,"S) #Q47B M29E=6NR#%Z[9MC FGQN7[/FVW,/I/A;C/U[OKNTI">$WN=EWJH[W;N/N R 5XU^ G4"!Y0.+ZI1X>@ M9N"/H2@-M$D ;Y[JD;,SH$HF2W-,@EY7*4?IA%6QF@V/.Z0?0.K)IO<0#(FS%S:O?-(#,1)=6[ MQ4=5H9)/"V#(;=4&GE'[FO>F]OY87@L9CBL?&-3$KO)5)W@Y2&<_%2(I*V1IG)0,):H$KFT M'.T(V_!7-ZOM=-AH56EIA:NC7BGK?BY<_>S>X05:4U^OJ19\%=O, M&)QWVPQTS\8.X ":1CF#8HR K4P.UM0RN=8%$Q!_8I )0O>UM9#NFUWSM)M4 M+:][TT%A/V&53)E )G]#!,)L&30Q)X4.]XA$EH.CII.RM8G[EY_9BB0UZ5E_ M;,V):YP2#T4)&*"7"M[^&)PG:,(.K/K0SVCO7T8OV2BV6V^314QK?@;FJM4<8 M:5CSA>?9R;RJFCO)2/.18-+8JE6:T?!IW'HY%)0K-3DX0E2-O&Z)0^*M]N%_)O?Q^P<^Q?" MDXQU9P)?C/G'QB4?(AUT7V[UZNMZU;2G%P?J5NP]P=1+?B2)RN%G-M[K@+L[ M.VA.3 @-JYWDVHYL'9PTR*-]X8'*K?43X8@XQK["60>G9YZY6=6.^@B^&. + MMS<[.?LJVO<4C+X%R_A8_S'1VDVBB"YQZZB&^OH;+E+"4**7-XE]A/&%R9.6 MYT%7IJ^K2%D4I*KVJ6RZW<#*I:G2;MG _'\LV<)9VJJ/MH*5I8*=^! MDE:0U#I.]*]UYTHJZ<-N^2HJM@NK/TDP+)]YJ"[;/MP!C^&V\&^U9E-47< \516N('0"=6D&D>79VG'VV-36W?FRNE@A@ M&0X_09?Q81Y[\C.NI^"GE2+\9Y]_"_L?E.T5W>C0I/I)#*-PK6@+YL1_.HQ+AO\Q-OTXFP5+J4.HUB92*.85<$P5OUS#)DLO5 M]Q+NR1J\ 50.^WT]4S8K%LXN=GKY=8=Z%JV*FOVXCE5,0NU^:!L88;X8,K0W M&K4!_67&4O[3O%X-O@N&N6,^@0R"AE4Y.?L[W>VHKM5C8Q?Y6',.T1^Z;TF]$-H@:F&HR^*L,O; M:_2:ZN5W]B]?YN5S?E^(0I\>AJ%9/!=PP*4.1UC3+>/Q3>L*U0PWFY=$H6\8 M..[QA03?[O8],1IWG:#E[7ZVGD=N__2%A=DU@WJ7N2&[FQ0T6$N]4 MM;";KW,8TV)\S\823"7]RYNV)Y/C'#.V%K1F1#N:A5!7F]_FV\?"9NP->L>$ M75YUOKC&"7KMV2WWP2@0Q8OH#D&.ZE>/;#^ITC SJ LV5[3_:.:;]BJ!X(<* MN\):*GIG =*6KM4Y?Z%RAMU;=4*L2>Q#N>QP&05=LH3ULD^&G#'!UXRJP\]H M[T\\9/A,96GZQ@V/X6>KX*':8I\TXD1KEE@I'S]G[:4&-3^+ZI2F';G44G5/ M"015 ^<7=U/]SY7OUG8M=0S$&IR$_><"Q4T]JJKXS'U&N^6NHMV;BDHT@O70AJ !YI().O.Y7Z(,P&SUG(?^HJF8XF^+P MY5/*2(F85[3 ]@IIC:0,]A@IT$7MM7;4,J3*(NZ7@^Z!^<&5/=[KL0[Q *J(] ME?Y%Q6H0L['B3#:6G">42U/J*62MWP_4$8?FS6S'!PB_MV/[E+%.GO?#F&JZ MNP_ON>B+3LMUS+]T++P8I9M9V?,H5]>P*OM]]>'RL%FO8HZ,I>=;JY4M@?%$ MKZ6Y:1=' 0'(QQX6'$!MBZI =#]$@Y!!@:+*B4L01I\?$0]ZCA)D0L'/$FL8 M!/,VV>#0:"8=!PBH67##\M:#&1P PUS2_@]@6[NLW"L1P1NK+F@C5)K0"@W M#*2U=45C ;K /HEH2X5/=75]VC3TV^<*,OB?DWV_]$Y@^T_,-75\A1C%7N (Y,>CZ(SOIW M.MSW)[P_=G;P[>4=$*OY\AOYV%Y%-C(2/D+Y2F\!2%)^1\\HB(*?T'I"SZV.. M4X7=3_ V_O)S.>#'3F\3,T2@R%*DQ8IN[FBU9!P3/[M_?T*"C_NU6;XMYV>= M8)7MCB;SR_P5VL\;_(0-?[Y4H%_O>8-SKV^%IA:/IN:1B]U,UC&3Y\);P"HJ;S/F!R<2 N+WS^1L# M$_=('6D6,@0\0XOYZKIOJ>F^3/9Z;::K.5FA(3:I]'8VLL_-1RS=SPFB-5B3 M%Y]ZS2_9J;10ZDXQ$,2UC>L_QF#K2+GW)A=TX6O,I M=OJX6&LD%GR8C*3"LE>."U?55KZUU>W1K)6S_N;#_3!!=NXM1C'@#*6.R&V) MQFCYB.$ 9G2J%FUOI4+NZN&=\;)@,GN6\BE)27Z__5(VY$YX,S\$[>=/"9Z* M-AUS7@GL,)ZHBOO<2X:@*(O-HI$<4.TM0;1F4N, !S#5.@D.:)^G;F9'"QT@ M1"AGC?03#F'G,Y1%;[.3WJ.')<%N-.XFV>UY'.78HO>$Z[%WM8@U18.&OZH[ M*DYAEKZ.'-]:M++'RB#W66-T[)J)RL<.KGV@R^V)$+[:DO3C'6V\%X_[.K4G MA#Y !P5M9X3WF-7(@49&K9[EF"A2IXJ&:3<_=E#:="9RYBUVMF\A #MLU-@F MPDN#,8P#,V_0[AVHBG-^Z?.V>IG=53]?A4,;.<=9&XIQ/[WK:,E?I30WK;G X;6'J+K'(F*S M:J(>V-&G1@=1Y@V..Q?\*4X<83B@ M"Q(^3U0I:"G,&*",]LQ>UYLA>#R-SUMG3"C>56Q1?5,0V,U8."R.HPGJG5:J M*;K:G),]MUJ=+(Q-$[5,8=*8$ASTX"+ZX@ML=6\BAF2NG3(%T" =BZI!U&+7 MM@EF#V/5>)I>99I_^T9P0F!A\M(E?I#ZDMR%F*SZ/&9(WO1R0D75H?^AEUQ< MA.B[9!^?A^44$D:-N;KD?9IFIAHU-J/U]LX3 WU+%L*'H\CD1'B?P PX(O,\ MEG]V1KW6WH\Q F7V [0MDBSOE?GXQ&_L_V'O/<.:BKIUT0 JO?<:FB!=.D(@ M*-)$"*+T)DV: 9$6(! $Z1T$% 14>A=I @&D!*1)[U(2>D^0$B' X=O?MY^[ MSS[GW+O/\YS[[_R8^9%GKJRQQGS'>-^1M>8::F+3(;<)KW$2Z_7HI=D65*+4 M1Z5,5."X^7R/5]*QDP ?;!,8>T$S)@=5Z3K!4(MVCNN%4@68*&P1KVR&&H_Y M+2SMWJW04$0]$-4JI7N='WRQ*S^R3#[01?:0221;?S$V*W_2>ONZESK09#-=%M;\2 /Z_4O0N&DV-T= M+W]TW!+#0CRC6E/ID,+*MC&%".%^M2LVJ8,V*I>8\@I MO$&KO+EVU&0J@PS MHNJBL!8_#%&$,,QU[ZNF2( M[8BYSTSL/VN*<#16^W172=Y3[L5W!V%66(NL3K\A?-3OQ4,;FA&^%,$DC;&5 M%#(GWYIH9H'/I)[,50$[0^SY\MZERGF<3=[ERLV_],]BW_:>DD-.#40RZ6^O MZG-W2G1#.W3?*>>5R.V.9@W^Q-0?A-G2$ PKFMM#";*EMW9.$OA_I^%WAP*F MVL])"<0X-L\Z@LR81!R")?>/Q )3?(CO'3$P".-,JL\2W8I3KZC![H MZ^$1,I8_3RD(-YVY]O_OVH^(N;*ERL*_19#:)(<5]#DX9#*$W>$BYEQK9L=+ M:B'*9O2-Q+%]*G"J_D@*[U))Y/$9WU0%>X$@?U3.N*W&U"CR2L8KQI;"7@NM M5_;1N>RXNJSV<8;21LQ*.HO.PJ-FI9MF]&%DJO>YRT6;$AYA7WT4\)]\(*HW M)-?XEW*V*@]+^^%XF!W_!XVJG "2$YC@L)J?D1L/_CQ4.'FLI9MH_T/@[FH/ MB7?XF]R ^HNR*X!+-O,5("9JM[SL.\GMW>.6H1D M.E,GO#,7N2$6<>-CVCZDM+SE&=>RB9F5)IE-\%R\#XV7F#F@:XX;0[ ;3R[.(]*("@7( *=K7 %HF5(' M@'-Y@,L[6P-AJ+S'/TEJUDS:NJE,\^F/Y [N]1+J/,\WITVGL!"XZ%\#6ZQ& MANT@W ^\7&Q+6ZDT":+&T3ZR"WTX)\HEO7=99_P3O%QB2S*35#>,L08YW_B] MF?3C^*\9SM8JX! Q;'H%:!MZ^GU!?Q( WN(.8_]$:@M(V3!(I^\4J//YOLR/U1Y_M]/ @+"4ZL3"OGJ",+>S1 M%1X3WV2B34-M=V_U&@OVG$'[:)XI\SD!/K=0$A MI^],MB]';&BFY:X]]5:QV\(VOEZ(C[]V3"K#L$)+XU$_)"/TM=F?&6(=YO2@ M-EG&+S>OSE8V-*3_A MQA>-=;9OMXJW%!<9<&JM*^XC#Y5IXEZ,"U;0R*3ELD.>U,DZE(5;D_;$/8_%J@5E ME8 \,3SI)?DH=OSAI%;+2G:.):8])GL]XYIV6,5QLD$/.&\$J8 MSORU1^NN M4>6:O#5GG-#PH;A3FKOPG1B5CFJ*.LEA^8=\^:&8'GMIC^/U-<^F0(G,G_7, MW,E/M%R&O-XQ/ 81:?_VG^P CI,;76?D:04? R2O P2Z" MX)&$UW:^ GRZK+X"(!RN "N^M9H !T2G"OB"]!AQ?@Z\ G!6D:P,1S@WX_4P M; ;UI8^JN1X-B.5++BF#4HFI<&GQB5XV-3J;WT1,C7U!S';)"(JY!%?T=F>] MHJMF45Z6O_8+6D9Q'J$,(<[.1WJ3U^)* _V/YB@L8TN/H082'FQI#GNCO&VQ M&B]:7KWEGDD.4U2NDFUJ2'O34H]EW;5#2S'#5#2FZO6#4)3>)>:]WO+U.4=W M'\0/I)8W<,^0?A:'M 9K7V1?7X*:R=(I&MQ9 6 " "O &S$33)9'Q*MH](I M\,7F#5EIL7&QTWH+CM -4-P(^VZZ1F*=&0R ^V^MC(-"C_4>:Y MPI0V$*L8DWU<[?2E]=X*SE1ROB.C>UUUP?V Q&<^==AI^U7UPD70$2IH:8 MB!+^TV'_A?7-OZ2_CL)-7O5> GLWK MO.*'.*/=O@*?&IWJ?1')\75 U$^Q]IG'G&["M- SOG2+\/H,#["BI\PZ!4Z8R-S4>&[)X#B((VJ.R"'(?2F MI.KBH%K[ [TVXDD/,^8"UC+N[-&1O6#4>^\(EH(6.+\J;7\I18&O137[I;DZ M8;LT\/GHI+K9N@Q9:XFJ?-?7C2D,6X*AQ:DXXOB!^I6U&*=?2RJ9RY!N59(. MEC;.R1!&O FXW,9+%BN%*11LE3V>ROI0\W-P6FRL=_SG=]Z!& U?/0-IH+R M@,"E;LB<5//8S' M.S L?UK(^+%#0. :!CJ7J(X\F3>;X;E"V=TR,W.;RG"CBEMG09U? (X> E8* M)_8TDR9*P@!\X5(G,':)$HJ\_P4&>52#F["1Q*[G%%BY9YZ5S2KD!$,=3D0D MBQ+2LUQR;KRV(P_N_Y%XOZJKUY829-9&A"V.0,H6H + 75V?MP-5+S_#4S0K M!EPX[E6: 2Q8I$6ZXRGVTX/$#$D<+\KD@X&/I^42/']TSF-,\LJVSE3;(W?K MG7*GSO26A]S%_:$"5AQNM>%6(PJB-=2#J06W#+N-@<'\11BA3O5Q"!, M^)W>7)DQ.^Q4.29&_'.X>N2Q%'5Z?84$1T :+]F82I\871. B5U8CFC7=T4! M_H_6#__AS5*)+AFP7 5QYHG2.R@#VL] ME[KOWVWI%_L/-1E5M H&Q#Z*9#P \,)[0I4K1K,ZK@ 1BM?AI2$5!\8&@_%3 MM(E("712Y")K&XXV&N2$:>&6&5+4N0+,9TKN0BBB8_54:GX8&^H*$X>J#(YF M86D9\1N=BSS8C8CC('E\#<:K>DO )G'X?DM&P)ZX@L"'#6K1LI7!)S7F.8D/ MRI]/M4?+YU&Z*K T*MM\QHFAA@,*+7=8,MIXVKY_SX()OTI^+EMB= 60=>HO MJ_ PS^0*#;J65_#+=OI+[EZT-8E9*TZXFUIFQ_PZ-7RU&]D_%GM3HA$H:3)G MMI9@519=X+LDA EE[I)V(BW')1'XVHB;I_BG"-8K8CIU.6H26ONK[HHTL=]^ MXKH8(F[GFKHLO70K^!@4"SBV&LWZ>RT1U=2PF9$$8;2^WYQM; @_C\"808MG M\6;CF+ZOY_-2SCXOF;JRLA*A:#KV]QE$QN431[11'(JQUZ6/^3C('--2J6C8 MD+@_YU7UFTC0Z([/2\;<9^'JW!XN0__H'9A]G?8^9Z+R\&IY!)?_Y/.16R?_ MXR3W>'P3:W@;&5[RH/M2!!<5S_LUE"YYWEV1TTCU(I_K8^JDV,C=(GV=.RTG7P^HGC9KV M;0>&N\_$GU$Q?EX)NF#L9)V+S'-L9R+8E9FK(CV=T.5;'EQU/P^)6M=TQMVT MOV4N$NO 3(:<7U /Y2^\0I>5+RX:ADGUEK M9]IY,I6,\.!KM@!?;C1-,%^!2<"5[6.7466_=:9E^X@^ MWB>.'$PEPP[>)8Z\D4Q"1[07D"^/5E/%(=X2B*H3)(.J8SDZY\U096[39ZJ[ MIRQS$@41)_H^B\]YZ;FB7MK-B,HRDV0=N[31S4 8=(&Q(&-!#Q(QR?9[-WC> M9>0YD:(0;&Y^C%V>$GF1U;>_0P\?OEA;?*9)R3-U>]9[G==Z M\!5 M5CN!1)L@,OLRG$PQ"/L'%8@' NVL$4^K\)YH7(?'J7',@/K5L3:J6!O M_M#?&48 %;-H@C<&08.7-6T>DV#%5,?59P>EN?E< :B7]+P$F,/NK3VW>:9> M4S"R__M'1KJQ!E 'H-/N:9\Y\Z6 M!.)I*QPB7O.RI>1^T8SYW(XBPX!X:G\**2\P0]Z5T;L&X$BC"P@-+'(9@MG4 M8-HI-O/H33MKAW%:>G8E]PL@&+-J867]UJ..QR8'BN^!WNP"UOWQ;PJ,7Y#R MFN*&$T#RR^^/V1WB,-,Q$C[SV>^E]NO$/A1'CDI,<@3D:J6;VK/.US$*L*W. MQ;/*$1U<>V651;DX]-@S.LLTK.Z ];U9.J86_K8E^4,U1?+^:I&YF^B#L5^ M;4__QX;Q5 !OKFT/@@$DL'R>79(/9($_S)#R\]P8V2_*51$+<@655CDZB*Y+ M\Z:HZX])QSZ@BQ@"!--FR=H\.$MZPXEAC0*Q0E=L69=VLO;RERPKB^I?X5#$ MJ/7(]$-B3QOCD#^^/43RF\#_A%; XA![!1#_U ]Q)(._]BCI^+6$^B]-\E(3 MXZ'&^B<2));G#UCQ/1!Z6*(W"PF^1![$FRPL/P)B.L>Q@(M\P M3:5=%_A%+0&JE4654$K1 ?F6@(BO+:,U_#THL[LWO WOK[13ZE?!/(;&,9,- MF579.I4$#2\O9=?189\R*#J *CM.[8@SQ9SH547'-P#I"'N^_,HETR2(=$7O M@+VC #_>P\IRR7!'7NP*L)?]YJ4WI\YC2,OIFP=WQ6_)D-U87LG^BH]!6?EM<*VW/85^9K:G31GK!% M=X>SO.@^C"],Y[NXRM>U?+^GC MT2R<+8G;)1#7GK /DNS%%$<>Z".G,QCQD=N8,0D#LAP&<]Z!3"(+G<-O%= H M(Z9$]_'_G*;3<.^OJ;D*1WOQ.NX*H-UK4Z%LFF--H!GS9>-8/+7$2>R5ITMY M>E4:X-K(GK/K=K 3M[+\+X2\".7-;?6S$>)1_<7V16#.LZ:IE^('E>+%K8V1 M^W]>-8;I&MM \R5J= >>O_;2%SIA=/6P_I+=BD""E4E*07<)6U2^3$_4;_YW MPXCQ31; 0JR+0'ENB;?LM5A,>MX&Q$5&02OOQ3V:K&\E=K>D_*L@%YMB\+HP M1\#/T.N[2*\2,S ,X3Y,!1LW'WDYW\6C,")>O\7 +6L^#;JG6I7G*QAK<=O\ MEZD,T3MAHN\=?>R TT=B@R#I[OW/I28U]K MHV&-< 6G"/O8?VV87L2%[MXMZZ=TKD_K MS%7]ANV-.1X2[IP3=0^,FI%@[&ST7[-3?J;0_\U"VYOGAI%GQH;#WIR:53Q7 M8CLZ:8\=>XZYS*FTA;EWDZNVQ>NVN<\'O(R7)LR\CTDGCPF39J!]MP=:I=?% MT,YIH(2?8?WGW3'7/'/2?*U9ABH+40.+U!7S^9%WYK0,RP;-)(GC4TGE MB-9"F/',F"'%Y1L\'!S&N0FO%B6^3KU$JK 437MMGM!OFTQ+O92T(A$A%G$\ M^GW^+)FHVG(4Q%E&WL;G9CK2F971Y+?U@L%JKS[VMX8'^24#Y/T&-ZCKP)B@ M@YZ.$;&OK2E?&E\UI"UKDLAN6''=6>OAC7CM4();PW[)]KL M$.'+(351G' 7^&VSVN?E(97>DT4@MFRS,028URU52"FAWD4<7..< /E8)I!" M$7CW.?G6L6G7'N?,=DNQZJO[PC7T&N*C]1Y-\QPKS^4[K[MF4X5WS), MF77TKWX0;_"G:&Z]WO:;2"_T H?2VN2Q/L=^_^CM9*U*P129$O&03<'EK(-R M(&I1+4<_3"W6>N>,#ZBY9P@!.G07L\ MB'&E "L(J*6;1]GU=1E_NGCX.2)VGUA_8.C_>3\PQ;)7+'25/"XE( ;XWA]CR!X]._7&0M73(<,'>4]_.=JQ]V-U+@?D1J_"#FHV < M#[=8O'U1&L*)!_=ZX57,)NO%) +U9N16$^JH-2L7,?9?[DRM/;^;BIIP5)/] MF!*>X!EC"R008:.>CM<=L.!C)41/+CC,/I^#QM]%WS7)LA7A[(N6!@P(39#B M2TBZ$:Y7@-F-;@33L;LEE+:S89S;]J$UPWDW/;YJ1]_2<2#\9.!.J.7FB([- M;8G3TUN='ZL0%< ()($BI,!1AW"8F_C MK J-Q0DQ\2$.6DYF\6C09S$MQ>BX [&?5J:?1O[9^=#__ %,]BD^'&O9H\8] M:A\+M30:=VIHT'6D+U=Q"-OXI%3]L,H2 ^E>HB8(8'.F8T#&I469!?/I&GQ: M*:M^2CHK"42NW$E$SQB"[Y"@+D$S\&XA%<@W+%6(&-[57F(_:TR*OJ,X MN&W/-L0C?30''?]6C&&/YD?F;X!%TXHM,7Y-C6=[I /-#>S)[PYLW1N.1LH' ME+7&9[)\4QAP"KO&CY$C MFTTC4NW1H(R8=SK?]OG@WUIJYYH]6?"G7991W8^FZM#C*6H:CEYDPW<4X5D?CX$DT*B)V[A;A8A2V#=K%=LX M@Y:'Z7VQBXL!S)UK% (Z^:\K$'Q&'9ECN_]X0"&*M9W^$U;4;>Z=C?#WUDQ( MV-2*^@1?K.L*E;61?^C#&;*-5Z_)V&_$3N*D]HB6:>?1DC?XK/1K-WN.6+&HX1[R\&L.J-( M?_00^/X$='VJ"T@9YYO!,G?#T5HX3:KO:^GB1^QL=:4$VA(F$.-=SW2GK^\' M&W.'2QX/G!D#CFYL(QWWI9ROIC?O$Y?]LL4:-BD8_^+A^9.WZN;>/QD8:S;49"&7%O^13:)U:;OW]-N-FA2/?JU>D=P^161,'$H M**J'!<%\? 5(.FD,3.J:F$82Y=L^.)-*PU@&F>4'?P_:B7L=L9Y.J9C)_KP$ MH"2I(6$; Z0 ^0=AH[2PF02^9M:D"E\=H6SK\7W?#W5-E<>ZA7\N)S+)6P8C MN-=N A8ZF06)Z_?<OBU*\8^\P_W.WD1__D MC5@U)%50XX:UZ^$@G7LVKI]PU*>1!.E2,S?_8=ZW"TNZW,E:%$$JEGUI\_'3 MV7 =+!@5)T4%4^Q0!H>GH4)HK!6'<2"37(&HQ]E/VP(H!SR&^54H7[Q(R7O! MH8_6NTG%.4\@/5>'@_'9&&L-=>QP#.^DO!Z? ,B5JJ:@/^F;=IBV>B99Q8/: MA[^8DLG9F;9"5&&B4C'MV%#J!R>V3.0LK&'4_(>6L(4O#&^#"M_^2/@:V:5# M*]#$1)2)H;VQH[S1G1>AQA>EW_BU=M3HXEC,-P+^8; MQ'O5]_^UA>L/)C-<'LP$RT97[N M5&M4J^ ;S]5AK,NOM_*P[]VU(9E&KS.FL!9#OK(EHCP02<$7]$7'OU>A["3W M>.EHV140'/5Y<A3OZ1%)R'041(' ,I9]3:[3U!AI0N7[7O^+<_H7^/?.Y\1\!H M_O) X&,RY2H^!1V--$>@,Z?%IZW&CW!EB]>HF)HJ;(AQ5*77)3V@>T6^*:O. MX[U"&W4I!60 03"J%&*NCLW8!YL-I@R/:Q@1)Q\^UDHY$6O"3^]QNT?B$]#@ MF!3\?%<(QQ@!D"N,?X*>#Z)W=P?&\'YE;92&JD'GE&7[N#0-*W@C7A@-MZR1 MS+:Q$ORQ4CV>C;2D.WUE]>^UTSGFW/VEV_P>Q8GRI0K-S3NI/_GZJI=96^.B M4(T=G]2=-17E@)E7;!]=^9ZQ5Z3+USA+A.K25BF)M:,G'3Q<:'!81P$">B,K M0L3<;>OTW&UDL,3ZZ'G.@6PHQ260H>,$*C-2^L3[1)KGKX<3"=7@O[R\=IE: MQ8CV[)6Z 7>),T20[C@\4[@E[!'E!\X-SW"O*2XBCK#S@& M41?5U?Y637"L#L@,BY%;>/J$:(RY,<..ZN%71H/15Y5J)-& MP;P[VSG@KM=9>:-GD20<,EW?J@857;+@$0I;'W_T+=6)VA/J%EW1%)T18![7 MTM/$]T#T&,&LQ@+;Z0$R$J0\'= Y%*JP7=9LF_/4FF2 WN1P!A?DL]?C8,P3;3EPR6 _=\R7Q0P>/RR)>QA\EJ MVVL3Q%ZI!K+AB;(/+TI"6/"1$(;*S'CQ?IC?G-Z"5@ F@\QH46%><+2/7U2? MH['?AG^;G.2> "_75#LVKWOZ4A!?QU*4[L1GBYVV_#A):%%M[NQ)%+&.\\,4(B,V M%D.R50:QG!&$6W6$VNTQ^0NCWAX39X.1RLOI(&\OIJE-WH4Z??H4UN'HQG[! MN,!:.B+!-^I-)LYG)\#^L,5C&>\@FVL'R+$UV[636O M#=PLIWO0*V[I34=)K!_,;977E10;PH:O_Z)7AK=\JAQ1(,L9D&H9 "T.4R=Y MF<&>+IC0\.TK53[?&_8;'#O_ZW<=5>== 5RD9O]@3%'5S.9N-G3XK4JX_#AO M'9U:>K'KCJBNT+J0$<;LEX[H7>\$I(-06^B7YCOVHG;%>R)SEZ[@CJ*W8VZ# M^)9+MKR5X@ON]MAV[#/$7]%&G^%9*8Q6GF-&5F/W)LBU=*@37VWZ-47J:"3> M1NKVPZ&6=>'\XA5;"R/&)-O^EHTLC)ND^>MY;2P*6C8KW-YWW"R=3J9O?@6P MIHT;WGV"&XT1/FG &4! KH*T%Z*5>3/M(KQ>?9X&S*JUU9XN1X@).^-=Y%KIFY M3[6;R0QO](LU%YF'1:XD4[^VI04[9B=%_"%PXC0SXH(KMINM7EG"XM0G?;?V MEVM3T'/3)S%RZTP9I"MNU$6*R;Q4K&#]+2 #4@!#R["$]];#&<25PJ(@-Q9= M%;+B91;F:?*0,6;-OOLW+<:04/2"_[/)HP5%FW%Y:FUM+YY"9_< KEJS&G9* M&3%&=EX&$J*Q4+5'=7@BG/!#[!4@3)X:?#^"H(N6HNP_R3BT?5 J5,A33-UI MD4G;.40\Q(YH)CF\7VUSD1O" @M'+\40+ ,JYR.4ZQ/3!3/#?-/V%#\+!_7\ MN,>684_$Z^C CO*_I,./7I>N+*4*']">W-?5:_.[.XX9P]I3$OOK"40=+W1^ M)Q,I]3$[6^++EZNI\%^ZNBQZX^6HQ;H#(X=KMECG/M(M_#ZP+UWK'.0^_/$F M]+7638"OG E-]LH2U0Z/X 12U0XC(7IN.\ZD>I(.#6;*-(GU"A>_'\=[CTV< MU,(_ N2+;N>>M_I]?6(.TVCHW@MWU[6Q:OMFG4)@H*)T#457O_^*?) M5WCP\[/J-P0-QRQQ'L&@'#4,?;ZU 5_LN<]+4%1R&+VMBAZ=5XM2Y;9[J\ZQ0N(' MXG?*:2Q,GCM:?>[9+D;K U$(,@(Y5K%[VN8&CC8ZKVM.X7.AFX50$M5KVSG= MUW8NJ_0J)7;O*10XUQA(QN6/AL/:!&!/,?*5:\,1(.U"6.+B+[_Z[YF/D(EK M=NF!^4S"I#,7KO+5,3QTV(W(9=RM:DP"H]Z(L&^BA-&I822G.7L,1;G872/= M&P!:)3DBW#1!3(H'3XM>+UW^ "(O=V^.2B3P%6TF+[KN464$2HS)CV2(%4M2 M>75*ID].W(56L2;+[H(9Y1>"NG)5L*>)NT@B3!+KS.Q68&.DT_BN!.;:&_*E2!;=I;QO;J/R%F,8$4K-@QCVPRB"G:,%6DWMH7?FO M=.VM-.!NN.71OS5#-J7&-3Y6;N_<"YR^I#?%E;BDS&M$'NRF646DL/TUPC48 M4[;2F&YH$F6J1'D;'QSL^;1PQ@W,1U>*[ZVXOOB>TZG-093QPN$'X+7N)]KD M-EJ8-PI,U^Y,RV,."^\Z6R\LB+N7%"&!=(+>R*IY;]'/_K5)B5&!WY4\+6.# M4S\0F!3"L; #OJ'&R8O=F(=#\G_CO4+'TVK M\:88J0BX-]H; Z&%Q3V:(JB1I)7.6/?*?YT]_<.?D^\)SU49<[\",,#YT&8^ M'WRKF3:S'EJT5%BX+VW?_=%8]8/93._K'_(;=*SW?AY_HM&VQBX68]J3SJBF MI_R%.Q)Q^/43!@+S=);U9QDB32"1VL M@C&.V(CV$1,+9I&BN?V.?]RPT;VRQJU4^C:T+X0YFO]&M;-P>X\DO:^ERN-C=F-8CFZFCY^G$!GJ32/T45XR2N@E72NT!L^!; MU+$M2RPL<95NK\RSPZ2_:PDZ+20,?'0N.?Y$^]$1VQ@_WC.&YT'</36KB IQX[((QAE@0)4OGJW[O1J6S&9\*(=Q&)".J!F:-U"BH MCED/WWNRV7/&%WB=\H8UH_P./P+?4YD<_[,EU2JX7C[N4Y#XD7M@#6?"TJ1AF@&7J8D.B BIVFM.+D@K, M>YR:VMH_V$4R ;M_=0/4ZH@.7ZI1XJ*Z/67,] MV55QJ%3F844!N986<&"^97TA!S@'04-Z:.D)D#&D+GH3*5:YZ9?5%BLWX+Y9 M3;V>5;.H*='=SG=X4GM'!KQXF$^A['W4EKV21[VCQAC>?:)\DNV/;L(P]I9K M^G-:U#FNO,I4\7\1N4'R]D"K,-Z.5*US-^' M,KW6_?&)5C))=V(_1!%6BYIK2RNQ'99#@L3)(#(*\[#[ M*Q>65.@$F!1JF!@V@ )ROYC8)4BO\/M:ME+\>10[^".7.XO3+U8WL9X]>-'G M\>WY"33?[/?*8%_W:S-M864'70J+O&-5(%U7NMP-[=@3(62D;+Q*)V=@Z<_5 M^-D-7']WW].=;'%.[X M!.DP:/KB4JIBAU3_&@SR28QN:CSC!(V")5BX@>%TLW']D9'U7.FFTS5YDN1A MB!M+_JEO8#7Y_H/O,\0_$"^KAN5=QJ^3;^HNX5>U#%J'WVA'B ME;UL92'\.+5J#&2.9;RK.:H+P;IU23Y6/R-9N7^40Z-0.UE/)2EU( E'S=]X M?)^BS#S>;O8KL]C6?8S$[;IY"74W/VU(J[1$Y?0<8__'G^K1 AO4R*^48=XI M\9/WK@DR&FD-C,CKYG@$^Z*CW^]2&437ZA)E?D.E,?T*X,[VB38EA DOA@IA MQG\NL+D"V,%U>6BQS%7YGM""'=R,+I>]-Y?A_-;Z[Z@6P\]+0^EM#XUM"J;O M"X>#=!W.->O:>+#%B4?6-BLHTF<3\G]]U[.[3+-TWXK'VBW2Z9P+/&%-==(V M7+33W-BJY.RU8FHV]%\HOGK5!R:.R><)<)N.T(/E$%JG; M)J^V[YKU^1+;0C@'J%MTOIC34T0Y6:U&2#8)%*%SOX2JF5UD$NC_D2"I*]OR MT ANO&S7F5^":FZK.^;BU;:"J?_E2UMGA7LI[\I$AS_8ZZ2DOV-:&-_AZ,!N M)!)D,><+!N/W<31IE=9;J7]9L:[3-5:ZKL)@P;+X1XJDD1V8?X?%^RO RSC+ M'5>"6-G6(BW.)C^8JN]F8S2!WB?LLM^DZ4T$,EGG@2Y5(1'5>8J-?'_\?G6Q MV$=<=;D-:3X2]R!2!7R'?PY'G>DP:+K^0_BH=($I?.-^&YMZW]T0_] MP5R$)UZL$0,PA!56=2C]J"$Z6>)XHE$;#A4&MKI< 6*:J;S?V"QYE)&%GUM# /CH^3T7&YDQ-8$\1O=FSV[W'(Y>G09LX4<; MZ88:RY\?]M-C=/;N5MX0X?!L>FWQ8!804>6NA:6-E9.*_G$?#8ZVR'Q#H+UH M+!&.]-VL^RLN"3H/6$DI![\RN9\LT ]?%7N8O#]_"%U\RE+\WF7^$DXKT^!P4 M]&%*[%M#5@*R6XM?*QG\'OTMU8"IE UL.:V(0<3P,&)M2@M<(35VD*#$ESMQ=)6L-/WF A,15'8HY-P20F2::3 M$I\H.1<49UB8TR__$/._:OK%3"-MJT"X@TV*O^32*W,WS:,!03%!E:Q=IGY9 MD6\P]%"UW--JKQO)R]9<,Q3->Z%L"3MB7T??^GM5[-+FK*S M=X<'E$R$9#O0-2,CI)%PTLEJD*X31B^)&:_8X]"]*-ID&6RS8S9J:E!/'V?^ MT.O!%V<1*$>^%GO,ZS_$O5*'^/;($%I8>_?7'?!<%AAUCZ""3J)J2RIR/?O= M[-203[7C[RHGO37$PN -J#4Y?S@('U^K%I _)7V+=$8O\;B2&&-[F@KQ<7HR M<@].=5H2MQEVNB3Q?5:)*R"3!P1'?(C/@KE MBU[44O3[1K;7-+!/M&(7:2 )3(O[M;AL1.ECG@I'>^S=+,7!%:;./J;,ST?/ MZ4KLA<;>=)9DD?XU^3O [8RCJ?WF]7I'=61P8H?XO3K6VYD01D-(W'\ M]C(D;+.A@B0=5:G_ZV?:#P]BE2&H' W+1@3QC@W/N$]A*+G#!-HOO;"O[U\ _?9=,FH-XRM" MV&Z7N5WR\-S[T^8^3GF1C&KY.G^*2_1;F6^%.^-,?RQQ5(7PNHUM)N;T)O4L#6.6X8/_2EG<'8_%!WWPB@4POZPKP8JK%0JC9 M]38A)DA;V2\G6G:\XK0\X T2TG[\R327Z'$&:K[DQ9]VYOC8- M;ET56?T3?WPAE;H@D\P+4V5OW)]<'G7F(6\ MDX&(^]3"M'8S0T:L6+?:J__8CUTD5=IL-BR3UU%T17@^*YB)")O4J7= O0FF MA_-]P6L\S.N^MC#8_]79K7JTB,]U]6)762PYMGV'A?U=T^&,VA5 ]I<6S2KQ M*\2+ U:A))P1K-)'+\$$PF#^&U5B*QD35'P%Z)3PNOL=F:>3!@>W^37=TRU, MSBG922"+RDHGH[Y&< M1M4,:OF OJ"VEJ5^+:>(:*F$KWO=F3 M4^BPYR\M)U[-=$_@-+X@8O6UMOSXJ#J0)>0G2S-KDFEO+NNW&H[A\,>Z)/A8 MU5OZQ']QWI)R.U$)]HS,\6(**.LV]WS:K%JDO&(4\B:V]L1_BA"A;[CTY5T_[6F2ZO:6W(#GGM_T$28&GM6'GL"5;3\NY+I>*KP^3RU5T.EA= MQ'O%>W^GZJKVE9*Q':@#<_RS!&W8\/Y>Z&%6O,.3O!X;0:Q"2A%,B%TNP$,H M#"W8)/(R]:V=I[B41&T;)EO=9+BO]SO!"Q<5#H4'H&V98'.=MG1XH7G=J3HA MKR_ZP52!C3D>\9%\G'1C@HKT^=".+L",75XIC=*G-XE7@ A B+_UIA1ZF&(( M3":0+.P/Z209+PWM0*HMCC[]WU@4]$Q># M\MB_;@="S[5<+23KL9;=)[G\X\?!$$T7AZ 2'S'?[\AGYBG(B9@W# %.#^,C M+%_G4U?G%(^YTCX"X&W1-Q/S<) 3"WRQ@U":9YD+G86^?%%CDK MMU^\>1"7)-(IM*R@QNRW1E8,]\9E=ET(=/(08ZNCCX;4IKNS_K'5<5>2H%?I MRJHXNJ7LSD_..'5WO#4*C)]]3[TS=^HU:U]?^ MPQL!?13F-^L%^V2/T\OCZ]E7@.BZ2DN4A7^<#X(>EM5KVHSM&::P-(<]4GW4 M98'\L^K;X"#.H%Q[-QKDJ.[WSDZ8U',.3K(8!NBU ."SUL6>XFP@U$N;BB28 MR8UN/5JZ+E^>3+'HH[K8WWTRBR]G5P7)5=L4PUM$&M-IQDM[@6.@QR_&=ZN?(_7V1%&>B-IU_1Z5#\M.7H(4,S0*:B0>/WK6 M3D4=:P1QH-?\?9QA%14R9*KWKW-,K/1ZBB6.)D(SR MO=5")=JH=2@@]VW^&\NB]VIY6H.X *1V M$.$==>"M^W97 +*#/0'/(E>+MXHLR?MZ MB;>S9(U*3C?5#]G:&;@NCGL@%@]N:5L _M*JMXPC+ MA#+\V^U >%;PQ)C93L:K\KV_X_? ^A.*)E]M MYOMN=HN &*BKN6+9S0+I F,!?_G_=-7 VI?;.Q#TBWACN6 (!!>2><+)K=8? MQ&G&"WU&6W\[1BET@([!KL-ERL0J_B-NB0X.]O(\-VB/@BL&W%RL+/U'?Z+; MJ-;A< ^:XI[V5R^#A"VH4@J1^FP?MW M7P+H7?VS)%N6*X5-HGHS4S?'?^ &Y&INZCK17UX4?A\4Q$R>MJ<&7YDOBOG@]W9FFZ6:V-5%H-9/,Q@L=1U-!1H2C7] M8PEHZ& Q;J@9GGX6?GVLRS_U9DJ[!P*O>53YM&-N\9M4W8(%]]24,XC(O#N1WEQA5Y)^.N#7^/&0IA>4>DP4PO"X;!MM[0_HUQ Y"R,B MK0&,D ZQVK!P9,: 7R!8;6'F1[3T,293*_K1>JM;]-P_'?+T"ZO7%.#OAE\1@H!9"%.J&68FVI/2O;^ C><1U3IM J6!3Z MM]'?==W"H/+BIG9;":N&^^3US$RA^2Z&2-,I7MI &UEUH,AE3W.L%3X/Q7+V M8"MP.')Y?'=%WZ^W(PG=6/_!YLG%^Y\KLA4B]6]6B]]K,%BT5198^0VOZ/WS MMAA<^]P-\@GFCVE(*J]*\PW [)23[4'K]DR[@//*IM'YFBTNN_FBA9CW>KS4 MD09"VGPG3B&_2XH:(@/X OAU>5B6.&56\Y]7:7_NNCO\6: 5 %.K7:*RM%0>\J_W6./^"A\L,GY#$9WR5\31U"ALM/2;&^[+%)-'D,5 M;;#7=$(V7==."0,;C4FE/<;J]\0%"^JK?F;)3+HN!1\A?6)7Q#@B5,R;?\J> M.?2X*FU4 N =6,N>MIM(7'&W=5#7R:%K"& ZM;\'A1FK$K='MC34?D_%K20- M:%E_)4MN8Q62^)1A*!9W\1'DA*WMY1'"\;3F;YYY)#@4PNPJ*I#^5T8!Y@2+OEM M2E(/!VCYDWX5NL7\/+DRQ?<9FOI M5[Q$1F99YO]H1W]6XT>,TDXCL'<1N+(=.!_N:;<-W]>,'1.LSR)[EL@CB8C) MD0 G*]ILE6=W-N*/>]V.J?-'GD'=*6M>Q+#EKMVOIHR^XU"#UQGM+].*T+S3 M*%0HP;^_XN&$DTN[W)M^&NA=S!K0@QD6T[R1*@B5%^N4J$0"^L<[=J[9 M=*JX>M9L "TB& $_"#*R\;)[^7\Y=S,7%\[U4E+/%S+/R18.F/ANPZCE>#3*O=91XWYQ R MO_:J%3IQO8UF($OH/; G9V2QCGUH6>YW#KE&5:00[C3,EY83AB*0Y[O-/=%#Q]_,>>8;L2+7MQZ+UHV.]EI@)R*JL7$ZA!/O MCV[EP)S]TE?;VCW:'!]N2.-QE.H=3*AS@I R#>3-!J%O+X5#0<)277G4X,A* MC[DS;K%S!6F/3*H6"\/W/8=(CYU$94/2X2L '9*O>A9..^XS?\#D+H43TQRM M]K7D9H!PJ[YM8&D+JO-_.LQS<[HO*[GU$!N-??#SIR/)VH]AYNWQD"$$115< M]@O>#Q&5RY&G,>K!LV,POC[.#X/>]ON]QY'\8-\A+9%\)VN_VH=:\4G3N(?D MR^>YP0I/53\FL0DM:G!JF8.;_52JM%]<1S+<*6!E.!8(( @7;+)PL$;+G>>Q MN$][YF_-%1VPN5E(O%5(4>GN\$@;#A!B4'KZJE-IMNDEU,)&Z*(N1$37Z7-# MRO)6Y3$EA*:JI=Q2\Y,JP5\F^ L&*/+1ND?<;XI/$/BA_K/?7& M220)NE5K2=TPZYFBLI5DQB,R/GNC[\8_25U6WJ WNVW"*XK$"!LH]<_JW Q M$XI6%7BBK!^93AU'N7"I6;=N7OSG44Z;=Q'*P*O%WPTKQ;:0X__C4A&??EU4 M*D[ +3_O-"=4HI(BX:8L[T B4*AX.26G:W'LHJ%=K CD8ZI<6XBZJ);:KS$X MN&C3R(VVV*S#\2RB#]GB0B>2:U]6I-UK(AHMNYD_U@1D)I#@/5>JF2UAV=TV M-[ GC1C*X#:;0D012F[%'9Y:FU)EI:Q= 'Y5U8GE;_SEFVD%_D$3>_R*X 3+/:\ MJZ5N3Z4[)J#,G(2[AV+\'K^H!I MYV >Z^>:&;]L&]VH;71G8;\Q$1Z43*O(//)-7V,$OPE-LM#^%#-J0CUX* MN?'(-8T<)3PBJ&:[= 8KJ)Z)SL\5-A6;@;GY)3;S.VEFBVZL)CMT MT;K>G 51;@-RA1J Q\^3C76J"]O8X,Q8[8YL_4?S'2'LXW 5EGR?4_\'G;/\ M,DV"H8_>'%;I&&_FO]&.5B/#DZ!"J&JP&;7+"XS/L$/A8G-;BG[2?9XDDJ^> MD'6F-$5QQW!ODJS8XA_+5[,3Y"?AME6P>8L:'&LXDKI@>Y''W?J_U7'>[VSP M7]R/TJ+V5K-JU=Y[:ZVZ%6WM$35J1FQ1F]I[%T7-4KO$'D6LJMK4"@EJDZ 1 M!(_[^MZ_/-=S/7_"&9]SWJ]SSO6QUGW3W9:N^\E*[YZH18:'383X-P&^%?4P MH-1Q+TO-9_0$;((8:P)CXYQ3%$+,HVZJ:Q6JAD2?/XU?(JB,D@,')62/[H41!5$A]FAUKSKD@[I(])DSTO=V\I/%$L-)'0GY. M+_'/;)KR;)IDOO_M+0MN)ITEUPAQ6O=;$SA02C#T(,'[S?,'JX\=S(MC&-=11JSG R*W.86RPUUT[ M%9R8S5_J!7US_45998^- 33G=\*PI[*Y7#NK>']FRX#*O?&UH_)L&#]&44Y^9%6>M'OQ<**WXU^ M?F27I5:8CGN-[S'1TOY[GC1PA06D]57C[ $<(01[VSS+AZ^2Z^'@Y&CL MGS+#6,N^=*)DNS\TXTKIPJ1W'-/%CLB>AY(]!#[:8V+=C'_G=:+9XM:9((C' M&1"7*+VU/"IUYGL+Z%L9S(:W+/:]S307/)\2 +ZEM=E0 M$RK:(RM=>O&465P;L.^%=+_#V7M3!F"A]K6_"F@CA@D?:Z3Z)89YR(X\"%,V M;4.'QDJQ+ZFO#8I:[V'@3 E#?O($>1]Z.-)(B;DS[:Y$=Q9/5IFC%XE^M"-Z*-"OY^K4-JA9WNHINS1F9ZQ&5:NC./(2F:M8\].A1#+;=F- M1CD8H7F*Z"X]I BY)=9\JU:*T7%VYE6[.*?JVKOH6P!W5^*+KEM #>#C MJ%6925G(9"CQ62\;SAQEG>,0BK12@#%M'OJ'!E9@S'C2U UK93SBR-E2 M+HT&=Q&EYKZ^2;P GD=J2XR\LB):0XY1OZ64X^1FPP0JV88I@ MQ''T5L=U,===JT*&TD$BYONW#5,&W_=4?=5>LOHYGD9>X.JBG\FV&K^%T"!Z M\O3@Z(!A-^]4GRQD'$BBR+S!A7:/6:>@V+7FT>'.]76U(-!-/7E@Q@QY-$9H MHQ\\/-\M_#\1>M&)@4_706\!]W:90$5QG#.;Z4AGBX'Q&MURY8XX?'9NX2<7 M?8E9.3:(B(*5AY>:[2IQ:P]Q NB4?G\V9G1RG'/=SJGX".@(:4*T?VY%S"Y M6JBEF 8/4WXU/UX$FP!@E47((%^&ST.D\U\6C@U<2EH_>>JSGQ#8SI'_NJ<] M[* MGE=&+'4$@HI?7!7%]3J /[")9^@'@Q'UT5+2,P603R2N]A@JYT.+;H8SZZEU M:?&,^BV*)XE$P(]ALC?S MA4+R7($KLJ'P5/$U45+OV<1"%Q16:=T!&Q'DH\A9DO*($5=:'QRMT@):;KUV MEW$$CWW:9G&DQ3N=.%CVETI)"&%:,X-?34J?;ST[_G\SB,Q; ,CJR;[57! =2[<",70>038:JIX]!.R^ZG2HW?? +A\:RW>7:,DEZPJ8.JPY;#;$*^TT-+OYO5-?CIFS M9L:2H+;[1GTZ&,+/R%C=PFD*]8TTSU1Q*Z;(MAI:7F:T3UKOWD2K,_+$Z:8CS% W<_.]]\0 M871^']UV^: JE*>@U'0O[^]118*K,^?S!;GVK)& QF *VEBZ:; MB ?7-:>0_]8*\$=-US,.W M 'P<(5K7WG^2)FI18K9AU2M!H:I:-*IN]7/->7S(U#53JH#VEY9AG? MB5O'1X[H*$S.%\@ZI$XN*!CA["LSQXD^R_%7G MKJ40+; ;=9W70R^2? M 2+$!4%BTX[)*LTI+R/(KLXW>=+MK3-5B\T86P4&#JPGW8,OJ+8D:'U+7E/%\ZG,IB.Q)] CHJ)8OUX6]\1QQ6^? MB82MD2N*54 B7TX'D2!6Y0=@]Y-K74$5ZFE 1SGJ2DO9313DD2S+)&'6S8@Y MO.&R'I9"OOK;Y5(SI7A/.LW,^?V?#JG.3H;T1?L\A@YJG8ST^JV+=+=39=2O MN4OU]KM(0O '@*0X)?(HA!*)/NHHA4:B/#G7K>'YHV2SEDJ6C-F_=1'__XTI MNCZN%PJ,#*'%UH$I7% N37N40^G:H,?J8;(_$COK(& (M; 6P#>^BU@8RZF M\F:-Z6%/F: DR>@LTC_J7$Y(/%/S^,GMW%B\#7X;VJU2$3LK/W.!X ML<:^$P,3I-9"V"+5&0<&A,;\_AMEOZFHU6%95H%O4AYQ^WK7MP 4&6T51O'9 M#?,$8@V'W5_#4A#> MBJ:E7<>V/\_3WZ,'I>(E+]8%>GC\(OQ=5_Z.#PI(Z? M#2R9,C+Y?F;_VZ?2GR4I)"UM;$%BY"!'H/HY\N+-U3\BN*M0+ ,.SYJUEQHE M]ZB\)'Y=_/]RD?WXD_X_W":I?/PURVI*X;*RE\@B@]7O[K7OHMZEKY9IJDF: MPC\DNEM&B,LG1JJR\\"#G+#E*,S&L/%E?6R0S 9(,RU-GMB]^2Q!%7>L^B"R*S_93ED2![EB7G71Q+^116U-7-QI3 M7";49;";T2<8U3/ZYV/75C9UKC.=8LN*UP"A?Q^P<3[ASMD/7>#T;>CMI"X= M1/"+'ZXZDDG6)S,_DC93M=V-$"W)P&;"^Q\2-S?3O3R>F_<>.):XAC#)@]92 MNCRERX4;'[3Z(XG!(*[>KCPB7*=/3G!C["!EGRG,Y@%>LD4>8*-+"ZV%',.1 MH M"J =@=C0=?:8\QPV?BCVK7?-GMBRRU)9ASZF?[&H45\L[BVA4*[=FQ5YZ,[X\JK,;]7>0'FU,4;C=:/Z:?9$ MI7602O-L!2IX\*BXTFH5^\[;&^S-%)V512S1K;1C1;ZFY+$.RO5[G-,MK^@SO[0?%]Z:GE08&JG],_G5)- MV8[_T+K,"5MZ\U!J78E$#S5W75LCDWV9G"E5O=6QT+S/)R34M1V'X@7^;7*$M@$Z;UJ/9FQ)I^KG3J9@(I0KMSNNB\7[YJ9;I'=;%4WI"V2>QQ M\GR3=?K%L\&M-KAZ P" -Q,DAQT,0',.6_-/U^"$O$&(\8?>CK< 8I;6-,:Z M(\4V;F(6SO./)]O&PJJ 1*_WD"(817*(3#/J\!S6AZ898,-#!?'.Z QM^=\+@%++_/ M<&DE48@F%M"@M7@->.O7_XGETW:AZR_%UU?\3B%/YJ"Y-3C@A@BIT]+FM*7+ M#>NDKT/KS/%FJNT[!['FM$PMP/6NF%H9GJ7$R&\- M#%PJMG1DM>G]>_J6EJUT]8^'X(OI1V4 &TK:0H%RE.,A)T5\_>'9FZ%ZRS!/G^1S];WQ'S]ULM=Y.F6$B O$MZ/*1*A2_ ML4T#E]D)59HSSDM)S=DY8F5)S)+NY:8/7CUZ2;Q)J67@A+]-L3B,;(7IT^Y8 M2S3._5UFIX-,]QN).IGW)-^PMS>^R]UX*SS#/^K^D/6;5ONWY/*/:?],AO ' MZ6!+UU4B+]\EU.]:,Z%-XL\ZQ^U>+[#K7%F*<3.QW!RO[%_PP"SN8>U* MA!+[>LK!L0,*;# O)=>E6P_I->WE(>A=.()-6RP16S\/O_>U\N)3D[*,@I<^ M@,A79#%2K0TE\T%1K@*2 ;MA*NIO'"7/K=M9F!JHY'HEO&CWSBE/VH39ZZ&' MX8M#?C( 9/,6T R$U3-@U;>'WK-BDDK,(#(#TN9'[65Z7YC#:_0YB@XIA\52 M&3G?M( 2\:FG23=%E-O1@; ;V7F<(V+B 4YEP><60 )?W37)^_NKNLJYR/V! MK#711JOIV&=F^(;@X@CQ,$_Q_"W 7O_!WM3.?,M23JR/'MN87O/4L4^PA.&B M:XW9LIC3VR[2Q%]XSN(C(S^Y/'ZJ#8+N?;[_ M+T/4*6P\*$6.;UB;/)S OD9'-1_/,KDXY2K M&[H3#VQ8G@&DR =?=@H7+[C%DG5)I.>7%6@W3+B&38XS+##Q#(0Z]EF+Q^$LZNI&Q:LJ,EAR=.*H+$+T?&K]3O1'I+L;OZ M,;\,J81QZU!]G IUD!(*/&"M@KKI=+4#DZ> 0P/LV*-YYKAZ.R ?\KF=-@U= M7 M,,TS\VUDA/\0M5I[2T=D/&"SAP.GAUZ(O.''/KA1H73^AA6!Y6#F^2H&BL>$ MRCRT*YD"H 97G%EE0>KYZJ,GE03I&D5+7AM(OY3 8DL(X3!FB?M7HR^XU/F2 M ,X:C;6T:O%T1PCK#PK66<_ P'*S.N-_*M[;6$T!V4G MU?#*;I5)'S)'?$G4//F'CE8BBN!>L>K*RK\:$1(SN$83)(3N[%]RZ^%'W90Z M5*^5EUF30V?,ZM;^,>T-K1KS;F/,M2?U86^1K_1:IUW4S4U:G=V1(ZA M-X:S@=_2T-$IM4XA(@MNIL.5^S+2XKOC+E_1T69NVKR'LL'EXG'I[$>I%46' M=%R_MSGZ=\"MA^S9^^G'R'6AW'GXEN2,/[ O616S]J:W92W/9_C7GFY__^7PAAW!LE<^VW"0V33UJZ>MG MO$$K;-*5BC.0!J2KE/>RQ#88?3&9Q17T>X73GAQ MSDAJ0%BPPTZ/"Y2!D8G 3#KJ.Q)AV7 MY=*GM(*1+%6\KS<8#BE\$;UQ<"K4EQCAL]DDWVOE,9B_C!>'4VD[V;;)#W8-N3S+\ZWJ[4E? M 40@[>BM7C[8VE#0% M79?-$G2/7DH___8@[26:PU?P\!B=2Z2*?%!U3L<=& MG0S_A>K[$^"2\\>.SR^9YR,XSG!(7<*NJ+)Z%"=S);MSQ\?A#/$,5FB>8K+R M\?&C_,\N3#D%%;LY#'BPZ3ZVU:N/.H_Q5N<($BF?2NW_-RR-NEE0%L5&K??& MS"_ ";+.=J(&0EWVZ3L,YH1K;*B:!#1[+K5&00-Y ]Q\@YDVQK*I]PSG,B/2.?GZC%]/4D7@?:9@0Z\-JL2B M@T11VXD^%+&%E(%&3<1NV9JO,D3_>7G4DL%];KCXYPC;LYT5WSB2ZCR 9D.P+L'(\P M[)\V_66*&@N3I40HUG9Z*7$!B(1N^GY7D@"?_2LSJY\S7><2G986+^ ^TW*. MOIRR^ !2$ZO*D FF=TUH0GVT9A6RE]XE>]Z$$CB(&.LV4,["C*0*^BL;C_?U MX6$(J< 7N.Z524)NU.DP7&GZ+BR@9WULH@LUOH$6X\*@%_=3!DYV4Y>U4^A_ MNQVQ_K8.9RD;PQEF 8\I::S0*;!ZBJ#0R;-A-&\,E%7!K#M;MHO&X4N3Y;*S M#@U-E5Y YU.X[=D$432US'WBCM<<;[C?5$H>"F <]2B0[JT;>BI(_60A=ZGJ6\ AR:&0 MNUO>+UL:V^?^YKE!998$^A(D*=ZII$61A:+8.-[!:[L!-GZT=#ARIV1&>;5J M\/-N/9@A!FRN<5+3=7*X?9Q4!OXD&/:\1I4:S_K:6@&EA0'%K%MN^:S%*DLL MG/7R&S%I=GHZ"K7F=V@4O+PT54./(@ M,9$H*4Y$/>FHM!204NUS@8LIEX1ZXW/,7E\VO4E6[J2$P[VDSE:3*:,[0<'< MZW@%3LQA4CJP?HHF_"!EI=3/?$P!OQ"1:LR6XXJ:R\K\-%0.9$Z+5NM['!:P M#0M-8%-$]92C3@?]0@2F1!39:_4JEJ&U,3';>?T(7J?LP*J_G!ST:9""8 Z1\IGP2)AYJ@1TJ\[5YTF4W9DF' M0$>IBM^;^1/%Z?)9+GVW#Y+6+^I]MIKGNG3*(2'PI:'YXP'I][E,[A79\=5@ M3*:O([?Z8U!RH8T!UYHY?5$30W0Q^M/E*KP1J01\*6%MN81U-)SM6N4?0&$Y.9(@ BZYQH@S2G@G2*W.6MVQMG3^W M9DR>%W!-"-O0;SVU_=B9!BW/ +#&1]84B3BCCC&.TSW,UE);.0DXBRIX5#,T M8M^X-QZI>_=&2,H_./Y@#(_C&/V9*)8KCL?JHT)\QATY+&I)DO^[RT%A_*O@ M#(A+JMD/;ND6;D:K1;WQ*4*'!^X_?'$+>*W,@69( M\$VHAM1$ER-=MSH*24S')/W06<_Q\"6HM85A6[D-8KN2_QW6L3/)VD>?NQK(^4;2X.LLX5O M*@GQ ]$QPQXATR3.E:O[A>S8]Y==\IJ%]JBR5\X=B?5N4828R'^X@=+O?$U, MS5723$+^# )1]0DWXBK)0:\1H5@=' >R&^*4$LA%O^338(IU- B@M+#0E6^2 MZN\""1PZZ!!%O:2SIUO1OQ+#A@#9>&,7K-&"QF+6==4,T30&A-KQUW:_EL/1O78*(J00!6M4;>^@?FS3COEXP6 99@9H&A'M3R&X M_\2L.C?_S_W5?(YE.=G']\Z_'\*AC>%:DZ7W9FK%F7;JGN M=?PN?)1PM5CB*[.]-] DJ3 P;S!;OBG M/(V8Y;]>P.=-.L:FB&\^1D[]HRS_/!IK/[&['VMI<+]^,10I$ZOH77P7-]AE MZIRO$HF)Z_W.MJDUS:X\&E(OP8Q%.9XG9BN<^#$:Q@#[!:@),:H)01?3_]O7 MC,9L/DB_9F^&:^%R.U;XE>M8>MPW*6XJ*D.&J#<:+(V;C;R=_^^GSK>+_P=0 M2P,$% @ 2(U:6!TEDFX_" *:8 !@ !P&5X M,C%D,2YH=&WMG7]3VS@3Q]^*'IAK[V:PG81<2QV.F2/0HQVXQ-K MD"6?+">DK_Z1[1A(CRN_#!;-,D,"LBQ9J_WL5XID9_M_CK,O8BI"B,C!Z.B0 M1#+,$Q":A JH-JDSIF,RDFE*!3D"I1CG9%>Q: *$=#ONKVZWUW,[CK.S;]YL-G-GFZY4 M$V]TXL4ZX7V/2YF!&^EH;6>[2#&O0*.=[00T)6%,50;ZM[6ST7MGR^303'/8 MV?;J]RIO(*/YSG;$IB33#; M"FXZ,ZW/&TNAG3%-&)_[KX>4LT"QUQNO#X!/0;.0FK\S8U8G \7&KP=E]HQ] M!5.V:1]G IP8RNOLNMUW PT7VC&E3$QU1>J@LHB_,$9P8[4CED!&_H09.9$) M%:;*,J6H^EJMLZJ:0/+(%+5_$;. Z5?KW3>=0<_4O>T%QMAI(TWKWM2TY984 MN1_1F/\R86]K48]CNE++Q-\R6:8L,VWE3,_]F$41"',!K]:W>IW-P;97%-=8 MPV_KT] P#^K).O4T#S(6,:J8.96*B.S_DYM6DP]B"IDN DY&Y)CH&,@)3%BF M#?$:.[Z,,)H&'.H+"Z2*0#FAY)RF&?CU']>OX8VI8%%]$3%"<\08N+Z*,AS1 M7,LZH0I&9-E+YC0E3I/$4P5?5UULVO3*NC.GT*JN@H MOG"[RB2+0OOOW$[OI^N]LJB^[J%K4?%:^=*4.>9R5ENR_M^9*9KZ@9&D2YAJ5V/Y%'7GI*<0FD^-VJWF_TSJJ4N_M2)5>+5QW= MM5.P0RSKD/Z6^^XM=LIS=8JG51'7[AG#%F%Z8:MN>D&,@5A$UCOESW=Z[_$V MV[I=ZIY V.>7:GV_X/)?EBI& %E*U95R_0#6J@:U_WY]B.T6<< Z3WN^0>7' M7+$L8F$1@BH[RG'U_DE-J&!?:7%DV;:WXVRF>'<=CZSLN/3[;GIE0;3>8ZQW MJ]*OM@4?@') P_.)DKF(_/4P!!B/G]:Z-\ZZER99;]V>R5/&3"9,>[7O5$E- M]<':SN\GNQM56/P@0O>!&#^WY5ZP7]Z=;"OC6E1,5,R' M?4RAV%V3B-BMM%@N2"1#*FA$-\C9X9#\;&R:@.)SLFN,2PZ*6]I5MLCR"\JH/?!: MX;(-+K3PP#08-?1>Y"[P1"UM'\>7S%Z3G_E8$9:>F\?C]T=_D%/)J2*C/--, MX*>TEN%IA5O:2>P*X,E2(!^-!YA*R4B!"&,.&6X+0L7$V6>K4,ZDNBCO_\([ M,RT"TPIWQ)EE.U0>'M0KF"B.*(ZM#TZMB$7/#J&"A($BQY]Q'FD9EU;XHX6[ M#58!2A8!.=.E2RUO^1E*%S?\H%JB6K8%9B(5JQ>>C.Y!9DQ 7M$D'2R)*,XW44%10=NFLWCX/ OR7;!:X:0X"6V3U'T.H4$UQ*T_[>/XDMG#AU<:OGQ,?UK\_+A[:9:E,SV M<7S)[!TQ(2"3S>QDMR(N/3>/)^ZN2PZ8.#?#V,;V'J!LHFS>YGB?65$2;A:Z M(Z8R/!]+%36P@((DKK)B?E(PN<%U4"[OR6']N'99+5-:+VK6 M&^%QOMD^F2\9PP;OF[8B0#TWF*?THKPW[-H\$[^)VD9(K?!."Y=65@!1 3PK M(4U2*M@C]QX@B:LLEU]H%IL+UCCA?'CDHCPO;A&; I=I8JK Y4S+ +7"+1L< MXC;W[7XK0.?HY!3U$?41[S1IB\#/-!*TV/5S^0C+JXT_.+6T$5@KW-16AG]\ M8+\PS@,E,WRDG@4LOF3POK\DXNEB9[9YC]ATA?W!_F[\PG1,= P$+D)(RZ: M!'E6K!MEQ.@4*%/.G(CRBPVE.5.9TZDP+S(SI8 F1@!,*V@@I[ &)66RK3;J=(Z12=[@8SFYBW6 M"=_Y/U!+ P04 " !(C5I8ITE:F.<# !W#0 & '!R:6TM,C R,S$R M,S%X97@R,V0Q+FAT;>U7;6_;-A#^*YR#-@E@O=N.([D&6MEI@R6.82LH]I&2 M3A91BA0HQH[WZW>2[,1Q,^Q#4V ;F@^*>7SNY;DC>>3H-\.8BIR*!%+R);J] M(:E,'@H0FB0*J$;IANF<1+(LJ2"WH!3CG'Q2+%T!(8YM]DW'=4W;,,8CM!7N ME*3PB6NY \NUW1ZQAW[?\UV'S&_)V7T4GC?HR5T8_3&?MF[G]Y]NKD/2,2SK MJQ=:UB2:M!,]TW9(I*BHF&924&Y9TUF'='*M2]^R-IN-N?%,J596M+!R7?"> MQ:6LP$QUVAF/:@E^@:;C40&:DB2GJ@+]H7,?71E#1&BF.8Q'UOY_BXUENAV/ M4K8FE=YR^- IJ%HQ86A9^IY=Z@ U+9P^PCP:&Y;JW'=L^UU0TC1E8F5PR+3? M,WL7SR+%5OF33+;4? 6<:K:&VO:!U80#57XL=1X<.WA-L]SK95)H(Z,%XUO_ M-*2PT:. 5^Q/0-O+C3("10Q.G8SJ7@89' M;:"5%;JKI4&;$7^7C/A5MQ$KH"(SV)"%+*A EXVD=GW@==.ZB25/T=3T,6U$\K:G@W6TYG$;F[(M>SR70^ MQ0\.%]//U\MHNIA.]B? QS"\NY]%U[//Y.IZ-K%8C2V/XK.%>.$-[T'U" MNX/>L&GD>.\-AO^\=>>A?]BZ=LD(I59 EJS1+,2GA \JQF M59?/M8-0%M@MM\W("M4FM)"=R M#>K 9!M9[?JE14Q&66+[J6>:RB']CT(\H,JB)?.B8(YM_'X<4R95,]ZB&0(B M12H32*"(,8"ZGDC=,]]XP7^_T]]PP1]MK/_QQK8JB]Q*7$$?4UI4Y.9F_JM. M_\8Z32CGM.J2"!YI]=\*_;M3\##\]H+=?G.U=Q'3Y-M*R0>1&HGD4ODG=O,7 M'%R47T[L0G>/J-C[-7%P0=])#N_GQS?_DJ[ B/&A\\V@&1ZK/EU+E@;MO?S2 M,>W!NR"6*@6UNZO;S6.A?5$T3Y3Q7U!+ P04 " !(C5I8&4:!!/@) !8 M3@ & '!R:6TM,C R,S$R,S%X97@S,60Q+FAT;>U<\5/;.A+^5W3IW"O, MQ'$2H.4YE!D:PI2YMC TG;OWHV(KL0;9\I/DA-Q??[N2G3@A7.EK>(36S "Q MM))6TN[G;]=R3O[A>8,TIFG((O)A^.DCB628)RPU)%2,&BB=<1.3H#1AA'3:K:-6I]MMM3WO] 3ZZA>-9!J0KM]]XW?;W4/2/@Z.#H)N MAUQ_(GM?A_U]*WU^U1_^<3UPPUY_??_QLD\:GN__^Z#O^^?#VY%@F(Q1AN''?*$:?*9SP>%^-XL)5&)L$QB$RYAKD* M;N9!S*.(I:# ;Z^.N^V#WHF/W6UMXM_:TQ!\GJDGV]0^4X:/04.T5R+'I!]S M-B:#.Q;F:+GD:@RU3&USKY]YRC=?/PY(YX!ZG<,]NN]WCB+WR1EV?W SO+RX M[)\-+Z\^ _S=?/EZ]GE(AE<_T0I\&?1Q=H4GM[ODZH(,/PS(E[.;]V>?!U^\ MJ_]\'/Q!SOI#J'%2W7:[6_O[4VW]MB;>.+ULDF$,E9H,6N13V)%MDX36 MS^?$Q-0$6Y[2R]Q+0T>"D9%4$5/O&NT&+)$0!0]87.N,AN5UH;YKX852")II M%I0?>D^R@.7$<.X5JH.7=@*>H'.9FV#,[UC4JW 0IV:Y_D;!;[25'9BB)854 M%%!E40M4ZLUB;IB'"\:"5,X4S0IU#MY JV)A"WTZ+>!U456EU?KMV8N[Q(Y M*950L8*'11&X#8DIW.P4FW(V YYL8J[)69KF5) ;EDEE@#J3"Q!W<-AI>_\B M8ZE D)$,1I8186D$+<]9R)(14R5-:A*@V@=-O+5>*YY(!1U_86H*-U5-P#VA M;WOO7=HF+HR/&^;;'7XZ%UWAP7:7[&9RF$=J L^6U&Y@O6 0#C>=-ROGQI&$@5,)<31T0'E*:#HG>6I4SD!3"))MD W>2DD" M5XH# HQI"$6*R(0;8J23NR>0@N=K3=4<11)ZRRPX+/K44!:!,C"D0*UQ#!0( MN8+('L121(0749:K2IT>:EH3K&_FSX MS=-0Y$@B ",JSMH$?.%*S$D&+H[HA*@EQ!)^"L_7:T,#PD4V#]5$B5R &". M!&"PPVFK3TAU3,9"SG0)2(I-N#:*PD 4"YW>H&6S@BNZ5.:>MC6TU-#RTJ#E M<->@9;CBAV@MG;<]78!'$;3CO98D47#3FQB#8OV;9\<4UJI@R4'ICVZOV/8=,XTS 9\T\8G MWX:0)H9.(PD@,W EVT%#RR#TIU/M(\XE1QG !WP9ME>2GVE&L,J"P< M:QM]60XD-0.%#' N;)11W/U<4*1N,"VKQ#(P@Q8NS*M&I_!IQ% 0V!6T!R/> M=39%RM_2@?Y.<"M*K*;M&NQ>/MB-=AOL'LUA[F'>X]G/HZ$/X'+*(T0TJF5J M39IJ0$-,)"',4165D ,@R*ES#(SR-@V+ &S1R0+/XG'PID#6\84I%;WH,0P,9C%N+ACY3I#5FA133Z"![G+CXU*-2[\.+D6[ADOGSN7O0P<^ MM"NR0K9F(SY]!^?"\%&&8:X0("JQVH9>$ZD-E.,1+>A+PYJ3/W,(]:#KO0>: MC 'I@ VM21>*AX _]GDC/HJT!PZ<7OM.JYCJ16"+/,HB(XLLP;3K49"_.1'\ MEHGBX>.:?/.'E^B9T+#.F^TNF#T[7AW]'%E[>_(H*I&NN20DR(^J:+/D)H@7 MWQ&+WDM]+52C><2-5'H1_MD"Z#))N#&,_1_V-Y(08&)]Q$$_V\D>8!*0+8UD M#OYC$JX$4O9GSD%]"YIY&MKGC_O/D(BO'Q6^;-#9<0:U<\GZ,R$(9I+L&7\8 M&I^KA9P!1!31V2)I/F/T%L,ME\FQ 9?-0=F#3^69@>\"GB*_[9Y*;J I-(*& MFBU8RH,@562NH D@#1A'T\5\&@(^G2=@6[ J=C(%.]QXNJ*.Y^IX[A=#HYW+ MII]!V#96P#&:@ W,TB) %WN8L8"AIHMZ>#J5L-L8^J1T4IS)5 638DDFY)Q! M[2R6CC[1%9 #4-I*7-BJ YY[WF[?K70N_R@_=CJ@<1;#X[N2N/"PI2N(0W,C MRP+W&J8M6<'/]M+&"QDLJ3AK@UA_>==P;U!9ARWU+*=?./+")]9=398N=00= M5O9CS7D93PM-TY1J6UQZZ:C""^^"M-X,%^^;;I8MZ.M)2Y(;U2KBJ M3O?9#+&"5(^S&_=2;O%W%93J#7B6#;!XMGH_^XL[\52OQ:WX_MM6=YT\N:+M MO3QW#C>A@%RPDSRM;_IS=_:ZI[>ZI 7_(HF5YO;3W27W)I%\1]9 M1YM!X 84#Z&O:\4TQY&:#WTMB;7G;L+R]:W#,Q9#(N:'1M[5S_4]LZ$O]7=.G<*\S$^0:T M/(2:O5 M[L>?7=LY^D<0]),)3R*(V;O!A_ R,M5N-@T:[TVFT@N#X",?JY9U4$K).L_.JV6EU]EGK,#S8"SLM=OF! M[7P>]':=].E%;_#G9=]/>_GY[?OS'JL%S>:_]WK-YNG@U)_8;[3:;*!Y8H05 M*N&RV>Q_K+':Q-HT;#;G\WECOM=0>MP<7#4G=BKWFU(I XW8QK7C(VK!O\#C MXZ,I6,ZB"=<&[)O:Y\%9<(@25E@)QT?-XK^7':IX<7P4BQDS=B'A36W*]5@D M@55IN-=*;1=[-O'T+9F;8"YB.PG;K=8_NRF/8Y&, PDC&^XW]E^OFK083Y9M MRB\MU""Y%3.@L4NC1A*X#H?*3KJW)[BO9UKT&ZG$!B,^%7(1ONQQ*89:O*R_ M? =R!E9$'#\;-&M@0(O1RZX3-^*_@&/C^J1(()B T[/=:/_>M7!C QQEC--1 M:]=;),R-,;QWVH&8@F$?8]%^ MU>KNM1N=H^80C9UN9&GM^Y:VOA*2_H;%/&3"SF$^3X!;:=4T/$21F3"X5BGL M(IR(.(8$%?CMQ6&GM=<]:M)P&UOXE_8TPI@'_62;V@-MQ0@U)']E:L1Z$P$C M=B82Q![!);L8X5G0F]SK'[SDJ\_O^ZR]QX/V_@[?;;8/8O_).W:O?S4X/SOO MG0S.+SXB_%U]^GSR<< &%S^1!3[U>[2Z/));'79QQ@;O^NS3R=7;DX_]3\'% M?][W_V0GO0&>\5*=5JN*]R?;^DTMO'9\7F=_0)( X6]TCBVN_*N M?),,TZ0-:[H=?KH076/!;I?<9@I<1V+#P+5485R%\8-AW-FV,'[+C4MQV73! MKE%["7CUJ_MHUCZ,8X43)PJS:!R BX3Q9,&RQ.H,4%-,D5V*C='*V12/-#'@ M$8^P23,U%999Y>7N""08^<9PO2"1*;\&!P[+,0VVQ:@,3BE):YJ#!"*A,:]' ML800(#-L!&R^QY%;]UA!H4Q].Z=%XD(QK/)=\BB61&) (Q MHA2L=<07H>6"I1CBA$Z$6E*NX">/?'-K:D2XV%6AZB21211 S%$(#&XZX_2) MN)FPD51S4P"2AK$P5G.;KP*U^;I-7733FZ.^4(IRR2LS*: MH02E>>'W1Z@*?;87?4JH4#N^C0,_')IV^.Z68=,I&%P-QJ;+3[X,(75*G2*> MF<=WH1QF" @"^4P^*U*9Q@%2*IX8QVI0"A(W#I4U5WRHS*G\#3A$E3PM6N%! M/>=;=%(@-T)=C)(B=K=)338T(A9<"UJ \,F;8WD)C9092J@<'!N7?3D.I R@ M0A8Y%W5*.>U^)CE1-UR64V*5F&$/G^:5LU/\- 021':%_=&)MYU-L>*W"*#O M"6YYB].T58'=\P>[X7:#W:,YS!W,>SS[>33T(5S.1$R(QHU*G$MS@VA(A22" M.:[C G(0! 7W@4%9WGW3$@ [='+ L[P9?%\BZWGE3;Z@--,I I]Q66D4H>\Y M!5Q):@P))IL2\0_/0$K 2B)98CW&(0"+% E=A7(5ROU"*!=M&\KU9UQFCO<0 M!,!H!!$]M)2 N:-EPZ]2%_%SKHIEU>%7)G[L6G MK^!(/^Y^(]V*= \<>+UVO583;I:)+?$HAXP0.X+I[)&3OP63XAID?O/QEGS] MFTWT+-"PJJUM&^#]<$P[^#DJ^^[II+A P_J*M!"'*B/2BK\0IGQ%OGJG/+94 MC6>QL$J;98KH&G#(Z518"_!_&.)081)*YV.!^KE!=A"WD) 9(GSXGPIU!=C" M7YE ]1VP9DGD[E'N5L7Z"E">#X/:NF+]B92,*DGN"7^]*WD-3>(P=#2Q9RH, E%>NL NB M"#I'W>=\!A,^DTW1M] J;C$Y.[SWZ8IGP6"J?*Y"HY^XFGZ":=M((W^H(S: MHSR(+NYAQAR&ZC[K$R MAJBME=?G,M12"M\:<]9\4_/F="%#,R9#$N:'1M[5I[;]NV%O\JG(NM"6 ]G62)[!KHG!0K M[KH&K8N+_4E)1Q91BM2EJ#B^G_X>DI(K.^GCKLF6=@G@V.+KO'\\/-3L!\^[ M$"45&>3DU^6KWT@NL[8"H4FF@&IL73-=DJ6L:RK(*U"*<4Y^42Q? 2%1Z!_[ M41S[H>?-9[C6HILD14+B(#X)XC ^(N%I+=<'-K1YZ\7RS\N M+QS9RW>__/9R049>$/Q[L@B"\^6YZSCRPX@L%14-TTP*RH/@XO<1&95:UTD0 MK-=K?SWQI5H%RS=!J2M^%' I&_!SG8_F,]."_X'F\UD%FI*LI*H!_6ST;OG" M.\41FFD.\UG0?[NQJC2JJ5DQX6M;))*SU%&<&V+TWYMI; MLUR7212&/TYKFN=,K#P.A4Z._*.?/S0IMBJW;=*)EBC@5+,K,&L/5LTX4)6D M4I?3?0*WS:S[>844VBMHQ?@F>;J@G*6*/1T__17X%6B64?S=H%J]!A0KGD[M M\(;]%W!ME(\S 5X)EL_(C\ZF&JZUAZNLD)QIG3J-))TRTEO)+ED%#?D=UN2- MK*A DK;%D!Y073LRJ>0Y+G5Q7;*4Z9^>1"?A=!+[T2Q(4=GUG8@6W2;:KB1F M]%<(\S$5QJ<='0]-J665G.*0*]:@K)SI35*R/ >!#/STY#0.)]-98):[,\$_ M9],,8Q[4O1EU 4JS CDT_DID018E@X)<7$/6&L\EKPOL!767MGY0(E^VJFDI M>I:6Y"UDILUY^%EX\AT)C9;5)9"W5*540..]ON:P(<\S;6P>AV'\''CZ!UKP9F NGJ9')2[V]$?UX3H_E+03(IA#.FRWR,-S\7 MHJ68 M&)$74E6=HX3>OT@AE252(Q,R)X""Y>0<,JA24-TF&(TQ=N+)F-"&%(SW69F- M- 10A5D \D!%CH"*"8[ W P)5ZQI+-H*.S+'S(R4H %&++HQ.HY'#N2+\=D M6:*:&G+ADU<9BE>Q[/T8)8>&&=5;:A\!<=*A0"?\F&06"O%'/4#!3T2/%93F MLC:Y9/T)Y"2?Q9LQ]E,]-I.K#7DOY!K5MX+DCCWUVPQ135,.))4J!_5L%([0 M4)QW.>KVN:EIUC]W[+L97B8YIW4#2?]C>B\*[ 4+M[%NTW#S: 7P.-W(5B<% MNX9\.LB/'9N]_K7"3]Z+X(99_#"IO,Z'G5]EGBOC[!GEW29DX0KYG:Y+IL$S MVH0$W5#1>CI@HM-ZQVSD[[.TVW]WSN0>S4+(E*HHW]GINJ;1?(E!UN%?T7*^ M09RL:FY09XM$"O[3,@7F\-B8Z-N+Z@-ZZ'XBWD7'!WG_5.S#V!;"NBB.SB9' M4P,W6\\UF@F,.0-K_\< ?@S@AQ; \4,,8"8*\VB3%,QS-$5SY=AJ(["/;LH4 MAG>-^[P)Y+'IIIP3G(;D,0O"CAHCNQG;60435&2F'1?,;37"9@8XJN4.!R1F M-I9FLY<7^(\!_9TDS;@'8/*%>X%++YUKM$A--1A!Z&,EYG-@TT1\,/Z1 \>$ M4>&3+C&/SK9G93"I7^&E7XV;+MMI^FC>3H^--^SQN*>T_.NG490Y"8 MSZG[OM5-W2I?[E2N\-W]W]WE'FWQ=]O"[J.[J=*?-,I][44[&/&S'QM,&&Q/ MGFNZNPWJ'+>1A+R 5+54;=RQ(SZQ)96C'57^'Z[A/;O M;]#JW>DK:(+;BC\W5/6@/.W;3/?N!CT?ODL]NM.7G>"81B:S?ZB#L:_1YE!] MH_FV3#W^:(W:G$+.F<*CK%2S@#TZXJ,CWH,C'EPJ)C)64W[3!0]O<;N^ .(2 MNF_,?_[191!38"ND@I5$?QT4-$Q%C#4D!=-$)IK15P$3SYP2S7^E'Q9W=U=Q%7V4G*'%+*5 MFH)BUMU[(L5T0Q04H$!DIL=(AC(A-X:I_1O!=0GXK$A%+5LMZ.+F7@OAL*=$I![?6VG!K33M'U7KD:3>.ZX;@V< MT"O)^D+_6>2')]L#E6L+;4G?O8-G7^J;_P]02P,$% @ 2(U:6!>>Y")K M!P NB@ !@ !P&5X,S)D,BYH=&WM6GEOVS84_RJ< MB[4)8)U.4E=V W1.BA:]@M;=L#\IZ2'H^@@(&/YTQD9.)[WUVCF>2?S$]MQX/H!F4M:UDPQ45+N M>:[DJ^(''A:C!354Z.)[J%OP/-#V>%J H M27(J:U /!V_GCYTQCE!,<3B>>MVW'1N+='4\3=DYJ=6*P\-!0>6"E8X2533R M*S7!F1YV;XVY<)8L57D4^/[ODXJF*2L7#H=,10?NP?WW39(M\G6;L*)%$CA5 M[!STVKU5$PY41K%0^62;P%4SJVY>)DKE9+1@?!7=FU'.8LGN#>\] 7X.BB44 M?]>H5J<&R;)[$S.\9O\"KHWR<5:"DX/A,W"#!Q,%%\K!519(3K=.K$:B5AGQ ME63GK(":O(0E>2T*6B))TZ))]Z@N+9E8\!27.KW(6;F>"?\JF"<8\R&LSZ@RD8AERJ/V5B(S,<@89>A92I WD.@VZ^$/_*.?2&BTK,J!O*$RIB74SJL+#BOR*%': MYJ'O[S28O[.L>\&8O'7?N#-WTZ+!Z-#?OP6M:S4P*Y&NBD9'U?9&]/6:&!P_ M+4DBRM(:TV8^VIL?E66#$/4:*B&-(Y])5@C):K2[/$?8JLE,2.RTH;ZGYVB% MA/YD)@I,G%;F*9CL8V)$'@M9M([B.\]()J0A4B$3(B6 @J7D!!(H8I#M)A@, M,7;"T9#0FF2,=UF9B31(&HE9 /) RY2<7F""4V)NAH0+5M<&;4LS,L7,C.0@ M 07HLVC%ZC@<6I)/A^09H":0R@N7G A,]\HAKH[4=*)!_D2I40U0,VV'X8?@ MG+1XT*IA2!(#BOBCZN'A1^+(B$Q34>FLLOH(AI)/(L\0^RFRBI.+%7E7BB4J M<@'1CGWVQPQ616,.)!8R!?EPX _04)RWV>KZN:YHTCVW[-L93B(XIU4-4?=C MB%D2A:4;^QY;=/@>(Y!UB)AUG"^0L0L*J[Q9XU)$OYIF 1]C*QU]&U%]1[= MMS\1^8+#O;1[RK8!;0UF;10'#T8'$PUS:\_5FO&T.3UC_]L O@W@FQ; X4T, M8%9F^M&D*YCQ*(KF2K'51& 7W91)#.\*-WD=R$/=33DG. W)XQZ/'15&=CTT ML[+UWH\+IJ8N83(2'-5PBP,"6842?K4S/HU*_U$Y.[UJ!TMHR;C*A, MZ0O369RA%Z:JD8A^P,72_3_RN4\=,F^@/YEBI=TE/@OZ+0_:05KRNOBHL0+E M[;@PE4W:*-$UV+JF:=FH?OKO8;$=X@^(T>_#@56P0?V.\TXA[6ZP M1M9MO!8=+A_B@CT+;2%PK]C:6UG@:ADZ5*?5[MG1>!_%$N@[9XDJ_&0!=]U/ MXUIP=/Q)M^?UQ;VFB%^[C"9(]&=LO[\UV,=]Y[*E\/;_YF[WR]OD,H!\F4UZ MZFM $6]]U0@T-OGW)LT^YVJA/<3R+R&&+94+FR MYX_PR%19#C94^06^W,)IB\Q!=4'0LUA*[OCF[SMH=7?Z\FKO R MQW0 )"EHJ@LY6G$$.:89GOVWKR^'N.Z"RI3K2A,NI)?%% (DAM)[#K2>.?+? MT(4F3^HFR5OJ+GE$VGJ4D SMC1,-0RC,$J57@,,5$C1OPK77&4:@2]>.NIX5 M XZOI#AG^NX6Y>Q)9G2TU"_-Q?IBI*VTQJM+8]Y[0KO 59;HW^I*PE2MV]=LLZ.-F7 KAOR-2I!] MGVVC%+31M'YYKD*3./:T;@P&5X M.3LT3% M52;RDL5:\!*^7'DZ(!]_L#VOER>[-/HTT\GE[]]/K/+?O[R MYOV[$_:D/QS^>G@R')Y>GMH'1X/1F%UJGAM92I7S=#@\^_B$/5F493$9#E>K MU6!U.%!Z/KP\'R[*+#T:IDH9,4C*Y,GK5_@-_"MX\OI5)DK.X@771I2_//ER M^;;_ D:4LDS%ZU=#_]..C52R?OTJD4MFRG4J?GF2<3V7>;]4Q>1P5)13F#F$ MQYTQU_V53,K%9#P:_3@M>)+(?-Y/Q:R#Y\^:[[2<+YHOE=W<1(N4EW(I MD'I -TX%UY-(E8MI=XEM,PL_;Z;RLC_CF4S7DY\O928,^RA6[%QE//^Y9[^! MGT9H.?MY2J.-_$, :=A@*:[+/D_E'(@CLU-[ A-XQO#_9_8G+ABU%EP)VEND MT@0>GETO9"3+GWX8/QM-7SY_-8S@X(K'8/*@S60,0BMTETL2Y^7$ M9#Q-^S$OS'0+^Y^US)26AET(O90Q,'>B=*$TQU/_*S=3^25I5B)BQU,_5JG2 MDQ]&]-^T^S25N9A4>2(T_K;QF&A.C$HE;OY4)4G_+>C>%>PZ*T1N:!0[APE+ MH=?L,PR,UZ^&U6,>P\V;OEQ(J +A M*8()MUTLTA&>#"[(\X!.SG@,)Y8@:EIXO! Q33L<'1X/QD=,S1@2P#W_IO05 MNRA5?,7.K@%\6RUDO& R M*U*!L&W8>94* .;3_IC1/1,G,+W2@!2PS9J+X[A$1LR+2IL*5(F5JCZ)ET_K4PBDZ%=0-3@,+40)5S=3.F,\ MQSWG!HR.ADM1I2/@N#L8C4?[ T8W[^X8?A.S&0Y;"N0;1GV*2Q7!_(,>3#@X M;&^A'GL*W/I-#$A@ XS]4R*[ 1S.6@!DERH+Q=H:@QI?)9QX;C^#3B,9ST\B M39'R]43FJ*C]* 4)FF9 P*+_X3-/HJOY]0KV^/[==_#DM1/=8X"9 M*B_!7P!M,26(+ZJX$V$\0Y8)<(P89UK\7DE-CT'G>$F*YZ&DT*+@&G3% I>C MJ!N*+*D$*B].RN [,(PI@TW%0""5!'-.ESU)0CW\!:X4GN-X6$1I1[EAIH&@ M+X.+ 9L)^ B#38-'*5^9'H!JG%;H&1%51R&YB5_@%6Y @U[CIL I51IA&3:Z ME*HR*8*$J6!^PUX]V=@# A2IM^JV?K_I/::T);%259H@7U5:DE5H*&9 H.96 MVK.S;*X$W(1C'E: :?@,3D/CT *FJP170*F%T[MCY("=$#X;OX? 6(V?3\TM M!Y HN.(2KPUV@!0M?VY!U%*&0H-C.,+Q-E$,[FW"]H[W@5JIE2D\.!<@/K&U MJ"! Y'RC,9$M02PT$)%@OZ9L[TV7!%Z)P?FP/RMA/ +[9L3<'FV.1L2NX(0X M7 5/Q)2ZBLM*=V6X/B*)KA8$%G#J@B^@R1FLBR%]TH88KJ%="^HM:=;C[U)C-\HKA-\>"I1 M@94V+3>('@?>SRY>3ORPRP%= '7^#!JA\LT;X@C!\ 0\< 5XI)=HK@QBY=DU M6#=2M4\SP I0%%Z262OA$ $T-.HX&1RA";[0P#KDGREK+1U.(-:]RS$:!'+] M-]RX",&+Q8Y>9/*0BSP#NY8+:]>/5Z %G3/PL3;]^'Y]M:(W :T"L%95%D=A;@JRS@VD'9P-I5.L?(&%VM M]E'=)0OH%J+'8ZKH/^A=PK;!NU@(=#%B88T!W@<)($$4!8HN\9G'W;6-B V7_:SI._J7L>,*L* C], M/^"T6V\OU!",YL-( C:6<7#"X/\Z^UQ[.$C92V_P)2^W;A\=GD(K=%2L\]2F M![>)*119/8J1N]F!1'Q MR>6[?Y]]N< 7\TU:%'229$$,M1^X(0% M>23#Z#Z/M@I78'-=CL=--. M&&B"(9H+&SLWK$25@3,W& A+V #&JACB4JYF5N4VI;SGXVG#4P&^#D_@'B5$ MK'1K=BSM5SAF;)3K]X9^OO/8T?LW *J4"L!D#&6F^QF_PAWZ!4,B+E;8"_)< M)G3RA;]5RF?3O.UA'F;R,(>#L7L5P3%)KJ4P^VWVC 2%X?H&QDP=9CCJM/!FPW YW90Y#A;:VLYW4JZ0-X216H4P@2K5V$ZX+>]=W*-A#"E%[F M*%BO"U."@5A8AXORAS9%V:V,D9N[)=<'FFKL#)N=]B'Q??*7/5H6I6L;;YJB M)-"&%'QIEQ?FNK0^.B% /6L/0@2KXMIY_>%3)-?L+1#D>^58:674=7?$&<0SP"%.CH6=.N;V3_1O=\P%CM2^SBYHS?XCF MW!:[;,G\@.3%&Z$[6+NYYB@K/0;.3HX_00@ TFND*=%L@0YZDW6?Z_>1:7C5-^JZP3R R]:Y7%X3!-]R:PP3 M\. P-*6<>^;X&,>$ +4OD(R0@"U%[NM*!5];L=%6 +W]O)6FB@%S@"*&"39# MD"=U:-U4H6#1(!6"GK]MPJ)49M\*-4IXI^QG=E1$Y4- I^E=H>/>+.OBM90+ M+02A32I*JDB2_*T!80R3&2[VKHT#FZY[QZMRH31<$ZE;R:^$]_>M,LY<6<)_-J[F:,N[ MF&ZT-M)65>N4SAH,6I/_](.2WF9M&RC6Q6+@("AU;T]R37$=M*7UB> Q5+K$ MXA=YH4KWF@I7*N8<$3O8)W8&NLR?:;%RG^4'H)6U&O5:H5*W;GD#\N#-H[+: M^*DC0S:;QE.CO/-AL[9U^Z17;56Y'_/SIE#O[:3IGZ M5N^1&0Y::1XQ91CBZ,W]>!>-:2"L$AAZ$D(TW5KHI]I20V,=<$Q'SKPN_,^* MW>N$G:@' &U94=K6 3K17@@QV,)6U-E[P0&VVD4*&[_?F9K?+ &!&A$*=FHC M0>6OJ[=A"]W=5:*V50Y.>Q>[V@[_6EU]AUEUD$Y78D!Q/V[EE;[WNGV;9N5S ME8:]$=:QP=;D=O>H+Z1)?V\BV:R:N6:N/!>ZUCCP0@RVZ,(9;NWY]3D)ZS@$ MOGW*5_205FX*O-^+4 X@#KX7H;X7H;X7H=I6LX-0+B:HRQS_J9*YSQ6UH&O MC@%E "2I_F$3BK)EHLS&G"9[>A?&>?#$C&=*M"/@&BYB5_/ST3-K^7:J,K]F2TUKE"KOG MVH)&I9U6%QWL+F@OOV=6UQ:QFA5EOE3I4O3JQKM4PC[<4 QSHU2:!16.85,S MH9$C#(IM\A?DAIKOC"A]E9WQ.9>Y*>M7!J@63JRVJA>-2PK$B._Z78)PWP/V MD+1$;2KJ>E>[F5#BRR7B:_434J. O<]=KP 1!%FW,7VKMJQY"]$A4M4\%JV MP%"\RPJ-"6-2(F_,6IFA,(DH:; %-[_]>011(%3!P1CV^(W+UW LL%@XCD8N9+&T%/M**)YB!7W*9>G2" M TW56HC:EP5@H80+Y0$5F\%8ZMW%%TUORSYB#PK?WQL?[N/.C\;XJ:F?N?>" MSK':5N&UNZO6=;^*L?E[XGY''0KQ3:'C([J+BTM%8;W%7:[N)0I J8^YE[^H,#Y('0VKK63*+*FW$ME5\"U91 MZ1B Q+6TD5KWK5I+OQ'7QD6276''C<(0S;YTZ?44W(.Y% MN!>?R$ZK#-'D,NOWB(DZ=H"JN>89]0S.M7#EEVU_!>!P5/\5@ NN M(YX+T_]TG8JU?;U?-_9A1X5V_JW!\WT=5: C;87V',50"B>I'U5)80:EG#;S MYHW04H"RM51-63F20N=G"6>QZ_:F;3D"?(M.7+5<#_>::2CZC0?4)4#OJE@Q M%&XF,6(L%-L]MOV(4#6L!]+.VP\>M;+:R@H?-W^*I.Z\8)3668HL^%L6@R + MO,M5@L/O58*_397@SY<$E@H Z8Z*P-#^#2[ZHUZO_PM02P$"% ,4 " !( MC5I8(+_+2W$< Y0@$ $0 @ $ <')I;2TR,#(S,3(S M,2YX&UL4$L! A0#% @ 2(U:6-'+ M^T!14 F7X% !4 ( !Q#0 '!R:6TM,C R,S$R,S%?9&5F M+GAM;%!+ 0(4 Q0 ( $B-6EBOP11 P;@ *7A"P 5 " M 4B% !P&UL4$L! A0#% @ 2(U:6#GT"*SS0 0 %N$N !4 ( ! MC+L! '!R:6TM,C R,S$R,S%X,3!K+FAT;5!+ 0(4 Q0 ( $B-6E@8H\MC MK:( &K0 8 " ;+\!0!P#$P:S P M,BYJ<&=02P$"% ,4 " !(C5I8'262;C\( II@ & M@ &5GP8 <')I;2TR,#(S,3(S,7AE>#(Q9#$N:'1M4$L! A0#% @ 2(U: M6*=)6ICG P =PT !@ ( !"J@& '!R:6TM,C R,S$R,S%X M97@R,V0Q+FAT;5!+ 0(4 Q0 ( $B-6E@91H$$^ D %A. 8 M " 2>L!@!P&5X,S%D,2YH=&U02P$"% ,4 M" !(C5I8R^KM"?8) !D3@ & @ %5M@8 <')I;2TR,#(S M,3(S,7AE>#,Q9#(N:'1M4$L! A0#% @ 2(U:6 5*)_=G!P J2@ !@ M ( !@< & '!R:6TM,C R,S$R,S%X97@S,F0Q+FAT;5!+ 0(4 M Q0 ( $B-6E@7GN0B:P< +HH 8 " 1[(!@!P&5X,S)D,BYH=&U02P$"% ,4 " !(C5I8E!/]O>P/ "I M3 %@ @ &_SP8 <')I;2TR,#(S,3(S,7AE>#DW+FAT;5!+ 4!08 #@ . +P# #?WP8 ! end XML 116 prim-20231231x10k_htm.xml IDEA: XBRL DOCUMENT 0001361538 2023-11-30 0001361538 2022-02-28 0001361538 2021-11-30 0001361538 prim:EquityPlans2013And2023Member 2023-01-01 2023-12-31 0001361538 prim:EquityPlans2013And2023Member 2022-01-01 2022-12-31 0001361538 prim:EquityPlans2013And2023Member 2021-01-01 2021-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2023-01-01 2023-12-31 0001361538 us-gaap:CommonStockMember 2023-01-01 2023-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2022-01-01 2022-12-31 0001361538 us-gaap:CommonStockMember 2022-01-01 2022-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember 2021-01-01 2021-12-31 0001361538 us-gaap:CommonStockMember 2021-01-01 2021-12-31 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 2022-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-12-31 0001361538 us-gaap:RetainedEarningsMember 2021-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-12-31 0001361538 us-gaap:RetainedEarningsMember 2020-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2020-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2020-12-31 0001361538 us-gaap:CommonStockMember 2023-12-31 0001361538 us-gaap:CommonStockMember 2022-12-31 0001361538 us-gaap:CommonStockMember 2021-12-31 0001361538 us-gaap:CommonStockMember 2020-12-31 0001361538 prim:EquityPlan2023Member 2023-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember prim:EquityPlans2013And2023Member 2021-01-01 2021-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember prim:EquityPlans2013And2023Member 2022-12-31 0001361538 us-gaap:PhantomShareUnitsPSUsMember 2022-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember prim:EquityPlans2013And2023Member 2022-01-01 2022-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheTwoMember 2023-01-01 2023-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheThreeMember 2023-01-01 2023-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember us-gaap:ShareBasedCompensationAwardTrancheOneMember 2023-01-01 2023-12-31 0001361538 srt:MinimumMember 2025-01-01 2023-12-31 0001361538 srt:MaximumMember 2025-01-01 2023-12-31 0001361538 2024-01-01 2023-12-31 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 prim:UnitPriceContractsMember prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 prim:CostReimbursableContractsMember prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 us-gaap:TimeAndMaterialsContractMember 2023-01-01 2023-12-31 0001361538 us-gaap:FixedPriceContractMember 2023-01-01 2023-12-31 0001361538 prim:UnitPriceContractsMember 2023-01-01 2023-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember 2023-01-01 2023-12-31 0001361538 prim:MasterServiceAgreementCustomersMember 2023-01-01 2023-12-31 0001361538 prim:CostReimbursableContractsMember 2023-01-01 2023-12-31 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 prim:UnitPriceContractsMember prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 prim:CostReimbursableContractsMember prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 us-gaap:TimeAndMaterialsContractMember 2022-01-01 2022-12-31 0001361538 us-gaap:FixedPriceContractMember 2022-01-01 2022-12-31 0001361538 prim:UnitPriceContractsMember 2022-01-01 2022-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember 2022-01-01 2022-12-31 0001361538 prim:MasterServiceAgreementCustomersMember 2022-01-01 2022-12-31 0001361538 prim:CostReimbursableContractsMember 2022-01-01 2022-12-31 0001361538 us-gaap:FixedPriceContractMember prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 us-gaap:FixedPriceContractMember prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 prim:UnitPriceContractsMember prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 prim:UnitPriceContractsMember prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 prim:MasterServiceAgreementCustomersMember prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 prim:CostReimbursableContractsMember prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 prim:CostReimbursableContractsMember prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 us-gaap:TimeAndMaterialsContractMember 2021-01-01 2021-12-31 0001361538 us-gaap:FixedPriceContractMember 2021-01-01 2021-12-31 0001361538 prim:UnitPriceContractsMember 2021-01-01 2021-12-31 0001361538 prim:NonMasterServiceAgreementCustomersMember 2021-01-01 2021-12-31 0001361538 prim:MasterServiceAgreementCustomersMember 2021-01-01 2021-12-31 0001361538 prim:CostReimbursableContractsMember 2021-01-01 2021-12-31 0001361538 srt:MinimumMember us-gaap:OfficeEquipmentMember 2023-12-31 0001361538 srt:MinimumMember prim:ConstructionEquipmentMember 2023-12-31 0001361538 srt:MaximumMember us-gaap:OfficeEquipmentMember 2023-12-31 0001361538 srt:MaximumMember prim:ConstructionEquipmentMember 2023-12-31 0001361538 srt:MinimumMember 2023-12-31 0001361538 srt:MinimumMember 2022-01-01 0001361538 srt:MaximumMember 2022-01-01 0001361538 srt:MinimumMember 2021-12-31 0001361538 srt:MaximumMember 2021-12-31 0001361538 us-gaap:OfficeEquipmentMember 2023-12-31 0001361538 us-gaap:LeaseholdImprovementsMember 2023-12-31 0001361538 us-gaap:LandAndBuildingMember 2023-12-31 0001361538 us-gaap:EnergyEquipmentMember 2023-12-31 0001361538 us-gaap:ConstructionInProgressMember 2023-12-31 0001361538 prim:ConstructionEquipmentMember 2023-12-31 0001361538 us-gaap:OfficeEquipmentMember 2022-12-31 0001361538 us-gaap:LeaseholdImprovementsMember 2022-12-31 0001361538 us-gaap:LandAndBuildingMember 2022-12-31 0001361538 us-gaap:EnergyEquipmentMember 2022-12-31 0001361538 us-gaap:ConstructionInProgressMember 2022-12-31 0001361538 prim:ConstructionEquipmentMember 2022-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2023-01-01 2023-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2022-01-01 2022-12-31 0001361538 us-gaap:AccumulatedOtherComprehensiveIncomeMember 2021-01-01 2021-12-31 0001361538 prim:SouthernCaliforniaPipetradesTrustFundsMember 2023-01-01 2023-12-31 0001361538 prim:PipelineIndustryBenefitFundMember 2023-01-01 2023-12-31 0001361538 prim:OperatingEngineerTrustFundsMember 2023-01-01 2023-12-31 0001361538 prim:MinnesotaLaborersPensionFundMember 2023-01-01 2023-12-31 0001361538 prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember 2023-01-01 2023-12-31 0001361538 prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember 2023-01-01 2023-12-31 0001361538 prim:CentralPensionFundMember 2023-01-01 2023-12-31 0001361538 prim:SouthernCaliforniaPipetradesTrustFundsMember 2022-01-01 2022-12-31 0001361538 prim:PipelineIndustryBenefitFundMember 2022-01-01 2022-12-31 0001361538 prim:OperatingEngineerTrustFundsMember 2022-01-01 2022-12-31 0001361538 prim:MinnesotaLaborersPensionFundMember 2022-01-01 2022-12-31 0001361538 prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember 2022-01-01 2022-12-31 0001361538 prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember 2022-01-01 2022-12-31 0001361538 prim:CentralPensionFundMember 2022-01-01 2022-12-31 0001361538 prim:SouthernCaliforniaPipetradesTrustFundsMember 2021-01-01 2021-12-31 0001361538 prim:PipelineIndustryBenefitFundMember 2021-01-01 2021-12-31 0001361538 prim:OperatingEngineerTrustFundsMember 2021-01-01 2021-12-31 0001361538 prim:MinnesotaLaborersPensionFundMember 2021-01-01 2021-12-31 0001361538 prim:LaborersPensionTrustFundForNorthernCaliforniaOneMember 2021-01-01 2021-12-31 0001361538 prim:ConstructionLaborersPensionTrustForSouthernCaliforniaMember 2021-01-01 2021-12-31 0001361538 prim:CentralPensionFundMember 2021-01-01 2021-12-31 0001361538 us-gaap:LoansPayableMember 2021-01-15 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-08-01 0001361538 us-gaap:RevolvingCreditFacilityMember 2017-09-29 0001361538 us-gaap:LetterOfCreditMember 2017-09-29 0001361538 us-gaap:RevolvingCreditFacilityMember 2023-12-31 0001361538 prim:CreditFacilityWithCanadianBankMember 2023-12-31 0001361538 prim:ForeignLettersOfCreditMember 2023-12-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2023-12-31 0001361538 prim:UAndDSegmentMember 2023-12-31 0001361538 prim:EnergySegmentMember 2023-12-31 0001361538 prim:UAndDSegmentMember 2022-12-31 0001361538 prim:EnergySegmentMember 2022-12-31 0001361538 prim:UAndDSegmentMember 2021-12-31 0001361538 prim:EnergySegmentMember 2021-12-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2022-01-01 2022-12-31 0001361538 us-gaap:TradeNamesMember 2023-12-31 0001361538 us-gaap:CustomerRelationshipsMember 2023-12-31 0001361538 us-gaap:TradeNamesMember 2022-12-31 0001361538 us-gaap:CustomerRelationshipsMember 2022-12-31 0001361538 us-gaap:EmployeeStockMember 2023-01-01 2023-12-31 0001361538 us-gaap:EmployeeStockMember 2022-01-01 2022-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember prim:EquityPlans2013And2023Member 2023-12-31 0001361538 us-gaap:PhantomShareUnitsPSUsMember 2023-12-31 0001361538 us-gaap:RestrictedStockUnitsRSUMember prim:EquityPlans2013And2023Member 2023-01-01 2023-12-31 0001361538 us-gaap:PhantomShareUnitsPSUsMember 2023-01-01 2023-12-31 0001361538 country:CA 2023-01-01 2023-12-31 0001361538 2023-07-01 2023-09-30 0001361538 2023-04-01 2023-06-30 0001361538 2023-01-01 2023-03-31 0001361538 2022-10-01 2022-12-31 0001361538 2022-07-01 2022-09-30 0001361538 2022-04-01 2022-06-30 0001361538 2022-01-01 2022-03-31 0001361538 us-gaap:RetainedEarningsMember 2023-01-01 2023-12-31 0001361538 us-gaap:RetainedEarningsMember 2022-01-01 2022-12-31 0001361538 prim:SecondAgreementMember us-gaap:InterestRateSwapMember 2023-12-31 0001361538 prim:FirstAgreementMember us-gaap:InterestRateSwapMember 2023-12-31 0001361538 prim:SecondAgreementMember us-gaap:InterestRateSwapMember 2023-01-31 0001361538 prim:FirstAgreementMember us-gaap:InterestRateSwapMember 2018-09-13 0001361538 us-gaap:InterestRateSwapMember 2023-01-01 2023-12-31 0001361538 us-gaap:InterestRateSwapMember 2022-01-01 2022-12-31 0001361538 us-gaap:InterestRateSwapMember 2021-01-01 2021-12-31 0001361538 us-gaap:LoansPayableMember 2018-09-13 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel2Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 us-gaap:InterestRateSwapMember 2023-12-31 0001361538 us-gaap:InterestRateSwapMember 2022-12-31 0001361538 us-gaap:ChangeInAccountingMethodAccountedForAsChangeInEstimateMember 2022-01-01 2022-12-31 0001361538 prim:UnitedStatesDefinedContributionPlanMember country:US 2023-01-01 2023-12-31 0001361538 prim:UnitedStatesDefinedContributionPlanMember country:US 2022-01-01 2022-12-31 0001361538 prim:UnitedStatesDefinedContributionPlanMember country:US 2021-01-01 2021-12-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2022-12-31 0001361538 srt:MinimumMember us-gaap:SecuredDebtMember 2023-12-31 0001361538 srt:MaximumMember us-gaap:SecuredDebtMember 2023-12-31 0001361538 srt:MinimumMember us-gaap:MortgagesMember 2021-12-31 0001361538 srt:MaximumMember us-gaap:MortgagesMember 2021-12-31 0001361538 us-gaap:LoansPayableMember 2022-08-01 0001361538 us-gaap:LoansPayableMember 2021-09-29 0001361538 us-gaap:MortgagesMember 2023-12-31 0001361538 us-gaap:LoansPayableMember 2023-12-31 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2023-12-31 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-12-31 0001361538 us-gaap:MortgagesMember 2022-12-31 0001361538 us-gaap:LoansPayableMember 2022-12-31 0001361538 prim:CommercialEquipmentFinancingDueJune2018ToAugust2022Member 2022-12-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember prim:DebtInstrumentVariableRateFederalFundsRateMember 2022-08-01 2022-08-01 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2022-01-01 2022-12-31 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2021-01-01 2021-12-31 0001361538 prim:SecondaryOfferingMember 2021-03-31 0001361538 2023-11-02 2023-11-02 0001361538 2023-08-02 2023-08-02 0001361538 2023-05-03 2023-05-03 0001361538 2023-02-22 2023-02-22 0001361538 2022-11-03 2022-11-03 0001361538 2022-08-03 2022-08-03 0001361538 2022-05-04 2022-05-04 0001361538 2022-02-24 2022-02-24 0001361538 2021-11-03 2021-11-03 0001361538 2021-08-03 2021-08-03 0001361538 2021-05-04 2021-05-04 0001361538 2021-02-19 2021-02-19 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2023-12-31 0001361538 us-gaap:FairValueInputsLevel1Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 prim:PlhGroupIncMember us-gaap:TradeNamesMember 2022-08-01 0001361538 prim:PlhGroupIncMember us-gaap:CustomerRelationshipsMember 2022-08-01 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:TradeNamesMember 2021-01-15 0001361538 prim:FutureInfrastructureHoldingsLlcMember us-gaap:CustomerRelationshipsMember 2021-01-15 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 2021-12-31 0001361538 prim:AlbertaScrewPilesLtdMember 2023-01-01 2023-12-31 0001361538 prim:PlhGroupIncMember 2022-08-01 2022-12-31 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-01 2021-12-31 0001361538 prim:PlhAndFihMember 2023-01-01 2023-12-31 0001361538 prim:EmployeesOfFutureInfrastructureHoldingsLlcMember 2021-01-01 2021-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2023-01-01 2023-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2022-01-01 2022-12-31 0001361538 prim:PlhGroupIncMember us-gaap:TradeNamesMember 2022-08-01 2022-08-01 0001361538 prim:PlhGroupIncMember us-gaap:CustomerRelationshipsMember 2022-08-01 2022-08-01 0001361538 srt:MaximumMember 2023-12-31 0001361538 srt:MinimumMember 2023-01-01 2023-12-31 0001361538 srt:MaximumMember 2023-01-01 2023-12-31 0001361538 us-gaap:EmployeeStockMember 2022-05-01 2022-05-31 0001361538 srt:MinimumMember us-gaap:PhantomShareUnitsPSUsMember 2023-01-01 2023-12-31 0001361538 srt:MaximumMember us-gaap:PhantomShareUnitsPSUsMember 2023-01-01 2023-12-31 0001361538 prim:PlhGroupIncMember 2023-01-01 2023-12-31 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2023-01-01 2023-12-31 0001361538 us-gaap:LandBuildingsAndImprovementsMember 2022-06-22 2022-06-22 0001361538 prim:NonUnitedStatesMember 2023-01-01 2023-12-31 0001361538 prim:NonUnitedStatesMember 2022-01-01 2022-12-31 0001361538 prim:NonUnitedStatesMember 2021-01-01 2021-12-31 0001361538 prim:SecondaryOfferingMember 2021-03-01 2021-03-31 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2018-08-03 2018-08-03 0001361538 prim:BCommConstructorLlcMember 2022-06-08 2022-06-08 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 2021-01-15 0001361538 prim:AlbertaScrewPilesLtdMember 2022-03-01 2022-03-01 0001361538 us-gaap:LoansPayableMember 2018-09-13 2018-09-13 0001361538 us-gaap:LoansPayableMember 2023-01-31 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-04-01 2021-12-31 0001361538 prim:UAndDSegmentMember 2023-01-01 2023-12-31 0001361538 prim:EnergySegmentMember 2023-01-01 2023-12-31 0001361538 prim:UAndDSegmentMember 2022-01-01 2022-12-31 0001361538 prim:EnergySegmentMember 2022-01-01 2022-12-31 0001361538 prim:UAndDSegmentMember 2021-01-01 2021-12-31 0001361538 prim:EnergySegmentMember 2021-01-01 2021-12-31 0001361538 2022-01-01 2022-12-31 0001361538 2021-01-01 2021-12-31 0001361538 us-gaap:RetainedEarningsMember 2021-01-01 2021-12-31 0001361538 us-gaap:AdditionalPaidInCapitalMember 2021-01-01 2021-12-31 0001361538 prim:PrimorisLongTermRetentionPlanMember 2023-01-01 2023-12-31 0001361538 prim:PrimorisLongTermRetentionPlanMember 2022-01-01 2022-12-31 0001361538 prim:PrimorisLongTermRetentionPlanMember 2021-01-01 2021-12-31 0001361538 2020-12-31 0001361538 us-gaap:RevolvingCreditFacilityMember 2022-08-01 2022-08-01 0001361538 us-gaap:LoansPayableMember 2022-08-01 2022-08-01 0001361538 us-gaap:LoansPayableMember 2021-01-15 2021-01-15 0001361538 prim:CreditFacilityWithPrivateBankBankOfWestAndIBERIABANKCorporationMember 2022-08-01 2022-08-01 0001361538 2021-12-31 0001361538 us-gaap:InterestRateSwapMember us-gaap:FairValueInputsLevel3Member us-gaap:FairValueMeasurementsRecurringMember 2022-12-31 0001361538 prim:AlbertaScrewPilesLtdMember 2022-03-01 0001361538 prim:TopTenCustomersMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001361538 prim:TopTenCustomersMember srt:MinimumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001361538 prim:TopTenCustomersMember srt:MaximumMember us-gaap:SalesRevenueNetMember us-gaap:CustomerConcentrationRiskMember 2023-01-01 2023-12-31 0001361538 prim:PlhGroupIncMember 2022-08-01 2022-08-01 0001361538 2021-01-15 2021-01-15 0001361538 prim:BCommConstructorLlcMember 2022-06-08 0001361538 prim:PlhGroupIncMember 2022-08-01 0001361538 prim:FutureInfrastructureHoldingsLlcMember 2021-01-15 0001361538 prim:PlhGroupIncMember 2022-10-01 2023-06-30 0001361538 prim:PlhAndFihMember 2022-01-01 2022-12-31 0001361538 prim:PlhAndFihMember 2021-01-01 2021-12-31 0001361538 prim:AlbertaScrewPilesLtdMember 2023-03-31 0001361538 2023-12-31 0001361538 2022-12-31 0001361538 2023-10-01 2023-12-31 0001361538 2023-06-30 0001361538 2024-02-19 0001361538 2023-01-01 2023-12-31 shares iso4217:USD pure prim:item prim:customer prim:instrument iso4217:USD shares iso4217:CAD prim:segment http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent 0001361538 --12-31 2023 FY false http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent P1Y P1Y -0.28 P3Y P3Y P3Y P15Y P15Y P1Y http://fasb.org/us-gaap/2023#PrepaidExpenseAndOtherAssetsCurrent http://fasb.org/us-gaap/2023#OtherAssetsNoncurrent http://fasb.org/us-gaap/2023#InterestIncomeExpenseNonoperatingNet http://fasb.org/us-gaap/2023#AccruedLiabilitiesCurrent P3Y 10-K true 2023-12-31 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 No Yes Yes Large Accelerated Filer false false true false false 1604900000 53436884 Moss Adams LLP false false false false 659 Dallas, Texas 217778000 248692000 685439000 663119000 846176000 616224000 135840000 176350000 1885233000 1704385000 475929000 493859000 360507000 202801000 227561000 249381000 857650000 871808000 20547000 21786000 3827427000 3544020000 628962000 534956000 366476000 275947000 263492000 245837000 3202000 3187000 72903000 78137000 1335035000 1138064000 885369000 1065315000 263454000 130787000 59565000 57101000 47912000 43915000 2591335000 2435182000 0.1000 0.1000 90000000 90000000 53366327 53366327 53124899 53124899 6000 6000 275846000 263771000 961028000 847681000 -788000 -2620000 1236092000 1108838000 3827427000 3544020000 5715309000 4420599000 3497632000 5127818000 3963714000 3080972000 587491000 456885000 416660000 328733000 281577000 230110000 5685000 20054000 16399000 40084000 253073000 195338000 170151000 1163000 1088000 -95000 1604000 2072000 299000 -78171000 -39212000 -18498000 177669000 159286000 151857000 51524000 26265000 36118000 126145000 133021000 115739000 0.24 0.24 0.24 2.37 2.50 2.19 2.33 2.47 2.17 53297000 53200000 52674000 54223000 53759000 53161000 126145000 133021000 115739000 1832000 -3318000 -260000 127977000 129703000 115479000 48110442 5000 89098000 624731000 958000 714792000 115739000 115739000 -260000 -260000 5597216 1000 178474000 178475000 122690 -1398000 -1398000 10462000 10462000 2000 -2000 635763 14720000 14720000 165000 165000 0.24 12870000 12870000 53194585 6000 261918000 727433000 698000 990055000 133021000 133021000 -3318000 -3318000 75805 1726000 1726000 131709 -1324000 -1324000 7441000 7441000 277200 5990000 5990000 0.24 12773000 12773000 53124899 6000 263771000 847681000 -2620000 1108838000 126145000 126145000 1832000 1832000 72823 1978000 1978000 168605 -1736000 -1736000 11833000 11833000 0.24 12798000 12798000 53366327 6000 275846000 961028000 -788000 1236092000 126145000 133021000 115739000 107041000 99157000 105559000 11833000 7441000 10462000 48104000 31890000 15921000 40084000 397000 5581000 4859000 2181000 277000 1381000 16885000 98724000 -10540000 229826000 118806000 66999000 -45578000 70275000 54725000 -29429000 -14695000 -25564000 -459000 -932000 1683000 93433000 191532000 15701000 84745000 -7869000 -29111000 1194000 505000 2605000 -6832000 5707000 -24700000 946000 4318000 -4596000 198552000 83346000 79747000 103005000 94690000 133842000 63695000 41302000 49548000 49887000 -9300000 478438000 606974000 -30010000 -481939000 -691268000 440223000 188560000 100000000 540223000 88560000 100000000 10000000 469531000 461719000 96987000 86769000 113851000 681000 585000 178707000 6643000 4876000 12783000 12778000 12565000 5990000 14720000 -6190000 -5893000 -8681000 -205279000 452043000 485733000 1288000 -102000 456000 -35449000 53348000 -125332000 258991000 205643000 330975000 223542000 258991000 205643000 82264000 37177000 22224000 5072000 3574000 39256000 260396000 98127000 17149000 3202000 3187000 3192000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">PRIMORIS SERVICES CORPORATION</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Dollars in thousands, except share and per share amounts</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="visibility:hidden;">​</span></p><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;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 services, 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>— Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline Services (“Pipeline”) segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our Chief Operating Decision Maker (“CODM”) on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.</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 current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments. See Note 13 – “<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><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;">Seasonality </span><b style="font-weight:bold;">—</b> 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.</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;">Variability </span>— 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 large 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 financial condition or operating results for any other quarter or for an entire year.</p> 2 3 3000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 2—Summary of Significant Accounting Policies</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;"><span style="font-style:italic;font-weight:bold;">Basis of presentation </span><b style="font-weight:bold;">—</b>The accompanying consolidated financial statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) and the financial statement rules <span style="white-space:pre-wrap;">and regulations of the Securities and Exchange Commission (“SEC”). References for Financial Accounting Standards Board (“FASB”) standards are made to the FASB Accounting Standards Codification (“ASC”).</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;"><span style="font-style:italic;font-weight:bold;">Principles of consolidation </span><b style="font-weight:bold;">—</b>The accompanying Consolidated Financial Statements include the accounts of Primoris and our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent: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;">Reclassification </span><b style="font-weight:bold;">—</b>Certain previously reported amounts have been reclassified to conform to the current year presentation.</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;">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 Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which was recorded as restricted cash at December 31, 2022. As of December 31, 2023, all of the restricted cash from the PLH acquisition had been released. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the 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:70.84%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.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><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:11.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:2.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: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:11.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:1.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.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:11.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:2.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;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="11" style="vertical-align:bottom;width:56.6%;border-bottom:1px solid #000000;margin:0pt;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:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;margin:0pt;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">a</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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:2.32%;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:11.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:11.24%;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;"> 200,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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:11.24%;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;"> 326,744</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Pe-IbPWXEkmIy9fZ7L7BOw;"><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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom: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.24%;border-bottom: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:2.32%;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%;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.24%;border-bottom: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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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%;border-bottom: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.24%;border-bottom: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,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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%;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.24%;border-bottom: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;"> 4,231</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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 consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.24%;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:2.32%;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;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.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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;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.24%;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;"> 205,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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;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.24%;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;"> 330,975</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="font-style:italic;font-weight:bold;">Accounts Receivable Securitization Facility </span>—<span style="font-style:italic;font-weight:bold;"> </span>In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Fees associated with the Facility for the year ended December 31, 2023 were $1.9 million and are included in interest expense in the Consolidated Statement of Income. </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;">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 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 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 December 31, 2023. The SPE owned $112.2 million of trade accounts receivable as of December 31, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheet. For the year ended December 31, 2023, we received $75.0 million in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statement of Cash Flows. As of December 31, 2023, we had $25.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="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;">Use of estimates </span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">The preparation of our Consolidated Financial Statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting periods. As a construction contractor, we use estimates for costs to complete construction projects and the contract value of certain construction projects. These estimates have a direct effect on gross profit as reported in these consolidated financial statements. Actual results could materially differ from our estimates.</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;"><span style="font-style:italic;font-weight:bold;">Operating cycle </span><b style="font-weight:bold;">—</b> In the accompanying Consolidated Balance Sheets, assets and liabilities relating to long-term construction contracts (e.g. contract assets and contract liabilities) are considered current assets and current liabilities, since they are expected to be realized or liquidated in the normal course of contract completion, although completion may require more than <span style="-sec-ix-hidden:Hidden_OrqWxSU070-olle7CSeWWA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> calendar 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;">Consequently, we have significant working capital invested in assets that may have a liquidation period extending beyond one year. We have claims receivable and retention due from various customers and others that are currently in dispute, the realization of which is subject to binding arbitration, final negotiation or litigation, all of which may extend beyond <span style="-sec-ix-hidden:Hidden__vU58BFZmEm53RTlGPNdrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> calendar 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;"><span style="font-style:italic;font-weight:bold;">Cash and cash equivalents </span><b style="font-weight:bold;">—</b>We consider all highly liquid investments with an original maturity of three months or less when purchased as cash equivalents.</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;">Business combinations</span><span style="white-space:pre-wrap;">—Business combinations are accounted for using the acquisition method of accounting. We use the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses. The determination of fair value requires estimates and judgments of future cash flow expectations to assign fair values to the identifiable tangible and intangible assets. GAAP provides a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, any material, newly discovered information that existed at the acquisition date would be reflected as an adjustment to the initial valuations and estimates. After the measurement period, any adjustments would be recorded as a current period income or expense. </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;"><span style="font-style:italic;font-weight:bold;">Contingent Earnout Liabilities</span><b style="font-weight:bold;">—</b>As part of certain acquisitions, we agreed to pay cash to certain sellers upon meeting specific operating performance targets for specified periods subsequent to the acquisition date. Each quarter we evaluate the fair value of the estimated contingency and record a non-operating charge for the change in the fair value. Upon meeting the target, we reflect the full liability on the balance sheet and record a charge to <i style="font-style:italic;">“Other income (expense), net”</i> for the change in the fair value of the liability from the prior period.</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;">Goodwill and other intangible assets</span><b style="font-weight:bold;">—</b>We account for goodwill in accordance with ASC 350, “<i style="font-style:italic;">Intangibles — Goodwill and Other</i>”. Under ASC 350, goodwill is subject to an annual impairment test, which we perform as of the first day of the fourth quarter of each year, with more frequent testing if indicators of potential impairment exist. The impairment review is performed at the reporting unit level for those units with recorded goodwill. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.</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;">Income tax</span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">Current income tax expense is the amount of income taxes expected to be paid for the financial results of the current year. A deferred tax liability or asset is established for the expected future tax consequences resulting from the differences in financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized. We provide for uncertain tax positions </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">when such tax positions do not meet the recognition thresholds or measurement standards as set forth in ASC 740, </span><i style="font-style:italic;">“Income Taxes”</i>. The difference between a tax position taken or expected to be taken on our income tax returns and the benefit recognized in our financial statements is referred to as an unrecognized tax benefit. Amounts for uncertain tax positions are adjusted in periods when new information becomes available or when positions are effectively settled. We recognize accrued interest and penalties related to uncertain tax positions, if any, as a component of income tax expense.</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 result of the Tax Cuts and Jobs Act (the “Tax Act”) new taxes were created on certain foreign earnings. Namely, U.S. shareholders are now subject to a current tax on global intangible low-taxed income (“GILTI”) earned by specified foreign subsidiaries. Available guidance related to GILTI provides for an accounting policy election to either recognize deferred taxes for temporary basis differences expected to reverse as GILTI in future years, or provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. We have elected to recognize the current tax on GILTI as an expense in the period the tax is incurred. The current tax impacts of GILTI are included in our effective tax rate.</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;">Comprehensive income</span><b style="font-weight:bold;">—</b>We account for comprehensive income in accordance with ASC 220, “<i style="font-style:italic;">Comprehensive Income</i>”, which specifies the computation, presentation and disclosure requirements for comprehensive income (loss). Comprehensive income (loss) consists of net income (loss) and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.</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;">Functional currencies and foreign currency translation</span><b style="font-weight:bold;">—</b> For foreign operations where substantially all monetary transactions are in the local currency, we use the local currency as our functional currency. The effects of translating financial statements of foreign operations into our reporting currency are recognized as a cumulative translation adjustment, net of tax in <i style="font-style:italic;">“Accumulated other comprehensive income”</i> in the Consolidated Statements of Stockholders’ Equity. For certain foreign operations where substantially all monetary transactions are made in United States dollars, we use the U.S. dollar as our functional currency, with gains or losses on translation recorded in income in the period in which they are incurred. Gains or losses on foreign currency transactions are recorded in income in the period in which they are 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;"><span style="font-style:italic;font-weight:bold;">Partnerships and joint ventures</span><b style="font-weight:bold;"> —</b> We are periodically a member of a partnership or a joint venture. These partnerships or joint ventures are used primarily for the execution of single contracts or projects.  Our ownership can vary from a small noncontrolling ownership to a significant ownership interest. We evaluate each partnership or joint venture to determine whether the entity is considered a variable interest entity (“VIE”) as defined in ASC 810, <i style="font-style:italic;">“Consolidation”</i>, and if a VIE, whether we are the primary beneficiary of the VIE, which would require us to consolidate the VIE in our financial statements. When consolidation occurs, we account for the interests of the other parties as a noncontrolling interest and disclose the net income attributable to noncontrolling interests. </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;">Cash concentration</span><b style="font-weight:bold;">—</b>We place our cash in demand deposit accounts and short-term U.S. Treasury bonds. At December 31, 2023 and 2022, we had cash balances of $217.8 million and $248.7 million, respectively. Our cash balances are held in high credit quality financial institutions in order to mitigate the risk of holding funds not backed by the federal government or in excess of federally backed limits.</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;">Collective bargaining agreements</span><b style="font-weight:bold;">—</b>Approximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements in 2023. Upon renegotiation of such agreements, we could be exposed to increases in hourly costs and work stoppages. </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;">Multiemployer plans</span><b style="font-weight:bold;"> — </b><span style="white-space:pre-wrap;">Various subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan. If we were to withdraw from an agreement, we could incur a withdrawal obligation, and the potential withdrawal obligation may be significant. In accordance with GAAP, any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated. </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;"><span style="font-style:italic;font-weight:bold;">Insurance</span><b style="font-weight:bold;">—</b>We self-insure worker’s compensation and general liability up to $0.5 million per claim. We maintained a self-insurance reserve totaling $47.6 million and $45.7 million at December 31, 2023 and 2022, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">respectively, with the current portion recorded to “Accrued liabilities” and the long-term portion recorded to “Other long-term liabilities” on the Consolidated Balance Sheets. Claims administration expenses are charged to current operations as incurred. Our accruals are based on judgment and the probability of losses, with the assistance of third-party actuaries. Actual payments that may be made in the future could materially differ from such reserves.</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;">Derivative instruments and hedging activities</span> <b style="font-weight:bold;">—</b> We recognize all derivative instruments as either assets or liabilities on the balance sheet at their respective fair values. Our use of derivatives currently consists of interest rate swap agreements. The interest rate swap agreements were entered into to improve the predictability of cash flows from interest payments related to variable rate debt for the duration of the term loan and is not designated as a hedge for accounting purposes. Therefore, the change in the fair value of the derivative asset or liability is reflected in net income in the Consolidated Statements of Income (mark-to-market accounting). Cash flows from derivatives settled are reported as cash flow from operating activities.</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;">Accounts receivable</span><span style="white-space:pre-wrap;">—Accounts receivable and contract receivables are primarily with public and private companies and governmental agencies located in the United States and Canada. Credit terms for payment of products and services are extended to customers in the normal course of business. Contract receivables are generally progress billings on projects, and as a result, are short term in nature. Generally, we require no collateral from our customers, but file statutory liens or stop notices on any construction projects when collection problems are anticipated. While a project is underway, we estimate the collectability of contract amounts at the same time that we estimate project costs. As discussed in Note 5 — </span><i style="font-style:italic;">“Revenue”</i>, realization of the eventual cash collection may be recognized as adjustments to the contract revenue and profitability. We provide an allowance for credit losses to estimate losses from uncollectible accounts. Under this method an allowance is recorded based upon historical experience and management’s evaluation of, among other factors, current and reasonably supportable expected future economic conditions and the customer’s willingness or ability to pay. Receivables are written off in the period deemed uncollectible. The allowance for credit losses at December 31, 2023 and 2022 was $1.5 million and $2.0 million, 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><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;">Significant revision in contract estimates</span><b style="font-weight:bold;"> —</b> We recognize revenue over time for contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. Under this method, the costs incurred to date as a percentage of total estimated costs are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. For projects that were in process at the end of the prior year, there can be a difference in revenue and profit that would have been recognized in the prior year had current year estimates of costs to complete been known at the end of the prior year. During the year ended December 31, 2023, certain contracts had revisions in cost estimates from those projected at December 31, 2022. This change in estimate resulted in a decrease in net income of $15.0 million, or <span style="-sec-ix-hidden:Hidden_OtLE2Bl3REWz9g7meVf7ww;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$0.28</span></span> per share (basic and diluted) for the year ended December 31, 2023.</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;">Customer concentration</span> — We operate in multiple industry segments encompassing the construction of commercial, utility, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year account for approximately 40.0% to 50.0% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the years ended December 31, 2023, 2022 and 2021, approximately 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue, and no one customer accounted for more than 10% of 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;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Property and equipment</span><b style="font-weight:bold;">—</b>Property and equipment are recorded at cost and are depreciated using the straight-line method over the estimated useful lives of the related assets, usually ranging from <span style="-sec-ix-hidden:Hidden_JoBexWyey0-aAFyEmwht9Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to thirty years. Maintenance and repairs are charged to expense as incurred. Significant renewals and betterments are capitalized. At the time of retirement or other disposition of property and equipment, the cost and accumulated depreciation are removed from the accounts, and any resulting gain or loss is reflected in operating 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;"><span style="white-space:pre-wrap;">We assess the recoverability of property and equipment whenever events or changes in business circumstances indicate that the carrying amount of the asset may not be fully recoverable. We perform an analysis to determine if an impairment exists. The amount of property and equipment impairment, if any, is measured based on fair value and is charged to operations in the period in which the impairment is determined by management. For the years ended December 31, 2023, 2022 and 2021, our management has not identified any material impairment of its property and equipment.</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;"><span style="font-style:italic;font-weight:bold;">Depreciation </span>— Effective January 1, 2022, we changed our estimates of the useful lives of certain equipment to better reflect the estimated periods during which these assets will remain in service. The estimated useful lives of equipment that previously ranged <span style="-sec-ix-hidden:Hidden_uVzPKGdJXkebFxE-RJl3BQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to seven years were increased to a range of <span style="-sec-ix-hidden:Hidden_ig-quXDS1kmtoqpT0NRTwg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. The effect of this change in estimate reduced depreciation expense by $19.3 million, increased net income by $16.1 million, and increased basic and diluted earnings per share by $0.30 for the year ended December 31, 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;"><span style="font-style:italic;font-weight:bold;">Taxes collected from customers</span><b style="font-weight:bold;">—</b>Sales and use taxes collected from our customers are recorded on a net 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;"><span style="font-style:italic;font-weight:bold;">Share-based payments and stock-based compensation</span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">In May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Equity Incentive Plan (“2013 Equity Plan”). Detailed discussion of shares issued under the 2013 Equity Plan are included in Note 16 — </span><i style="font-style:italic;">“Deferred Compensation Agreements and Stock-Based Compensation”</i> and in Note 19—<i style="font-style:italic;">“Stockholders’ Equity”</i>. Such share issuances include grants of Restricted Stock Units (“RSU”) and Performance Stock Units (“PSU”) to executives and certain senior managers and issuances of stock to 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;">In May 2023, the shareholders approved and we adopted the Primoris Services Corporation 2023 Equity Incentive Plan (“2023 Equity Plan”). Detailed discussion of shares issued under the Equity Plan are included in Note 16 — <i style="font-style:italic;">“Deferred Compensation Agreements and Stock-Based Compensation”</i> and in Note 19—<i style="font-style:italic;">“Stockholders’ Equity”</i><span style="white-space:pre-wrap;">. Such share issuances include grants of RSUs and PSUs to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.</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;"><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;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 October 2021, the FASB issued ASU No.2021-08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” which changes the accounting for contract assets and liabilities acquired in a business combination by requiring an acquiring entity to measure contract assets and liabilities in accordance with FASB Accounting Standards Codification 606, Revenue from Contracts with Customers. This ASU is effective for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years with early adoption permitted. The amendments should be applied prospectively to business combinations occurring on or after the effective date. We adopted the new standard on January 1, 2023, on a prospective basis and it did not have a material 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;"><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 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 and it did not have a material 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;"><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. This ASU 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Other new pronouncements issued but not effective until after December 31, 2023, are not expected to have a material impact on our consolidated results of operations, financial position or cash flows.</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;">Basis of presentation </span><b style="font-weight:bold;">—</b>The accompanying consolidated financial statements were prepared in accordance with accounting principles generally accepted in the United States (“GAAP”) and the financial statement rules <span style="white-space:pre-wrap;">and regulations of the Securities and Exchange Commission (“SEC”). References for Financial Accounting Standards Board (“FASB”) standards are made to the FASB Accounting Standards Codification (“ASC”).</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;">Principles of consolidation </span><b style="font-weight:bold;">—</b>The accompanying Consolidated Financial Statements include the accounts of Primoris and our wholly-owned subsidiaries. All intercompany balances and transactions have been eliminated in consolidation.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;font-weight:bold;">Reclassification </span><b style="font-weight:bold;">—</b>Certain previously reported amounts have been reclassified to conform to the current year presentation.</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 Consolidated Balance Sheets. Escrow cash accounts are released to us by customers as projects are completed in accordance with contract terms. As a result of the PLH acquisition (as defined below), we acquired cash pledged to secure letters of credit, which was recorded as restricted cash at December 31, 2022. As of December 31, 2023, all of the restricted cash from the PLH acquisition had been released. The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the 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:70.84%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.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><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:11.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:2.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: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:11.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:1.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.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:11.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:2.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;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="11" style="vertical-align:bottom;width:56.6%;border-bottom:1px solid #000000;margin:0pt;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:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;margin:0pt;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">a</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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:2.32%;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:11.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:11.24%;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;"> 200,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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:11.24%;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;"> 326,744</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Pe-IbPWXEkmIy9fZ7L7BOw;"><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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom: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.24%;border-bottom: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:2.32%;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%;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.24%;border-bottom: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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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%;border-bottom: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.24%;border-bottom: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,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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%;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.24%;border-bottom: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;"> 4,231</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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 consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.24%;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:2.32%;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;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.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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;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.24%;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;"> 205,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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;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.24%;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;"> 330,975</p></td></tr></table> The following table provides a reconciliation of cash, cash equivalents and restricted cash reported within the Consolidated Balance Sheets to the totals of such amounts shown in the 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:70.84%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:41.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><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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:11.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:2.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: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:11.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:1.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.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:11.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:2.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;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="11" style="vertical-align:bottom;width:56.6%;border-bottom:1px solid #000000;margin:0pt;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:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'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.32%;margin:0pt;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:12.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><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="color:#ffffff;font-weight:bold;">a</b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.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;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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.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;">2020</b></p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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:2.32%;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:11.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.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.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:11.24%;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;"> 200,512</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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:11.24%;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;"> 326,744</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_Pe-IbPWXEkmIy9fZ7L7BOw;"><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.32%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;border-bottom: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.24%;border-bottom: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:2.32%;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%;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.24%;border-bottom: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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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%;border-bottom: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.24%;border-bottom: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,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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%;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.24%;border-bottom: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;"> 4,231</p></td></tr><tr><td style="vertical-align:bottom;width:41.07%;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 consolidated statements of cash flows</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.45%;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.24%;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:2.32%;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;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.24%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.16%;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;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.24%;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;"> 205,643</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.32%;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;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.24%;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;"> 330,975</p></td></tr></table> 217778000 248692000 200512000 326744000 5764000 10299000 5131000 4231000 223542000 258991000 205643000 330975000 <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>—<span style="font-style:italic;font-weight:bold;"> </span>In June 2023, we entered into an Accounts Receivable Securitization Facility (“the Facility”) with PNC Bank, National Association ("PNC") to reduce interest costs and improve cash flows from trade accounts receivable. The Facility has a one-year term, and the maximum purchase commitment by PNC is $100.0 million, at any one time. Fees associated with the Facility for the year ended December 31, 2023 were $1.9 million and are included in interest expense in the Consolidated Statement of Income. </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;">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 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 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 December 31, 2023. The SPE owned $112.2 million of trade accounts receivable as of December 31, 2023, which are included in Accounts receivable, net on the Consolidated Balance Sheet. For the year ended December 31, 2023, we received $75.0 million in cash proceeds from the Facility, which are included in cash from operating activities in the Consolidated Statement of Cash Flows. As of December 31, 2023, we had $25.0 million available capacity under the Facility. </p> P1Y 100000000.0 1900000 75000000.0 112200000 75000000.0 25000000.0 <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;">Use of estimates </span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">The preparation of our Consolidated Financial Statements in conformity with GAAP requires management to make estimates and assumptions that affect the reported amounts of assets and liabilities and the disclosure of contingent assets and liabilities as of the date of the consolidated financial statements and the reported amounts of revenue and expenses during the reporting periods. As a construction contractor, we use estimates for costs to complete construction projects and the contract value of certain construction projects. These estimates have a direct effect on gross profit as reported in these consolidated financial statements. Actual results could materially differ from our estimates.</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;">Operating cycle </span><b style="font-weight:bold;">—</b> In the accompanying Consolidated Balance Sheets, assets and liabilities relating to long-term construction contracts (e.g. contract assets and contract liabilities) are considered current assets and current liabilities, since they are expected to be realized or liquidated in the normal course of contract completion, although completion may require more than <span style="-sec-ix-hidden:Hidden_OrqWxSU070-olle7CSeWWA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> calendar 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;">Consequently, we have significant working capital invested in assets that may have a liquidation period extending beyond one year. We have claims receivable and retention due from various customers and others that are currently in dispute, the realization of which is subject to binding arbitration, final negotiation or litigation, all of which may extend beyond <span style="-sec-ix-hidden:Hidden__vU58BFZmEm53RTlGPNdrQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">one</span></span> calendar year.</p> P1Y <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;">Cash and cash equivalents </span><b style="font-weight:bold;">—</b>We consider all highly liquid investments with an original maturity of three months or less when purchased as cash equivalents.</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;">Business combinations</span><span style="white-space:pre-wrap;">—Business combinations are accounted for using the acquisition method of accounting. We use the fair value of the assets acquired and liabilities assumed to account for the purchase price of businesses. The determination of fair value requires estimates and judgments of future cash flow expectations to assign fair values to the identifiable tangible and intangible assets. GAAP provides a “measurement period” of up to one year in which to finalize all fair value estimates associated with the acquisition of a business. Most estimates are preliminary until the end of the measurement period. During the measurement period, any material, newly discovered information that existed at the acquisition date would be reflected as an adjustment to the initial valuations and estimates. After the measurement period, any adjustments would be recorded as a current period income or expense. </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;">Contingent Earnout Liabilities</span><b style="font-weight:bold;">—</b>As part of certain acquisitions, we agreed to pay cash to certain sellers upon meeting specific operating performance targets for specified periods subsequent to the acquisition date. Each quarter we evaluate the fair value of the estimated contingency and record a non-operating charge for the change in the fair value. Upon meeting the target, we reflect the full liability on the balance sheet and record a charge to <i style="font-style:italic;">“Other income (expense), net”</i> for the change in the fair value of the liability from the prior period.</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;">Goodwill and other intangible assets</span><b style="font-weight:bold;">—</b>We account for goodwill in accordance with ASC 350, “<i style="font-style:italic;">Intangibles — Goodwill and Other</i>”. Under ASC 350, goodwill is subject to an annual impairment test, which we perform as of the first day of the fourth quarter of each year, with more frequent testing if indicators of potential impairment exist. The impairment review is performed at the reporting unit level for those units with recorded goodwill. Our qualitative assessment is used to determine whether it is more likely than not (that is, a likelihood of more than 50 percent) that the fair value of the reporting unit is less than its carrying value, including goodwill. Factors used in our qualitative assessment include, but are not limited to, macroeconomic conditions, industry and market conditions, cost factors, overall financial performance and Company and reporting unit specific events. If deemed necessary, we use the quantitative impairment test outlined in ASC 350, which compares the fair value of a reporting unit with its carrying amount. Fair value for the goodwill impairment test is determined utilizing a discounted cash flow analysis based on our financial plan discounted using our weighted average cost of capital and market indicators of terminal year cash flows. Other valuation methods may be used to corroborate the discounted cash flow method. If the carrying amount of a reporting unit is in excess of its fair value, goodwill is considered impaired and an impairment loss is recognized in an amount equal to that excess, limited to the total amount of goodwill of the reporting unit.</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;">Income tax</span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">Current income tax expense is the amount of income taxes expected to be paid for the financial results of the current year. A deferred tax liability or asset is established for the expected future tax consequences resulting from the differences in financial reporting bases and tax bases of assets and liabilities using enacted tax rates in effect for the years in which the differences are expected to reverse. A valuation allowance is provided if it is more likely than not that some or all of the deferred tax assets will not be realized. We provide for uncertain tax positions </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">when such tax positions do not meet the recognition thresholds or measurement standards as set forth in ASC 740, </span><i style="font-style:italic;">“Income Taxes”</i>. The difference between a tax position taken or expected to be taken on our income tax returns and the benefit recognized in our financial statements is referred to as an unrecognized tax benefit. Amounts for uncertain tax positions are adjusted in periods when new information becomes available or when positions are effectively settled. We recognize accrued interest and penalties related to uncertain tax positions, if any, as a component of income tax expense.</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 result of the Tax Cuts and Jobs Act (the “Tax Act”) new taxes were created on certain foreign earnings. Namely, U.S. shareholders are now subject to a current tax on global intangible low-taxed income (“GILTI”) earned by specified foreign subsidiaries. Available guidance related to GILTI provides for an accounting policy election to either recognize deferred taxes for temporary basis differences expected to reverse as GILTI in future years, or provide for the tax expense related to GILTI in the year the tax is incurred as a period expense. We have elected to recognize the current tax on GILTI as an expense in the period the tax is incurred. The current tax impacts of GILTI are included in our effective tax rate.</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;">Comprehensive income</span><b style="font-weight:bold;">—</b>We account for comprehensive income in accordance with ASC 220, “<i style="font-style:italic;">Comprehensive Income</i>”, which specifies the computation, presentation and disclosure requirements for comprehensive income (loss). Comprehensive income (loss) consists of net income (loss) and foreign currency translation adjustments, primarily from fluctuations in foreign currency exchange rates of our foreign subsidiaries with a functional currency other than the U.S. dollar.</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;">Functional currencies and foreign currency translation</span><b style="font-weight:bold;">—</b> For foreign operations where substantially all monetary transactions are in the local currency, we use the local currency as our functional currency. The effects of translating financial statements of foreign operations into our reporting currency are recognized as a cumulative translation adjustment, net of tax in <i style="font-style:italic;">“Accumulated other comprehensive income”</i> in the Consolidated Statements of Stockholders’ Equity. For certain foreign operations where substantially all monetary transactions are made in United States dollars, we use the U.S. dollar as our functional currency, with gains or losses on translation recorded in income in the period in which they are incurred. Gains or losses on foreign currency transactions are recorded in income in the period in which they are 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;"><span style="font-style:italic;font-weight:bold;">Partnerships and joint ventures</span><b style="font-weight:bold;"> —</b> We are periodically a member of a partnership or a joint venture. These partnerships or joint ventures are used primarily for the execution of single contracts or projects.  Our ownership can vary from a small noncontrolling ownership to a significant ownership interest. We evaluate each partnership or joint venture to determine whether the entity is considered a variable interest entity (“VIE”) as defined in ASC 810, <i style="font-style:italic;">“Consolidation”</i>, and if a VIE, whether we are the primary beneficiary of the VIE, which would require us to consolidate the VIE in our financial statements. When consolidation occurs, we account for the interests of the other parties as a noncontrolling interest and disclose the net income attributable to noncontrolling interests. </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;">Cash concentration</span><b style="font-weight:bold;">—</b>We place our cash in demand deposit accounts and short-term U.S. Treasury bonds. At December 31, 2023 and 2022, we had cash balances of $217.8 million and $248.7 million, respectively. Our cash balances are held in high credit quality financial institutions in order to mitigate the risk of holding funds not backed by the federal government or in excess of federally backed limits.</p> 217800000 248700000 <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;">Collective bargaining agreements</span><b style="font-weight:bold;">—</b>Approximately 30.6% of our hourly employees, primarily consisting of field laborers, were covered by collective bargaining agreements in 2023. Upon renegotiation of such agreements, we could be exposed to increases in hourly costs and work stoppages. </p> 0.306 <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;">Multiemployer plans</span><b style="font-weight:bold;"> — </b><span style="white-space:pre-wrap;">Various subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the plan. If we were to withdraw from an agreement, we could incur a withdrawal obligation, and the potential withdrawal obligation may be significant. In accordance with GAAP, any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated. </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;">Insurance</span><b style="font-weight:bold;">—</b>We self-insure worker’s compensation and general liability up to $0.5 million per claim. We maintained a self-insurance reserve totaling $47.6 million and $45.7 million at December 31, 2023 and 2022, </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">respectively, with the current portion recorded to “Accrued liabilities” and the long-term portion recorded to “Other long-term liabilities” on the Consolidated Balance Sheets. Claims administration expenses are charged to current operations as incurred. Our accruals are based on judgment and the probability of losses, with the assistance of third-party actuaries. Actual payments that may be made in the future could materially differ from such reserves.</p> 500000 500000 47600000 45700000 <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;">Derivative instruments and hedging activities</span> <b style="font-weight:bold;">—</b> We recognize all derivative instruments as either assets or liabilities on the balance sheet at their respective fair values. Our use of derivatives currently consists of interest rate swap agreements. The interest rate swap agreements were entered into to improve the predictability of cash flows from interest payments related to variable rate debt for the duration of the term loan and is not designated as a hedge for accounting purposes. Therefore, the change in the fair value of the derivative asset or liability is reflected in net income in the Consolidated Statements of Income (mark-to-market accounting). Cash flows from derivatives settled are reported as cash flow from operating activities.</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</span><span style="white-space:pre-wrap;">—Accounts receivable and contract receivables are primarily with public and private companies and governmental agencies located in the United States and Canada. Credit terms for payment of products and services are extended to customers in the normal course of business. Contract receivables are generally progress billings on projects, and as a result, are short term in nature. Generally, we require no collateral from our customers, but file statutory liens or stop notices on any construction projects when collection problems are anticipated. While a project is underway, we estimate the collectability of contract amounts at the same time that we estimate project costs. As discussed in Note 5 — </span><i style="font-style:italic;">“Revenue”</i>, realization of the eventual cash collection may be recognized as adjustments to the contract revenue and profitability. We provide an allowance for credit losses to estimate losses from uncollectible accounts. Under this method an allowance is recorded based upon historical experience and management’s evaluation of, among other factors, current and reasonably supportable expected future economic conditions and the customer’s willingness or ability to pay. Receivables are written off in the period deemed uncollectible. The allowance for credit losses at December 31, 2023 and 2022 was $1.5 million and $2.0 million, respectively.</p> 1500000 2000000.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;">Significant revision in contract estimates</span><b style="font-weight:bold;"> —</b> We recognize revenue over time for contracts where scope is adequately defined, and therefore we can reasonably estimate total contract value. Under this method, the costs incurred to date as a percentage of total estimated costs are used to calculate revenue. Total estimated costs, and thus contract revenue and margin, are impacted by many factors, which can cause significant changes in estimates during the life cycle of a project. For projects that were in process at the end of the prior year, there can be a difference in revenue and profit that would have been recognized in the prior year had current year estimates of costs to complete been known at the end of the prior year. During the year ended December 31, 2023, certain contracts had revisions in cost estimates from those projected at December 31, 2022. This change in estimate resulted in a decrease in net income of $15.0 million, or <span style="-sec-ix-hidden:Hidden_OtLE2Bl3REWz9g7meVf7ww;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">$0.28</span></span> per share (basic and diluted) for the year ended December 31, 2023.</p> -15000000.0 -0.28 <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 segments encompassing the construction of commercial, utility, industrial and public works infrastructure assets primarily throughout the United States. Typically, the top ten customers in any one calendar year account for approximately 40.0% to 50.0% of total revenue; however, the group that comprises the top ten customers varies from year to year. For the years ended December 31, 2023, 2022 and 2021, approximately 41.1%, 46.1% and 42.9%, respectively, of total revenue was generated from our top ten customers in each year. In each of the years, a different group of customers comprised the top ten customers by revenue, and no one customer accounted for more than 10% of total revenue.</p> 10 1000 0.400 0.500 10 0.411 0.461 0.429 10 10 <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;">Property and equipment</span><b style="font-weight:bold;">—</b>Property and equipment are recorded at cost and are depreciated using the straight-line method over the estimated useful lives of the related assets, usually ranging from <span style="-sec-ix-hidden:Hidden_JoBexWyey0-aAFyEmwht9Q;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to thirty years. Maintenance and repairs are charged to expense as incurred. Significant renewals and betterments are capitalized. At the time of retirement or other disposition of property and equipment, the cost and accumulated depreciation are removed from the accounts, and any resulting gain or loss is reflected in operating 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;"><span style="white-space:pre-wrap;">We assess the recoverability of property and equipment whenever events or changes in business circumstances indicate that the carrying amount of the asset may not be fully recoverable. We perform an analysis to determine if an impairment exists. The amount of property and equipment impairment, if any, is measured based on fair value and is charged to operations in the period in which the impairment is determined by management. For the years ended December 31, 2023, 2022 and 2021, our management has not identified any material impairment of its property and equipment.</span></p> P30Y <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;">Depreciation </span>— Effective January 1, 2022, we changed our estimates of the useful lives of certain equipment to better reflect the estimated periods during which these assets will remain in service. The estimated useful lives of equipment that previously ranged <span style="-sec-ix-hidden:Hidden_uVzPKGdJXkebFxE-RJl3BQ;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to seven years were increased to a range of <span style="-sec-ix-hidden:Hidden_ig-quXDS1kmtoqpT0NRTwg;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three</span></span> to ten years. The effect of this change in estimate reduced depreciation expense by $19.3 million, increased net income by $16.1 million, and increased basic and diluted earnings per share by $0.30 for the year ended December 31, 2022. </p> P7Y P10Y -19300000 16100000 0.30 0.30 <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;">Taxes collected from customers</span><b style="font-weight:bold;">—</b>Sales and use taxes collected from our customers are recorded on a net basis.</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-based payments and stock-based compensation</span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">In May 2013, the shareholders approved and we adopted the Primoris Services Corporation 2013 Equity Incentive Plan (“2013 Equity Plan”). Detailed discussion of shares issued under the 2013 Equity Plan are included in Note 16 — </span><i style="font-style:italic;">“Deferred Compensation Agreements and Stock-Based Compensation”</i> and in Note 19—<i style="font-style:italic;">“Stockholders’ Equity”</i>. Such share issuances include grants of Restricted Stock Units (“RSU”) and Performance Stock Units (“PSU”) to executives and certain senior managers and issuances of stock to 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;">In May 2023, the shareholders approved and we adopted the Primoris Services Corporation 2023 Equity Incentive Plan (“2023 Equity Plan”). Detailed discussion of shares issued under the Equity Plan are included in Note 16 — <i style="font-style:italic;">“Deferred Compensation Agreements and Stock-Based Compensation”</i> and in Note 19—<i style="font-style:italic;">“Stockholders’ Equity”</i><span style="white-space:pre-wrap;">. Such share issuances include grants of RSUs and PSUs to executives and certain senior managers and issuances of stock to non-employee members of the Board of Directors.</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;"><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;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 October 2021, the FASB issued ASU No.2021-08, “Business Combinations (Topic 805): Accounting for Contract Assets and Contract Liabilities from Contracts with Customers” which changes the accounting for contract assets and liabilities acquired in a business combination by requiring an acquiring entity to measure contract assets and liabilities in accordance with FASB Accounting Standards Codification 606, Revenue from Contracts with Customers. This ASU is effective for fiscal years beginning after December 15, 2022, and interim periods within those fiscal years with early adoption permitted. The amendments should be applied prospectively to business combinations occurring on or after the effective date. We adopted the new standard on January 1, 2023, on a prospective basis and it did not have a material 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;"><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 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 and it did not have a material 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;"><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. This ASU 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;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Other new pronouncements issued but not effective until after December 31, 2023, are not expected to have a material impact on our consolidated results of operations, financial position or cash flows.</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;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;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 820, “<i style="font-style:italic;">Fair Value Measurements and Disclosures</i>” defines fair value, establishes a framework for measuring fair value in GAAP and requires certain disclosures about fair value measurements.  ASC 820 addresses fair value GAAP for financial assets and financial liabilities that are remeasured and reported at fair value at each reporting period and for non-financial assets and liabilities that are remeasured 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 820, our financial assets and certain liabilities that are required to be measured at fair value at December 31, 2023 and 2022 (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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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.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.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: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.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.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: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.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 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.74%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'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.74%;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.74%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.74%;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.74%;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.74%;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 December 31, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p 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;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p 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.01%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p 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.01%;margin:0pt;padding:0pt;"><p 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2023: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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, 2022:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"> 248,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p 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.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: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.74%;margin:0pt;padding:0pt;"><p 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2022: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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;"> 925</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 carrying value of our long-term debt approximates fair value based on a comparison with current prevailing market rates for loans of similar risks and maturities.</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 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 10 – “<i style="font-style:italic;">Derivative Instruments</i>” for additional information.<span style="white-space:pre-wrap;"> </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;">On a quarterly basis, we assess the estimated fair value of the contractual obligation to pay the contingent consideration and any changes in estimated fair value are recorded as non-operating income or expense in our Statement of Income. Fair value is determined utilizing a discounted cash flow analysis based on management’s estimate of the probability of the acquired company meeting the contractual operating performance target discounted using our weighted average cost of capital. Significant changes in either management’s estimate of the probability of meeting the performance target or our estimated discount rate would result in a different fair value measurement. Generally, a change in the assumption of the probability of meeting the performance target is accompanied by a directionally similar change in the fair value of contingent consideration liability, whereas a change in assumption of the estimated discount rate is accompanied by a directionally opposite change in the fair value of contingent consideration 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;">Upon meeting the target, we reflect the full liability on the balance sheet and record an adjustment to “Other income (expense), net” for the change in the fair value of the liability from the prior period.</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 March 1, 2022 acquisition of Alberta Screw Piles, Ltd. (“ASP”) (as discussed in Note 4 – “<i style="font-style:italic;">Business Combinations</i>”) includes an earnout of up to $3.2 million, contingent upon meeting certain performance targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 million. Under ASC 805, “Business Combinations” (“ASC 805”), we are required to estimate the fair value of contingent consideration based on facts and circumstances that existed as of the acquisition date and remeasure to fair value at each reporting date until the contingency is resolved. As a result of that remeasurement, we reduced the fair value of the contingent consideration in 2023 related to the ASP performance target contemplated in their purchase agreement and decreased the liability by $0.9 million with a corresponding increase in non-operating income.</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 820, our financial assets and certain liabilities that are required to be measured at fair value at December 31, 2023 and 2022 (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.74%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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.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.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: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.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.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: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.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 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.74%;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.65%;margin:0pt;padding:0pt;"><p style="font-family:'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.74%;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.74%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.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 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.74%;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.74%;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.74%;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 December 31, 2023:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p 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;"> 217,778</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p 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.01%;margin:0pt;padding:0pt;"><p 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.74%;margin:0pt;padding:0pt;"><p 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.01%;margin:0pt;padding:0pt;"><p 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2023: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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, 2022:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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;"> 248,692</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p 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.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: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.74%;margin:0pt;padding:0pt;"><p 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.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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,235</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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;"><b style="font-weight:bold;">Liabilities as of December 31, </b><b style="font-weight:bold;white-space:pre-wrap;">2022: </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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.74%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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: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 0pt 0pt 12pt;">Contingent consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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: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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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.74%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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;"> 925</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p> 217778000 1633000 248692000 1235000 925000 3200000 P1Y 2800000 900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 4—Business Combinations</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;"><i style="font-style:italic;">Acquisition of PLH</i></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;">On August 1, 2022, we acquired PLH Group, Inc. (“PLH”) in an all-cash transaction valued at approximately $429.0 million, net of cash acquired (the “PLH acquisition”). PLH is a utility-focused specialty construction company with concentrations in growing regions of the United States. The transaction directly aligns with our strategic focus on higher-growth, higher margin markets and expands our capabilities in the power delivery, communications, and gas utilities markets. The total purchase price was funded through a combination of borrowings under our term loan facility and borrowings under our revolving credit facility.</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;">During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of PLH. The table below represents the purchase consideration and the estimated fair values of the assets acquired and liabilities assumed from PLH as of the acquisition date. Significant changes since our initial estimates reported in the third quarter of 2022 primarily relate to $24.1 million of project adjustments increasing the fair value of contract liabilities acquired, a $18.8 million change in deferred taxes, a $13.7 million reduction in the fair value of acquired intangibles, a $9.3 million decrease in the purchase consideration for a working capital true-up, and a $11.7 million reduction in the fair value of fixed assets acquired. As a result of this and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill increased by approximately $34.8 million since the third quarter of 2022. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.</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:80.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:3.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 472,193</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;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.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;"> (43,152)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.28%;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;"> 429,041</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:80.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:3.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 43,152</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 74,739</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 74,700</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 10,858</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 51,824</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 16,340</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 21,731</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 77,300</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 11,600</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 6,466</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (105,427)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,629)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,313)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,004)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.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;"> (7,445)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 210,892</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.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;"> 261,301</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.28%;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;"> 472,193</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;">We incorporated the majority of the PLH operations into our Utilities segment with the remaining operations going to our Energy segment. Goodwill associated with the PLH acquisition principally consists of expected benefits from the expansion of our services into the utilities market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is not expected to be deductible for income tax purposes.</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 intangible assets acquired with the PLH acquisition consisted of Customer relationships of $77.3 million and Tradenames of $11.6 million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of 15 years and 1.9 years, respectively. For the period from August 1, 2022, the acquisition date, to December 31, 2022, PLH contributed revenue of $367.9 million and gross profit of $38.2 million. It is impractical to segregate and identify revenue and gross profit for PLH in 2023 as we have integrated PLH into our existing operations.</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;">Acquisition costs related to PLH were $15.7 million for the year ended December 31, 2022, and are included in “Transaction and related costs” on the Condensed Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors.</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;"><i style="font-style:italic;">Acquisition of B Comm, LLC</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On June 8, 2022 we acquired B Comm, LLC (“B Comm”) in an all-cash transaction of approximately $36.0 million, net of cash acquired. B Comm is a provider of maintenance, repair, upgrade and installation services to the communications markets. The transaction directly aligns with the strategy to grow our MSA revenue base and expand our communication services within the utility markets. During the second quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of B Comm. The fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $4.8 million of fixed assets, $13.2 million of working capital, $10.2 million of intangible assets and $10.0 million of goodwill. We incorporated the operations of B Comm into our Utilities segment. Goodwill associated with the B Comm acquisition principally consists of the value of the assembled </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a <span style="-sec-ix-hidden:Hidden_jIhRKAtagkq199y2SAEgGw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15-year</span></span> period.</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;"><i style="font-style:italic;">Acquisition of Alberta Screw Piles, Ltd.</i></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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>On March 1, 2022, we acquired ASP for a cash price of approximately $4.1 million. In addition, the sellers could receive a contingent earnout payment of up to $3.2 million based on achievement of certain operating targets over the one-year periods ending March 1, 2023 and March 1, 2024, respectively. The estimated fair value of the contingent consideration on the acquisition date was $2.8 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;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>During the first quarter of 2023, we finalized the estimate of fair values of the assets acquired and liabilities assumed of ASP. The preliminary estimated fair values of the assets acquired and liabilities assumed as of the acquisition date consisted of $2.6 million of fixed assets and working capital, and $4.8 million of goodwill. We incorporated the operations of ASP into our Energy segment. Goodwill associated with the ASP acquisition principally consists of the value of the assembled workforce. Based on the current Canadian tax treatment, goodwill is expected to be deductible at a rate of 5% per 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;"><i style="font-style:italic;">Acquisition of Future Infrastructure Holdings, LLC.</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">On January 15, 2021, we acquired Future Infrastructure Holdings, LLC (“FIH”) for approximately $604.7 million, net of cash acquired. FIH is a provider of non-discretionary maintenance, repair, upgrade, and installation services to the communications, regulated gas utility, and infrastructure markets. FIH furthers our strategic plan to expand our service lines, enter new markets, and grow our MSA revenue base. The transaction directly aligns with our strategy to grow in large, higher growth, higher margin markets, and expands our utility services capabilities. </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 fourth quarter of 2021, we finalized the estimate of fair values of the assets acquired and liabilities assumed of FIH. The tables below represent the purchase consideration and estimated fair values of the assets acquired and liabilities assumed. Significant changes since our initial estimates reported in the first quarter of 2021 primarily relate to a $6.5 million reduction in the purchase consideration for the final working capital true-up and a $4.0 million increase in the final valuation of intangible assets. As a result of these and other adjustments to the initial estimated fair values of the assets acquired and liabilities assumed, goodwill decreased by approximately $7.2 million since the first quarter of 2021. Adjustments recorded to the estimated fair values of the assets acquired and liabilities assumed are recognized in the period in which the adjustments are determined and calculated as if the accounting had been completed as of the acquisition date.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.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.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:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 615,249</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,525)</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 604,724</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><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:77.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.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:19.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;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.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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,525</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,337</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 32,343</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 483</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 56,128</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,105</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 122,000</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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,400</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,976</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,838)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,256)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (959)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,975)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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,581)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,688</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 366,561</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 615,249</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:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">We incorporated the operations of FIH into our Utilities segment. Goodwill associated with the FIH acquisition principally consists of expected benefits from the expansion of our services into the communications market and the expansion of our geographic presence. Goodwill also includes the value of the assembled workforce. Based on the current tax treatment, goodwill is expected to be deductible for income tax purposes over a </span><span style="-sec-ix-hidden:Hidden_ftvuivBTlUmhaGqgow4ekA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">15-year</span></span><span style="font-size:10pt;"> period.</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;">The intangible assets acquired with the FIH acquisition consisted of Customer relationships of </span><span style="font-size:10pt;">$122.0</span><span style="font-size:10pt;"> million and Tradenames of </span><span style="font-size:10pt;">$4.4</span><span style="font-size:10pt;"> million. The Customer relationships and Tradenames are being amortized over a weighted average useful life of </span><span style="font-size:10pt;">19 years</span><span style="font-size:10pt;"> and </span><span style="font-size:10pt;">one year</span><span style="font-size:10pt;">, respectively. </span></p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">For the period from January 15, 2021, the acquisition date, to December 31, 2021, FIH contributed revenue of $266.6 million and gross profit of $43.6 million. </p><p style="font-family:'Times New Roman','Times','serif';font-size:12pt;text-indent:36pt;margin:0pt;"><span style="font-size:10pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Acquisition related costs were $14.6 million for the year ended December 31, 2021, and are included in “Transaction and related costs” on the Consolidated Statements of Income. Such costs primarily consisted of professional fees paid to advisors and the expense associated with the purchase of Primoris common stock by certain employees of FIH at a 15 percent discount.</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;"><i style="font-style:italic;">Supplemental Unaudited Pro Forma Information for the twelve months ended December 31, 2022 and 2021</i></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 pro forma information for the twelve months ended December 31, 2022 and 2021 presents our results of operations as if the acquisition of PLH had occurred at the beginning of 2021 and FIH had occurred at the beginning of 2020. The supplemental pro forma information has been adjusted to include:</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:11pt;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:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the pro forma impact of amortization of intangible assets and depreciation of property, plant and equipment;</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 36pt;"><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:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the pro forma impact of nonrecurring transaction and related costs primarily consisting of advisor fees and transaction bonuses payments to select PLH employees directly attributable to the acquisition; 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:18pt;"></td><td style="font-family:'Times New Roman','Times','serif';font-size:10pt;vertical-align:text-top;white-space:nowrap;width:18pt;padding:0pt;">●</td><td style="padding:0pt;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">the pro forma tax effect of both income before income taxes, and the pro forma adjustments, calculated using an effective tax rate of </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">16.5%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> and </span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">23.8%</span><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;"> for the twelve months ended December 31, 2022 and 2021, respectively.</span></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The pro forma results are presented for illustrative purposes only and are not necessarily indicative of, or intended to represent, the results that would have been achieved had the PLH and FIH acquisitions been completed on January 1, 2021 and 2020, respectively. For example, the pro forma results do not reflect any operating efficiencies and associated cost savings that we might have achieved with respect to the acquisition (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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:44.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:5.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.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:23.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;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:20.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></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'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:50.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;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:25.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;">2022</b></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:22.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></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-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:23.22%;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,814,237</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:20.2%;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,138,778</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 149,125</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin: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,421</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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;"> 124,537</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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;"> 60,543</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares outstanding:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin: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,200</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 52,674</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:23.22%;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,759</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:20.2%;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,161</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;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:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin: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.34</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin: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.15</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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.32</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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.14</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> 429000000.0 24100000 18800000 13700000 -9300000 -11700000 34800000 <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:80.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:3.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 472,193</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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.44%;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.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;"> (43,152)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.28%;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;"> 429,041</p></td></tr></table> 472193000 43152000 429041000 <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;white-space:nowrap;width:80.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:3.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash, cash equivalents and restricted cash</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 43,152</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 74,739</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 74,700</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 10,858</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 51,824</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 16,340</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax asset</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 21,731</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p 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.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></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 77,300</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 11,600</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 6,466</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (105,427)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (49,629)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (3,313)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.28%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (12,004)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.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;"> (7,445)</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 210,892</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.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;"> 261,301</p></td></tr><tr><td style="vertical-align:bottom;width:80.98%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.29%;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.44%;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.28%;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;"> 472,193</p></td></tr></table> 43152000 74739000 74700000 10858000 51824000 16340000 21731000 77300000 11600000 6466000 105427000 49629000 3313000 12004000 7445000 210892000 261301000 472193000 77300000 11600000 P15Y P1Y10M24D 367900000 38200000 15700000 36000000.0 4800000 13200000 10200000 10000000.0 4100000 3200000 P1Y 2800000 2600000 4800000 0.05 604700000 -6500000 4000000.0 -7200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><table style="border-collapse:collapse;font-size:16pt;height:max-content;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:77.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.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:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Purchase consideration (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 615,249</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less cash and restricted cash acquired</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,525)</p></td></tr><tr><td style="vertical-align:middle;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net cash paid</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 604,724</p></td></tr></table> 615249000 10525000 604724000 <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;white-space:nowrap;width:77.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.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:19.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Identifiable assets acquired and liabilities assumed (in thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.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></tr><tr><td style="vertical-align:bottom;width:77.9%;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.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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,525</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts receivable</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,337</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 32,343</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Prepaid expenses and other current assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 483</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property, plant and equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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;"> 56,128</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Operating lease assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,105</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Intangible assets:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Customer relationships</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 122,000</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 6pt;">Tradename</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;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,400</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,976</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Accounts payable and accrued liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (29,838)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Contract liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,256)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Long-term debt (including current portion)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (959)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;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</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,975)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other long-term liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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,581)</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total identifiable net assets</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:19.16%;margin: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,688</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Goodwill</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 366,561</p></td></tr><tr><td style="vertical-align:bottom;width:77.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total purchase consideration</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.93%;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:19.16%;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;"> 615,249</p></td></tr></table> 10525000 54337000 32343000 483000 56128000 13105000 122000000 4400000 6976000 29838000 2256000 959000 10975000 7581000 248688000 366561000 615249000 122000000.0 4400000 P19Y P1Y 266600000 43600000 14600000 0.15 0.165 0.238 (in thousands, except per share amounts):<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:44.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:5.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.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:23.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;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:20.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></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'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:50.13%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31,</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;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:25.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;">2022</b></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:22.04%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'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:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></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-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:22.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(unaudited)</b></p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:23.22%;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,814,237</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:20.2%;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,138,778</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income before provision for income taxes </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 149,125</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin: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,421</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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;"> 124,537</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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;"> 60,543</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average common shares outstanding:</p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin: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,200</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 52,674</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:23.22%;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,759</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:20.2%;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,161</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;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:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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: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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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:44.08%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;margin: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.34</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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;margin: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.15</p></td></tr><tr><td style="vertical-align:bottom;width:44.08%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.77%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:23.22%;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.32</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:20.2%;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.14</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> 4814237000 4138778000 149125000 79421000 124537000 60543000 53200000 52674000 53759000 53161000 2340 1150 2320 1140 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><b style="font-weight:bold;">Note 5—Revenue</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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 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 years ended December 31, 2023, 2022, and 2021, $3.9 billion, $2.7 billion, and $2.1 billion, 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 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.</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;">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 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. </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;">As of December 31, 2023, we had $5.4 billion of remaining performance obligations. We expect to recognize approximately 53.9% of our remaining performance <span style="-sec-ix-hidden:Hidden__GL3xNCKFEmsgTn4HkCnOw;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">obligations</span></span> 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 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 years ended December 31, 2023 and 2022, revenue recognized from performance obligations satisfied in previous periods was $1.2 million and $3.3 million, respectively. 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 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;">At December 31, 2023, we had approximately $203.5 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 $175.7 million of the unapproved contract modifications had been recognized as revenue on a cumulative catch-up basis through December 31, 2023.</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 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;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;">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;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;">contract materials for certain job specific materials not yet installed, which are valued using the specific identification method relating 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:53.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:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><tr><td style="vertical-align:bottom;width:53.26%;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.56%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.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:53.26%;margin:0pt;padding:0pt;"><p style="font-family:'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.56%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 604,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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;"> 420,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 283,767</p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 174,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 124,990</p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.62%;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;"> 21,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,902</p></td></tr><tr><td style="vertical-align:bottom;width:53.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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.62%;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,224</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;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;"> 423,659</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 increased by $230.0 million compared to December 31, 2022 primarily due to higher unbilled 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;">The caption “Contract liabilities” in the 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;">deferred revenue on billings in excess of contract revenue recognized to date, 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;">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:52.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><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:52.94%;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.56%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.07%;margin:0pt;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:52.94%;margin:0pt;padding:0pt;"><p style="font-family:'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.56%;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.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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;"> 269,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.51%;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;"> 234,352</p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.53%;border-bottom: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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.53%;border-bottom: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;"> 6,094</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.51%;border-bottom: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;"> 6,060</p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.53%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.53%;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;"> 275,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.51%;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;"> 240,412</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:6pt;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 $90.5 million compared to December 31, 2022 due to increased deferred revenue.</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Revenue recognized for the years ended December 31, 2023 and 2022, that was included in the contract liability balance at the beginning of each year was approximately $232.9 million and $220.9 million, respectively.</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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="font-size:6pt;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.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.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.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.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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 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: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.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: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.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:14.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;">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,809,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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;"> 570,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.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;"> 2,380,230</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%;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%;border-bottom: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;"> 289,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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,045,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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.83%;border-bottom: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,335,079</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 2,099,297</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 3,616,012</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 5,715,309</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><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.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.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.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: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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2022</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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">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,691,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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;"> 332,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.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;"> 2,024,307</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%;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%;border-bottom: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;"> 331,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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;"> 2,064,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.83%;border-bottom: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;"> 2,396,292</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 2,022,987</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 2,397,612</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 4,420,599</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;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.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.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.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.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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2021</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.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: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.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:14.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;">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;"> 1,364,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 292,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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;"> 1,657,957</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%;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%;border-bottom: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;"> 238,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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,600,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.83%;border-bottom: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,839,675</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 1,603,849</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 1,893,783</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 3,497,632</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;">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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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:12.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:12.88%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.39%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 391,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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,472,815</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:1.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:13.8%;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;"> 515,533</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:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 2,380,230</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 2,230,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 583,876</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:1.58%;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.8%;border-bottom: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;"> 520,298</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:1.17%;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%;border-bottom: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,335,079</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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:top;white-space:nowrap;width:1.16%;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:top;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,787</p></td><td style="vertical-align:top;white-space:nowrap;width:2.01%;background:#cceeff;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.17%;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:top;white-space:nowrap;width:11.71%;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;"> 2,056,691</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.58%;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:top;white-space:nowrap;width:13.8%;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;"> 1,035,831</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.17%;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:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,715,309</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 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="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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;border-bottom:1px solid #000000;margin:0pt;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 192,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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,327,379</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:1.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:13.8%;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;"> 503,937</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:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 2,024,307</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 1,695,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 407,067</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:1.58%;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.8%;border-bottom: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;"> 293,423</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:1.17%;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%;border-bottom: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;"> 2,396,292</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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.16%;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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,888,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.17%;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.71%;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;"> 1,734,446</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.8%;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;"> 797,360</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,420,599</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 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="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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:12.88%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.39%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 125,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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,316</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;"> </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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.8%;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;"> 386,001</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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,657,957</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 1,127,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 310,974</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:1.58%;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.8%;border-bottom: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;"> 400,713</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:1.17%;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%;border-bottom: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,839,675</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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:top;white-space:nowrap;width:1.16%;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:top;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,253,628</p></td><td style="vertical-align:top;white-space:nowrap;width:2.01%;background:#cceeff;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.17%;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:top;white-space:nowrap;width:11.71%;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;"> 1,457,290</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.58%;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:top;white-space:nowrap;width:13.8%;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;"> 786,714</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.17%;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:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,497,632</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 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="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> 3900000000 2700000000 2100000000 5400000000 0.539 P12M P18M 1200000 3300000 203500000 175700000 <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:53.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:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.67%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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></tr><tr><td style="vertical-align:bottom;width:53.26%;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.56%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.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:53.26%;margin:0pt;padding:0pt;"><p style="font-family:'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.56%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 604,166</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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;"> 420,511</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 283,767</p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 174,149</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 124,990</p></td></tr><tr><td style="vertical-align:bottom;width:53.26%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 39,652</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.62%;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;"> 21,564</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 14,902</p></td></tr><tr><td style="vertical-align:bottom;width:53.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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;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><td style="vertical-align:bottom;white-space:nowrap;width:1.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.62%;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,224</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.6%;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;"> 423,659</p></td></tr></table> 604166000 420511000 283767000 202358000 174149000 124990000 39652000 21564000 14902000 846176000 616224000 423659000 230000000.0 <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:52.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><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:52.94%;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.56%;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.1%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.07%;margin:0pt;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:52.94%;margin:0pt;padding:0pt;"><p style="font-family:'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.56%;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.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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.07%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;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:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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;"> 269,853</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.51%;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;"> 234,352</p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.53%;border-bottom: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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.53%;border-bottom: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;"> 6,094</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.51%;border-bottom: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;"> 6,060</p></td></tr><tr><td style="vertical-align:bottom;width:52.94%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.56%;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.53%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.99%;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.53%;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;"> 275,947</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.51%;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;"> 240,412</p></td></tr></table> 363159000 269853000 234352000 3317000 6094000 6060000 366476000 275947000 240412000 90500000 232900000 220900000 <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.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.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.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.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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 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: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.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: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.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:14.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;">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,809,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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;"> 570,881</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.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;"> 2,380,230</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%;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%;border-bottom: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;"> 289,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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,045,131</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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.83%;border-bottom: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,335,079</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 2,099,297</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 3,616,012</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 5,715,309</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><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.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.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.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: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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2022</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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="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.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:14.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;">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,691,571</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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;"> 332,736</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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: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.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;"> 2,024,307</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%;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%;border-bottom: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;"> 331,416</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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;"> 2,064,876</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.83%;border-bottom: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;"> 2,396,292</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 2,022,987</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 2,397,612</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 4,420,599</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;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.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.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.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.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.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;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.09%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2021</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.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: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.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:14.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;">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;"> 1,364,995</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> 292,962</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width: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.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;"> 1,657,957</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%;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%;border-bottom: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;"> 238,854</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.72%;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%;border-bottom: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,600,821</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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.83%;border-bottom: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,839,675</p></td></tr><tr><td style="vertical-align:top;width:48.09%;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: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;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%;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;"> 1,603,849</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.72%;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;"> 1,893,783</p></td><td style="vertical-align:top;white-space:nowrap;width:2.82%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.72%;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:top;white-space:nowrap;width:12.83%;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;"> 3,497,632</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;">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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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:12.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:12.88%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.39%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 391,882</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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,472,815</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:1.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:13.8%;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;"> 515,533</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:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 2,380,230</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 2,230,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 583,876</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:1.58%;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.8%;border-bottom: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;"> 520,298</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:1.17%;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%;border-bottom: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,335,079</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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:top;white-space:nowrap;width:1.16%;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:top;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 2,622,787</p></td><td style="vertical-align:top;white-space:nowrap;width:2.01%;background:#cceeff;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.17%;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:top;white-space:nowrap;width:11.71%;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;"> 2,056,691</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.58%;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:top;white-space:nowrap;width:13.8%;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;"> 1,035,831</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.17%;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:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 5,715,309</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 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="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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;border-bottom:1px solid #000000;margin:0pt;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.39%;border-bottom:1px solid #000000;margin:0pt;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.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:12.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 192,991</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.71%;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,327,379</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:1.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:13.8%;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;"> 503,937</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:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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;"> 2,024,307</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 1,695,802</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 407,067</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:1.58%;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.8%;border-bottom: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;"> 293,423</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:1.17%;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%;border-bottom: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;"> 2,396,292</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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.16%;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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,888,793</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.17%;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.71%;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;"> 1,734,446</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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.8%;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;"> 797,360</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;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.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 4,420,599</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 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="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.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:2.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.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:11.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.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.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:11.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: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: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:13.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:1.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: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></tr><tr><td style="vertical-align:bottom;width:37.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:2.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.13%;border-bottom:1px solid #000000;margin:0pt;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 year ended December 31, 2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.01%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Fixed-price</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:12.88%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.39%;border-bottom:1px solid #000000;margin:0pt;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.02%;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.9%;border-bottom:1px solid #000000;margin:0pt;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.84%;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.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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 125,640</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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,316</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;"> </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;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.8%;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;"> 386,001</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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.17%;background:#cceeff;margin:0pt;padding:0pt;"><p 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,657,957</p></td></tr><tr><td style="vertical-align:bottom;width:37.84%;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.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.16%;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.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 3.6pt 0pt 0pt;"> 1,127,988</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.17%;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.71%;border-bottom: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;"> 310,974</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:1.58%;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.8%;border-bottom: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;"> 400,713</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:1.17%;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%;border-bottom: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,839,675</p></td></tr><tr><td style="vertical-align:top;width:37.84%;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:2.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:top;white-space:nowrap;width:1.16%;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:top;white-space:nowrap;width:11.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 1,253,628</p></td><td style="vertical-align:top;white-space:nowrap;width:2.01%;background:#cceeff;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.17%;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:top;white-space:nowrap;width:11.71%;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;"> 1,457,290</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.58%;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:top;white-space:nowrap;width:13.8%;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;"> 786,714</p></td><td style="vertical-align:top;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;"> </p></td><td style="vertical-align:top;white-space:nowrap;width:1.17%;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:top;white-space:nowrap;width:11.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 3,497,632</p></td></tr></table><div style="font-family:'Times New Roman','Times','serif';font-size:10.0pt;margin-bottom:0pt;margin-top:0pt;min-height:1.19em;position:relative;width:100%;"><div style="background-color:#000000;height:1px;position:relative;top:0.6em;width:25.0%;border:none;margin:0 auto 0 0;"></div></div><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="font-family:'Times New Roman','Times','serif';font-size: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 time and material and cost reimbursable plus fee contracts.</span></td></tr></table> 1809349000 570881000 2380230000 289948000 3045131000 3335079000 2099297000 3616012000 5715309000 1691571000 332736000 2024307000 331416000 2064876000 2396292000 2022987000 2397612000 4420599000 1364995000 292962000 1657957000 238854000 1600821000 1839675000 1603849000 1893783000 3497632000 391882000 1472815000 515533000 2380230000 2230905000 583876000 520298000 3335079000 2622787000 2056691000 1035831000 5715309000 192991000 1327379000 503937000 2024307000 1695802000 407067000 293423000 2396292000 1888793000 1734446000 797360000 4420599000 125640000 1146316000 386001000 1657957000 1127988000 310974000 400713000 1839675000 1253628000 1457290000 786714000 3497632000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 6—Property and Equipment</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;">The following is a summary of property and equipment (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:59.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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:15.91%;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:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:9.62%;border-bottom:1px solid #000000;margin:0pt;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.64%;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:9.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land and buildings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 168,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 154,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Buildings 30 Years </p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various*</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 26,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 23,659</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 - 5 Years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 664,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 717,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 - 10 Years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 23,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 23,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 38,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 26,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 945,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 966,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (469,252)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (472,861)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;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.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;"> 475,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;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.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;"> 493,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">* Leasehold improvements are depreciated over the shorter of the life of the leasehold improvement or the lease term</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;">Depreciation expense was $85.2 million, $78.2 million and $87.2 million for the years ended December 31, 2023, 2022 and 2021, respectively.</p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The following is a summary of property and equipment (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:59.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:8.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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="5" style="vertical-align:bottom;white-space:nowrap;width:20.89%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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:15.91%;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:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:9.62%;border-bottom:1px solid #000000;margin:0pt;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.64%;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:9.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Useful Life</b></p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Land and buildings </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 168,788</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 154,596</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Buildings 30 Years </p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Leasehold improvements </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 22,864</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 21,349</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">Various*</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Office equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 26,470</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 23,659</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 - 5 Years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction equipment </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 664,838</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 717,419</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p 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.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">3 - 10 Years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Solar equipment</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 23,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:8.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;"> 23,552</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;">25 years</p></td></tr><tr><td style="vertical-align:bottom;width:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Construction in progress</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 38,669</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 26,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 945,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 966,720</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less: accumulated depreciation and amortization </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (469,252)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (472,861)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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:59.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Property and equipment, net</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;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.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;"> 475,929</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;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.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;"> 493,859</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.91%;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></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;">* Leasehold improvements are depreciated over the shorter of the life of the leasehold improvement or the lease term</span>. </p> 168788000 154596000 P30Y 22864000 21349000 26470000 23659000 P3Y P5Y 664838000 717419000 P3Y P10Y 23552000 23552000 P25Y 38669000 26145000 945181000 966720000 469252000 472861000 475929000 493859000 85200000 78200000 87200000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;"> Note 7—Goodwill and Intangible Assets</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>The change in goodwill by segment for 2023 and 2022 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;white-space:nowrap;width:57.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.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></tr><tr><td style="vertical-align:bottom;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.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;">Utilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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:14.24%;border-bottom:1px solid #000000;margin:0pt;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;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 462,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;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;"> 118,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;"> 581,664</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill acquired during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.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;"> 253,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:10.24%;border-bottom: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;"> 36,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:12.38%;border-bottom: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;"> 290,144</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 716,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;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;"> 155,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;"> 871,808</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill adjustments during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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:9.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;"> (12,822)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.24%;border-bottom: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,336)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,158)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.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;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.24%;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;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.38%;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;">There were no impairments of goodwill for the years ended December 31, 2023, 2022 and 2021.</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 summarizes the intangible asset categories, which are generally amortized on a straight-line basis (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: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.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.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.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.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.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:10.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.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.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.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.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.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.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.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></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.24%;border-bottom:1px solid #000000;margin:0pt;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><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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.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;">December 31, 2022</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.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.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.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.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.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</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: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.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.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.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.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.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.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;"> 32,820</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> (29,399)</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 3,421</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.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.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;"> 32,820</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.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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,611)</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.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.9%;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;"> 7,209</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.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.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;"> 301,927</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.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> (77,787)</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.31%;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.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;"> 224,140</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.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.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;"> 301,927</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.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.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;"> (59,755)</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.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.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 3.6pt 0pt 0pt;"> 242,172</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.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.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;"> 334,747</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.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.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;"> (107,186)</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.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:10.45%;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><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.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.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;"> 334,747</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.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.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;"> (85,366)</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.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.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 3.6pt 0pt 0pt;"> 249,381</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>Amortization expense of intangible assets was $21.8 million, $20.9 million and $18.3 million for the years ended December 31, 2023, 2022 and 2021, 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;">Estimated future amortization expense for intangible assets as of December 31, 2023 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;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:86.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;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;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.57%;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:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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,701</p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin: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:86.22%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p 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.64%;margin: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:86.22%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom: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.64%;border-bottom: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,073</p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.64%;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="font-size:1pt;visibility:hidden;">​</span></p> The change in goodwill by segment for 2023 and 2022 was as follows (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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;white-space:nowrap;width:57.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:10.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:1.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:12.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></tr><tr><td style="vertical-align:bottom;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.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;">Utilities</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Energy</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;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:14.24%;border-bottom:1px solid #000000;margin:0pt;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;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 462,905</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;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;"> 118,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;"> 581,664</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill acquired during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.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;"> 253,379</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:10.24%;border-bottom: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;"> 36,765</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:12.38%;border-bottom: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;"> 290,144</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> 716,284</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.24%;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;"> 155,524</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.38%;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;"> 871,808</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Goodwill adjustments during the period</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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:9.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;"> (12,822)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.24%;border-bottom: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,336)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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:12.38%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (14,158)</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:57.17%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.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;"> 703,462</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.24%;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;"> 154,188</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.38%;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> 462905000 118759000 581664000 253379000 36765000 290144000 716284000 155524000 871808000 12822000 1336000 14158000 703462000 154188000 857650000 0 0 0 <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, which are generally amortized on a straight-line basis (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: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.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.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.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.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.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:10.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.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.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.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.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.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.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.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></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.24%;border-bottom:1px solid #000000;margin:0pt;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><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="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:39.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;">December 31, 2022</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.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.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.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.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.77%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Intangible assets, net</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: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.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.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.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.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.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.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;"> 32,820</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width: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;"> (29,399)</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.31%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.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;"> 3,421</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.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.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;"> 32,820</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.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.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (25,611)</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.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.9%;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;"> 7,209</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.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.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;"> 301,927</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.31%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;"> (77,787)</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.31%;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.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;"> 224,140</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.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.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;"> 301,927</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.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.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;"> (59,755)</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.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.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 3.6pt 0pt 0pt;"> 242,172</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.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.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;"> 334,747</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.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.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;"> (107,186)</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.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:10.45%;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><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.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.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;"> 334,747</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.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.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;"> (85,366)</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.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.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 3.6pt 0pt 0pt;"> 249,381</p></td></tr></table> 32820000 29399000 3421000 32820000 25611000 7209000 301927000 77787000 224140000 301927000 59755000 242172000 334747000 107186000 227561000 334747000 85366000 249381000 21800000 20900000 18300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Estimated future amortization expense for intangible assets as of December 31, 2023 is as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:4pt;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:86.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;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;margin:0pt;padding:0pt;"><p style="font-family:'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.57%;margin:0pt;padding:0pt;"><p style="font-family:'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:11.19%;margin:0pt;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:86.22%;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.57%;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:11.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expense</b></p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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,701</p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.64%;margin: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:86.22%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;margin:0pt;padding:0pt;"><p 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.64%;margin: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:86.22%;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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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:86.22%;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.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;border-bottom: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.64%;border-bottom: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,073</p></td></tr><tr><td style="vertical-align:bottom;width:86.22%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.55%;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.64%;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="font-size:1pt;visibility:hidden;">​</span></p> 19701000 17661000 16141000 15604000 14381000 144073000 227561000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 8—Accounts Payable and Accrued Liabilities</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">At December 31, 2023 and 2022, accounts payable included retention amounts of approximately $24.7 million and $21.5 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;text-indent:36pt;margin:0pt;"><span style="font-size:6pt;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><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:75.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.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:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.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: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.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></tr><tr><td style="vertical-align:bottom;width:75.36%;margin:0pt;padding:0pt;"><p style="font-family:'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%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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:75.36%;margin:0pt;padding:0pt;"><p style="font-family:'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%;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.02%;border-bottom:1px solid #000000;margin:0pt;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:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 108,618</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;"><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.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;"> 114,053</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 96,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,565</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 18,015</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;"><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.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,935</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p 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.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;"> 14,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.6%;margin: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,213</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,071</p></td></tr><tr><td style="vertical-align:bottom;width:75.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;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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.85%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.6%;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;"> 245,837</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> 24700000 21500000 <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><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:75.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.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:1.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.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: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.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></tr><tr><td style="vertical-align:bottom;width:75.36%;margin:0pt;padding:0pt;"><p style="font-family:'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%;margin:0pt;padding:0pt;"><p style="font-family:'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.19%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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:75.36%;margin:0pt;padding:0pt;"><p style="font-family:'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%;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.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.02%;border-bottom:1px solid #000000;margin:0pt;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:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 108,618</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;"><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.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;"> 114,053</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 96,411</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.6%;margin: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,565</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 18,015</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;"><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.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,935</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;margin:0pt;padding:0pt;"><p 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.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;"> 14,203</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;margin:0pt;padding:0pt;"><p 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.6%;margin: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,213</p></td></tr><tr><td style="vertical-align:bottom;width:75.36%;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:2.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.85%;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><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.42%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.6%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 23,071</p></td></tr><tr><td style="vertical-align:bottom;width:75.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;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.34%;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.85%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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%;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.6%;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;"> 245,837</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> 108618000 114053000 96411000 72565000 18015000 19935000 14203000 16213000 26245000 23071000 263492000 245837000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 9—Credit Arrangements</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;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 at December 31, 2023 (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:73.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: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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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 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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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.6%;border-bottom:1px solid #000000;margin:0pt;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.02%;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:11.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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 933,188</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.53%;margin: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.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: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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 100,000</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.53%;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><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: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:9.5%;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;"> 98,064</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom: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;"> 20,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;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,151,735</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom: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,283)</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,143,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (78,137)</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;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.53%;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><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:2.02%;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.5%;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;"> 1,065,315</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;">The weighted average interest rate on total debt outstanding at December 31, 2023 and 2022 was 6.8% and 6.2%, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Scheduled maturities of long-term debt 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:84.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:2.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:84.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.52%;margin:0pt;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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.52%;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.04%;border-bottom:1px solid #000000;margin:0pt;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:84.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:11.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;"> 72,903</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.86%;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 75,545</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 65,847</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.86%;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 734,485</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 8,847</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,120</p></td></tr><tr><td style="vertical-align:bottom;width:84.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:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.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;"> 964,747</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;">Commercial Notes Payable and Mortgage Notes Payable</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;">From time to time, we enter into commercial equipment notes payable with various equipment finance companies and banks. At December 31, 2023, interest rates ranged from 1.60% to 6.28% per annum and maturity dates range from April 2024 through February 2027. The notes are secured by certain construction equipment.</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;">From time to time, we enter into secured mortgage notes payable with various banks. At December 31, 2023, interest rates ranged from 4.21% to 4.50% per annum and maturity dates range from January 2025 through October 2030. These notes are secured by certain real estate.</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;">Credit Agreement</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:39pt;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 September 29, 2017, we entered into an amended and restated credit agreement, as amended July 9, 2018 and August 3, 2018 (the “Credit Agreement”) with CIBC Bank USA, as administrative agent (the “Administrative Agent”) and co-lead arranger, and the financial parties thereto (collectively, the “Lenders”). The Credit Agreement consisted of a $220.0 million term loan (the “Term Loan”) and a $200.0 million revolving credit facility (“Revolving Credit Facility”), whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit for up to the $200.0 million committed amount. The Credit Agreement contained an accordion feature that would allow us to increase the Term Loan or the borrowing capacity under the Revolving Credit Facility by up to $75.0 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;text-indent:36pt;margin:0pt;">On January 15, 2021, we entered into the Second Amended and Restated Credit Agreement with the Administrative Agent and the Lenders, amending and restating our Credit Agreement to increase the Term Loan by $400.0 million to an aggregate principal amount of $592.5 million and to extend the maturity date of the Credit Agreement from July 9, 2023 to January 15, 2026. The proceeds from the additional borrowings under the Second Amended and Restated Credit Agreement were used to finance the acquisition of FIH.</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”) with Administrative Agent and the Lenders that increased the Term Loan by $439.5 million to an aggregate principal amount of $945.0 million (as amended, the “New Term Loan”). The Amended Credit Agreement is scheduled to mature on August 1, 2027.</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;">In addition to the New Term Loan, the Amended Credit Agreement increased the existing $200.0 million Revolving Credit Facility, whereby the Lenders agreed to make loans on a revolving basis from time to time and to issue letters of credit, to $325.0 million. At December 31, 2023, commercial letters of credit outstanding were $51.6 million. There were no outstanding borrowings under the Revolving Credit Facility, and available borrowing capacity was $273.4 million at December 31, 2023.</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 Amended Credit Agreement, we must make quarterly principal payments on the New Term Loan in an amount equal to approximately $11.8 million, with the balance due on August 1, 2027. The proceeds from the New Term Loan and additional borrowings under the Revolving Credit Facility were used to finance the acquisition of PLH.</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 capitalized $6.5 million of debt issuance costs during 2022 associated with the Amended Credit Agreement that is being amortized as interest expense over the life of the Amended Credit Agreement. In addition, we recorded a loss on extinguishment of debt during 2022 of $0.8 million related to the Amended Credit Agreement.</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 principal amount of all loans under the Amended Credit Agreement will bear interest at either: (i) the Secured Overnight Financing Rate (“SOFR”) plus an applicable margin as specified in the Amended Credit Agreement (based on our net senior debt to earnings before interest, taxes, depreciation and amortization (“EBITDA”) ratio as defined in the Amended Credit Agreement), or (ii) the Base Rate (which is the greater of (a) the Federal Funds Rate plus 0.50% or (b) the prime rate as announced by the Administrative Agent) plus an applicable margin as specified in the Amended Credit Agreement. Quarterly non-use fees, letter of credit fees and administrative agent fees are payable at rates specified in the Amended Credit Agreement.</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 principal amount of any loan drawn under the Amended Credit Agreement may be prepaid in whole or in part at any time, with a minimum prepayment of $5.0 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;text-indent:36pt;margin:0pt;">Loans made under the Amended Credit Agreement are secured by our assets, including, among others, our cash, inventory, equipment (excluding equipment subject to permitted liens), and accounts receivable. Certain subsidiaries have issued joint and several guaranties in favor of the Lenders for all amounts under the Amended Credit Agreement.</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.</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 were in compliance with the covenants for the Amended Credit Agreement at December 31, 2023.</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;">On September 13, 2018, 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 75% of the debt outstanding under our Term Loan from variable LIBOR to a fixed rate of 2.89% per annum, in each case plus an applicable margin. The interest rate swap matured on July 10, 2023. See Note 10 – “<i style="font-style:italic;">Derivative Instruments</i>”.</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;">On January 31, 2023, we entered into a second 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 New Term Loan from variable to a fixed rate of 4.095% per annum, plus an applicable margin which was 2.25% at December 31, 2023. The interest rate swap matures on January 31, 2025. See Note 10 – “<i style="font-style:italic;">Derivative Instruments</i>”.</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;">Canadian Credit Facilities</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;">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. At December 31, 2023, commercial letters of credit outstanding were $0.9 million in Canadian dollars and there were no outstanding borrowings. Available capacity at December 31, 2023, was $13.1 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 at December 31, 2023 (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:73.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: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:2.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><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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: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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:73.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 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-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.6%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:11.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:73.79%;margin:0pt;padding:0pt;"><p style="font-family:'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.02%;margin:0pt;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.6%;border-bottom:1px solid #000000;margin:0pt;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.02%;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:11.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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 933,188</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.53%;margin: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.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: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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 100,000</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.53%;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><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: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:9.5%;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;"> 98,064</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom: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;"> 20,483</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;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,151,735</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom: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,283)</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.53%;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><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:2.02%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,143,452</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.53%;border-bottom: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><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:2.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (78,137)</p></td></tr><tr><td style="vertical-align:bottom;width:73.79%;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.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:2.07%;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.53%;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><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:2.02%;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.5%;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;"> 1,065,315</p></td></tr></table> 874128000 933188000 100000000 71004000 98064000 19615000 20483000 964747000 1151735000 6475000 8283000 958272000 1143452000 72903000 78137000 885369000 1065315000 0.068 0.062 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Scheduled maturities of long-term debt 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:84.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:2.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:84.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.52%;margin:0pt;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.04%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ending</b></p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;margin:0pt;padding:0pt;"><p style="font-family:'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.52%;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.04%;border-bottom:1px solid #000000;margin:0pt;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:84.43%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:11.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;"> 72,903</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.86%;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 75,545</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 65,847</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.86%;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:11.17%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 734,485</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;text-align:right;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> 8,847</p></td></tr><tr><td style="vertical-align:bottom;width:84.43%;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.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:1.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;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.17%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 7,120</p></td></tr><tr><td style="vertical-align:bottom;width:84.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:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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: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.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;"> 964,747</p></td></tr></table> 72903000 75545000 65847000 734485000 8847000 7120000 964747000 0.0160 0.0628 0.0421 0.0450 220000000.0 200000000.0 200000000.0 75000000.0 400000000.0 592500000 439500000 945000000.0 200000000.0 325000000.0 51600000 0 273400000 11800000 6500000 -800000 0.0050 5000000.0 0.20 0.75 0.0289 300000000.0 0.04095 0.0225 14000000.0 900000 0 13100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 10 — 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;text-indent:40.3pt;margin:0pt;">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 September 13, 2018, with an initial notional amount of $165.0 million. The notional amount of the swap was adjusted down each quarter by a portion of the required principal payments made on the Term Loan. On January 31, 2023, we entered into a second interest rate swap agreement with a notional amount of $300.0 million. Neither swap was designated as a hedge for accounting purposes. The swaps effectively change 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 December 31, 2023, and December 31, 2022, our outstanding interest rate swap agreements contained a notional amount of $300.0 million and $121.7 million, respectively, with $115.5 million that matured on July 10, 2023, and $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 Consolidated Balance Sheets (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:32.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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.36%;margin:0pt;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.44%;margin:0pt;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;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;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.5%;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.44%;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.36%;border-bottom:1px solid #000000;margin:0pt;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.44%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.5%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.36%;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_8_Ga1dXcbEySzKp_UcEiIQ;"><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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:32.5%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_uZWDCoSSxUeFxucMiwRdng;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 1,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> —</p></td></tr></table><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:40.5pt;margin:0pt;">The following table summarizes the amounts recognized with respect to our derivative instruments within the Consolidated Statements of Income (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:22.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:26.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: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:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:2.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: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:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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-weight:bold;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;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.57%;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:12.37%;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.45%;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.58%;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:13.44%;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.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-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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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;">Location of Gain</b></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;text-align:center;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:47.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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;">Recognized on Derivatives</b></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;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.95%;border-bottom:1px solid #000000;margin:0pt;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.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;">    </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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:22.8%;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.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:26.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_zrRJDD-L6kmLkWMViBCvUA;"><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.38%;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.57%;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:12.37%;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;"> 5,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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:13.44%;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,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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:11.82%;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</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:40.5pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 0 165000000.0 300000000.0 300000000.0 121700000 115500000 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 Consolidated Balance Sheets (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:32.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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.36%;margin:0pt;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.44%;margin:0pt;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;">December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;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.5%;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.44%;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.36%;border-bottom:1px solid #000000;margin:0pt;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.44%;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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;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;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:32.5%;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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.36%;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_8_Ga1dXcbEySzKp_UcEiIQ;"><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.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 1,235</p></td></tr><tr><td style="vertical-align:bottom;width:32.5%;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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="-sec-ix-hidden:Hidden_uZWDCoSSxUeFxucMiwRdng;"><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.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> 1,633</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.44%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"> —</p></td></tr></table> 1235000 1633000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:40.5pt;margin:0pt;">The following table summarizes the amounts recognized with respect to our derivative instruments within the Consolidated Statements of Income (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:22.8%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width: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:26.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: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:1.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:2.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: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:13.44%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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: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:11.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></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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-weight:bold;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;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.57%;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:12.37%;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.45%;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.58%;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:13.44%;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.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-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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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;">Location of Gain</b></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;text-align:center;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:47.3%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:22.8%;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.06%;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:26.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;">Recognized on Derivatives</b></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;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.95%;border-bottom:1px solid #000000;margin:0pt;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.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;">    </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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.41%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:22.8%;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.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:26.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="-sec-ix-hidden:Hidden_zrRJDD-L6kmLkWMViBCvUA;"><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.38%;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.57%;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:12.37%;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;"> 5,335</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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:13.44%;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,078</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.58%;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:11.82%;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</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:40.5pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> -5335000 -4078000 -838000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 11—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 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 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 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">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 0pt 6pt 0pt;">The components of operating 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:51.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:3.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:3.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:3.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:51.68%;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:3.11%;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="8" style="vertical-align:bottom;white-space:nowrap;width:45.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.68%;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:3.11%;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.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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.68%;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:3.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.37%;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;"> 112,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.37%;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;"> 76,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.34%;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;"> 80,974</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;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 0pt 6pt 0pt;">Our operating lease liabilities are reported on the Consolidated Balance Sheet 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.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: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.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: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.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></tr><tr><td style="vertical-align:bottom;width:62.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 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.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;">December 31, </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.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;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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.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;">2023</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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;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_pr4XtPUKUEyVozqISDdG6g;"><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.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;"> 96,411</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.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;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;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.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 3.6pt 0pt 0pt;"> 263,454</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.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 3.6pt 0pt 0pt;"> 130,787</p></td></tr><tr><td style="vertical-align:bottom;width:62.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: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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 359,865</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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 203,352</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">The future minimum lease payments under non-cancelable operating leases are 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:80.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:3.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:80.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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Future Minimum</b></p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Lease Payments</b></p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.23%;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;"> 112,768</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,001</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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;"> 80,453</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,703</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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;"> 37,136</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;border-bottom: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;"> 24,501</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.23%;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;"> 406,562</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,697)</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;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="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Other information related to operating leases is as follows (in thousands, except lease term and discount rate):</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;white-space:nowrap;width:63.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.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.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:12.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:13.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.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.91%;margin:0pt;padding:0pt;"><p style="font-family:'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:33.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.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.91%;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.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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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.04%;border-bottom:1px solid #000000;margin:0pt;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;white-space:nowrap;width:63.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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;visibility:hidden;">​</span></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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.47%;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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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;visibility:hidden;">​</span></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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Operating cash flows from operating leases</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin:0pt;padding:0pt;"><p 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.47%;margin: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,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin:0pt;padding:0pt;"><p 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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,313</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term on operating leases (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.47%;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.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:13.87%;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.07</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate on operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.47%;margin: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.64%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:13.87%;margin: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.71%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;min-height:0.0pt;margin:0pt;"><span style="font-size:0pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:1pt;text-indent:36pt;margin:0pt;">.</p><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><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><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><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><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><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;">Sale and Leaseback Transaction</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;">On June 22, 2022, we completed a sale and leaseback transaction of land and buildings located in Carson, California for an aggregate sales price, net of closing costs, of $49.9 million. Under the transaction, the land, buildings and improvements were sold and leased back for an initial term of <span style="-sec-ix-hidden:Hidden_fbWP2w3t1U2yiO_XjbHwmA;"><span style="font-family:'Times New Roman','Times','serif';font-size:10pt;font-style:normal;font-weight:normal;">three years</span></span>. The aggregate initial annual rent payment for the property is approximately $1.2 million and includes annual rent increases of 3.0% over the initial lease term. The property qualified for sale and leaseback treatment and is classified as an operating lease. Therefore, we recorded a gain on the transaction of $40.1 million. The gain is included in Gain on sale and leaseback transaction on our Consolidated Statements of Income for the year ended December 31, 2022.</p> true P5Y <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">The components of operating 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:51.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:3.11%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:3.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:3.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.34%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:51.68%;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:3.11%;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="8" style="vertical-align:bottom;white-space:nowrap;width:45.19%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:51.68%;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:3.11%;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.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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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.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;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.68%;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:3.11%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.37%;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;"> 112,170</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.37%;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;"> 76,761</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.63%;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;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.27%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.34%;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;"> 80,974</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> 112170000 76761000 80974000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt 0pt 6pt 0pt;">Our operating lease liabilities are reported on the Consolidated Balance Sheet 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.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: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.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: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.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></tr><tr><td style="vertical-align:bottom;width:62.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 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.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;">December 31, </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.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;">December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td 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.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;">2023</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.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;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_pr4XtPUKUEyVozqISDdG6g;"><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.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;"> 96,411</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.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;"> 72,565</p></td></tr><tr><td style="vertical-align:bottom;width:62.82%;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.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 3.6pt 0pt 0pt;"> 263,454</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.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 3.6pt 0pt 0pt;"> 130,787</p></td></tr><tr><td style="vertical-align:bottom;width:62.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: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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 359,865</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.7%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 203,352</p></td></tr></table> 96411000 72565000 263454000 130787000 359865000 203352000 <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:80.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:3.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:80.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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.81%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Future Minimum</b></p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:15.81%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Lease Payments</b></p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">2024</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.23%;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;"> 112,768</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 91,001</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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;"> 80,453</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 60,703</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.23%;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;"> 37,136</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:80.68%;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:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;border-bottom: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;"> 24,501</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Total lease payments</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.23%;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;"> 406,562</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Less imputed interest</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (46,697)</p></td></tr><tr><td style="vertical-align:bottom;width:80.68%;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:3.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.57%;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.23%;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> 112768000 91001000 80453000 60703000 37136000 24501000 406562000 46697000 359865000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Other information related to operating leases is as follows (in thousands, except lease term and discount rate):</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;white-space:nowrap;width:63.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.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.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:12.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:13.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:63.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.91%;margin:0pt;padding:0pt;"><p style="font-family:'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:33.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:63.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.91%;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.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;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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.04%;border-bottom:1px solid #000000;margin:0pt;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;white-space:nowrap;width:63.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Cash paid for amounts included in the measurement of lease liabilities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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;visibility:hidden;">​</span></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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.47%;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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;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;visibility:hidden;">​</span></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="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:13.87%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="white-space:pre-wrap;"> Operating cash flows from operating leases</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin:0pt;padding:0pt;"><p 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.47%;margin: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,430</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin:0pt;padding:0pt;"><p 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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 76,313</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average remaining lease term on operating leases (years)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.47%;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.44</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:13.87%;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.07</p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:63.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted-average discount rate on operating leases</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.47%;margin: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.64%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:13.87%;margin: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.71%</p></td></tr></table> 109430000 76313000 P4Y5M8D P4Y25D 0.0564 0.0371 49900000 1200000 0.030 40100000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 12—Commitments and Contingencies</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;"><i style="font-style:italic;">Legal proceedings</i>—We are subject to claims and legal proceedings arising out of our business. We record costs related to contingencies when a loss from such claims is probable and the amount is reasonably estimable. In determining whether it is possible to provide an estimate of 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 reasonably estimable, we do not accrue for a potential litigation loss.</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; however, after review and consultation with counsel and taking into consideration relevant insurance coverage and related deductibles/self-insurance retention, management believes that it has meritorious defenses to the claims and believes that the reasonably possible outcome of such claims will not, individually or in the aggregate, have a materially 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="font-size:6pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><i style="font-style:italic;">Bonding</i>—As of December 31, 2023 and 2022, we had bid and completion bonds issued and outstanding totaling approximately $5.9 billion and $4.3 billion, respectively. The remaining performance obligation on those bonded projects totaled approximately $2.7 billion and $1.7 billion, respectively.</p> 5900000000 4300000000 2700000000 1700000000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 13—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;">Through the end of 2022, we segregated our business into three reportable segments: the Utilities segment, the Energy/Renewables segment, and the Pipeline segment. In the first quarter of 2023, we changed our reportable segments in connection with the realignment of our internal organization and management structure. The segment changes reflect the focus of our CODM on the range of services we provide to our end user markets. Our CODM regularly reviews our operating and financial performance based on these new segments.</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 current reportable segments include the Utilities segment and the Energy segment, which is made up of our former Energy/Renewables and Pipeline segments.</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 the reportable segments:</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 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 in Canada and specializes in a range of services that include engineering, procurement, and construction, retrofits, 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;">All intersegment revenue and gross profit, which was immaterial, has been eliminated in the following tables. Total assets by segment is not presented as our CODM as defined by ASC 280 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="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;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;">Revenue by segment for the years ended December 31, 2023, 2022 and 2021 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:14.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.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.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:11.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:2.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:1.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: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:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'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="14" style="vertical-align:bottom;white-space:nowrap;width:82.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;">For the year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.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><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.8%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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: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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;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:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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: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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;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:14.63%;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.62%;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.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:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;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:2.61%;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.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;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:2.52%;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.59%;border-bottom:1px solid #000000;margin:0pt;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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 2,380,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">41.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.87%;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,024,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">45.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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,657,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;">47.4%</p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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;"> 3,335,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom: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.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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.87%;border-bottom: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;"> 2,396,292</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom: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.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;border-bottom: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,839,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">52.6%</p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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;"> 5,715,309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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.87%;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;"> 4,420,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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%;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;"> 3,497,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</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="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;text-indent:36pt;margin:0pt;"><span style="font-size:9.5pt;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 for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;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:17.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:2.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.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:11.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:2.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:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:11.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:2.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:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:2.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:8.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></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="14" style="vertical-align:bottom;white-space:nowrap;width:79.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;">For the year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.63%;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.76%;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:8.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;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;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.28%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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:8.62%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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.28%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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:8.62%;border-bottom:1px solid #000000;margin:0pt;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:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;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:2.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:8.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></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 206,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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;">8.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 210,672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 186,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.54%;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></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;border-bottom: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;"> 380,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;border-bottom: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;"> 246,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:11.24%;border-bottom: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;"> 230,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;margin: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.5%</p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;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:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 587,491</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 456,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 416,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.54%;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.9%</p></td></tr></table><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;">Geographic Region — Revenue and Total Assets</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-size:9.5pt;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;">The majority of our revenue is derived from customers in the United States with approximately 5.8%, 6.7% and 4.5% generated from sources outside of the United States, principally Canada, for the years ended December 31, 2023, 2022 and 2021, respectively. At December 31, 2023 and 2022, approximately 3.9% and 4.2%, respectively of total assets were located outside of the United States.</p> 3 <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;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;">Revenue by segment for the years ended December 31, 2023, 2022 and 2021 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:14.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:11.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.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:11.87%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:2.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:1.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: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:2.61%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'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="14" style="vertical-align:bottom;white-space:nowrap;width:82.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;">For the year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.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><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.8%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'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:25.95%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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: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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;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:14.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;margin:0pt;padding:0pt;"><p style="font-family:'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.88%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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.87%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'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: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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;margin:0pt;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:14.63%;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.62%;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.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:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;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:2.61%;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.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;">Revenue</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom:1px solid #000000;margin:0pt;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:2.52%;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.59%;border-bottom:1px solid #000000;margin:0pt;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:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.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;">Revenue</b></p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 2,380,230</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">41.6%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.87%;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,024,307</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">45.8%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;background:#cceeff;margin:0pt;padding:0pt;"><p 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%;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,657,957</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;">47.4%</p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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;"> 3,335,079</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom: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.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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.87%;border-bottom: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;"> 2,396,292</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.71%;border-bottom: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.2%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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%;border-bottom: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,839,675</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.73%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">52.6%</p></td></tr><tr><td style="vertical-align:bottom;width:14.63%;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:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.6%;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.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;"> 5,715,309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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.87%;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;"> 4,420,599</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.71%;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;">100.0%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.52%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.59%;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%;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;"> 3,497,632</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.61%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.73%;background:#cceeff;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;">100.0%</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="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;text-indent:36pt;margin:0pt;"><span style="font-size:9.5pt;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 for the years ended December 31, 2023, 2022 and 2021 was as follows (in thousands):</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:9.5pt;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:17.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:2.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.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:11.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:2.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:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.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:11.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:2.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:8.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:11.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:2.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:8.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></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="14" style="vertical-align:bottom;white-space:nowrap;width:79.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;">For the year ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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 colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="4" style="vertical-align:bottom;white-space:nowrap;width:24.58%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.63%;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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.76%;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:8.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;">% of</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;margin:0pt;padding:0pt;"><p style="font-family:'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.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.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.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;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.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:8.62%;margin:0pt;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:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.03%;margin:0pt;padding:0pt;"><p style="font-family:'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.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;">Segment</b></p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;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.28%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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:8.62%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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.28%;border-bottom:1px solid #000000;margin:0pt;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:2.76%;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:8.62%;border-bottom:1px solid #000000;margin:0pt;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:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:13.28%;border-bottom:1px solid #000000;margin:0pt;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:2.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:8.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></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 206,992</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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;">8.7%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 210,672</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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.4%</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.24%;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;"> 186,287</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.54%;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></tr><tr><td style="vertical-align:bottom;width:17.92%;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.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;border-bottom: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;"> 380,499</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;border-bottom: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;"> 246,213</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.62%;margin: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><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:11.24%;border-bottom: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;"> 230,373</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.54%;margin: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.5%</p></td></tr><tr><td style="vertical-align:bottom;width:17.92%;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:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 587,491</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 456,885</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.62%;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><td style="vertical-align:bottom;white-space:nowrap;width:2.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.03%;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.24%;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;"> 416,660</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.76%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.54%;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.9%</p></td></tr></table> 2380230000 0.00416 2024307000 0.00458 1657957000 0.00474 3335079000 0.00584 2396292000 0.00542 1839675000 0.00526 5715309000 0.01000 4420599000 0.01000 3497632000 0.01000 206992000 0.00087 210672000 0.00104 186287000 0.00112 380499000 0.00114 246213000 0.00103 230373000 0.00125 587491000 0.00103 456885000 0.00103 416660000 0.00119 0.058 0.067 0.045 0.039 0.042 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 14 — Multiemployer Plans</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;"><span style="font-style:italic;font-weight:bold;">Union Plans</span><b style="font-weight:bold;">—</b><span style="white-space:pre-wrap;">Various subsidiaries are signatories to collective bargaining agreements. These agreements require that we participate in and contribute to a number of multiemployer benefit plans for our union employees at rates determined by the agreements. The trustees for each multiemployer plan determine the eligibility and allocations of contributions and benefit amounts, determine the types of benefits and administer the 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;margin:0pt;">We contributed $62.2 million, $46.2 million, and $39.7 million, to multiemployer pension plans for the years ended December 31, 2023, 2022 and 2021, respectively. These costs were charged to the related construction contracts in process. Contributions during 2023 were higher than 2022 as a result of a greater number of man-hours worked by our union labor and the acquisition of PLH.<span style="font-size:12pt;"> </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;">The financial risks of participating in multiemployer plans are different from single-employer plans in the following respects:</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:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:49.5pt;"></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;">Assets contributed to the multiemployer plan by one employer may be used to provide benefits to employees of other participating employers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:6pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:49.5pt;"></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;">If a participating employer stops contributing to the plan, the unfunded obligations of the plan may be borne by the remaining participating employers.</span></td></tr></table><table style="border-collapse:collapse;font-family:'Times New Roman','Times','serif';font-size:10pt;margin-bottom:0pt;margin-top:0pt;table-layout:fixed;width:100%;border:0pt;"><tr><td style="width:49.5pt;"></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;">If a participating employer chooses to stop participating in the plan, a withdrawal liability may be created based on the unfunded vested benefits for all employees in the plan.</span></td></tr></table><div style="margin-top:6pt;"></div><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Under U.S. legislation regarding multiemployer pension plans, an employer is required to pay an amount that represents its proportionate share of a plan’s unfunded vested benefits in the event of withdrawal from a plan or upon plan termination.</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;margin:0pt;"><span style="display:inline-block;text-indent:0pt;width:36pt;"></span>We participate in a number of multiemployer pension plans, and our potential withdrawal obligation may be significant. Any withdrawal liability would be recorded when it is probable that a liability exists and can be reasonably estimated, in accordance with GAAP. We have no plans to withdraw from any labor agreements.</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;">During the last three years, we made annual contributions to 50 pension plans. Based upon the most recent and available plan financial information, we made contributions to the Construction Laborers Pension Trust for Southern California, the Pipeline Industry Benefit Fund, the Southern California Pipe Trades Trust Funds and the Minnesota Laborers Pension Fund that represented more than 5% of the plan’s total contributions for the 2023 plan year. None of the other significant pension plans we contributed to below listed us in the plan’s Form 5500 as providing more than 5% of the plan’s total contributions during the years ended December 31, 2023, 2022 and 2021.</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Our participation in significant plans for the years ended December 31, 2023, 2022 and 2021 is outlined in the table below. The “EIN/Pension Plan Number” column provides the Employer Identification Number (“EIN”) and the three digit plan number. The “Zone Status” is based on the latest information that we received from the plan and is certified by the plan’s actuary. Among other factors, plans in the red zone are generally less than 65 percent funded, plans in the yellow zone are less than 80 percent funded, and plans in the green zone are at least 80 percent funded. The “FIP/RP Status Pending/Implemented” column indicates plans for which a financial improvement plan (“FIP”) or a rehabilitation plan (“RP”) is either pending or has been implemented. The “Surcharge Imposed” column includes plans in a red zone status that require a payment of a surcharge in excess of regular contributions. The next column lists the expiration date of our collective bargaining agreement related to the plan.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Collective</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">FIP/RP</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Bargaining</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">EIN /</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Protection Act</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Status</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Agreement</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:16.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contributions of the Company</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Plan</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Zone Status</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pending /</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Surcharge</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:16.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">Pension Fund Name</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;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:6pt;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:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Implemented</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Imposed</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Central Pension Fund of the International Union of Operating Engineers and Participating Employers</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">36-6052390/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of<br/>January 31, 2023</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of<br/>January 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/4/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 6,150</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,592</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Laborers Pension Trust Fund for Northern California</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">94-6277608/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of May 31, 2023</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of May 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2027</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,198</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,699</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,943</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Construction Laborers Pension Trust for Southern California</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">43-6159056/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,162</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,595</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Operating Engineer Trust Funds</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">95-6032478/001</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;">Yellow as of June 30, 2023</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;">Yellow as of June 30, 2022</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2025</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,856</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 1,973</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 1,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Pipeline Industry Benefit Fund</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">73-6146433/001</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/1/2023</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,363</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 495</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Southern California Pipe Trades Trust Funds</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">51-6108443/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">8/31/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,290</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,268</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Minnesota Laborers Pension Fund</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">41-6159599/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/1/2025</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,579</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,749</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,299</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.23%;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:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;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:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;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:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Contributions to significant plans</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 33,598</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 22,371</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 21,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Contributions to other multiemployer plans</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 28,637</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 23,792</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 18,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Total contributions made</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 62,235</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 46,163</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 39,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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> 62200000 46200000 39700000 50 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;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:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Collective</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;font-weight:bold;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">FIP/RP</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Bargaining</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">EIN /</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.4%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Protection Act</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Status</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Agreement</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:16.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Contributions of the Company</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pension Plan</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="3" style="vertical-align:bottom;white-space:nowrap;width:23.4%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;"> Zone Status</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Pending /</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Surcharge</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Expiration</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td colspan="8" style="vertical-align:bottom;white-space:nowrap;width:16.59%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">(In Thousands)</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><b style="font-weight:bold;">Pension Fund Name</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Number</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;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:6pt;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:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Implemented</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Imposed</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Date</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</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:6pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="2" style="vertical-align:bottom;white-space:nowrap;width:4.7%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"><b style="font-weight:bold;"> </b></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Central Pension Fund of the International Union of Operating Engineers and Participating Employers</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">36-6052390/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of<br/>January 31, 2023</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of<br/>January 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/4/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 6,150</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,592</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,985</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Laborers Pension Trust Fund for Northern California</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">94-6277608/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of May 31, 2023</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of May 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2027</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,198</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,699</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,943</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Construction Laborers Pension Trust for Southern California</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">43-6159056/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 5,162</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,595</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,254</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Operating Engineer Trust Funds</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">95-6032478/001</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;">Yellow as of June 30, 2023</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;"><span style="white-space:pre-wrap;">Yellow as of June 30, 2022</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/30/2025</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,856</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 1,973</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 1,794</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Pipeline Industry Benefit Fund</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">73-6146433/001</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/1/2023</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,363</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 495</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 496</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Southern California Pipe Trades Trust Funds</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">51-6108443/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">8/31/2026</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 4,290</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,268</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,456</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;"><span style="font-size:6pt;margin-left:0pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:11.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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt 0pt 0pt 12pt;">Minnesota Laborers Pension Fund</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">41-6159599/001</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2022</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;width:11.45%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">Green as of December 31, 2021</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">No</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:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:center;margin:0pt;">6/1/2025</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,579</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,749</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 3,299</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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:1.23%;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:10.71%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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:11.45%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;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:7%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></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;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:5.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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:5.91%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.23%;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.61%;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:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-family:'Calibri','Helvetica','sans-serif';font-size:11pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.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></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;width:20.89%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Contributions to significant plans</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 33,598</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 22,371</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 21,227</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Contributions to other multiemployer plans</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 28,637</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 23,792</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 18,443</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:7%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.5%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:5.91%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;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="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:25.66%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.18%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:10.71%;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:6pt;visibility:hidden;">​</span></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;margin:0pt;"><span style="font-size:6pt;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:center;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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:6pt;margin:0pt;"> </p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:20.89%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">Total contributions made</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 62,235</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 46,163</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;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.61%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;margin:0pt;">$</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.09%;border-bottom:3px double #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:6pt;text-align:right;margin:0pt 1.8pt 0pt 0pt;"> 39,670</p></td><td style="vertical-align:bottom;white-space:nowrap;width:0.3%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:6pt;visibility:hidden;">​</span></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> 6150000 5592000 4985000 5198000 3699000 3943000 5162000 3595000 3254000 4856000 1973000 1794000 4363000 495000 496000 4290000 3268000 3456000 3579000 3749000 3299000 33598000 22371000 21227000 28637000 23792000 18443000 62235000 46163000 39670000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 15—Employee Benefit Plans</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;"><span style="font-style:italic;font-weight:bold;">Defined Contribution Plans</span><b style="font-weight:bold;">—</b>We sponsor multiple defined contribution plans for eligible employees not covered by collective bargaining agreements. Our plans include various features such as voluntary employee pre-tax and Roth-based contributions and matching contributions made by us. In addition, at the discretion of our Board of Directors, we may make additional profit share contributions to the plans. No such additional contributions were made during 2021 through 2023. Matching contributions to all defined contribution plans for the years ended December 31, 2023, 2022 and 2021 were $16.4 million, $16.6 million, and $11.6 million, respectively. The increase in matching contributions in 2023 and 2022 is primarily due to an increase in headcount from the PLH acquisition. We have no other post-retirement benefits.</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;">Deferred Compensation Plan</span><b style="font-weight:bold;">—</b>In 2023, we adopted a non-qualified deferred compensation plan under which eligible directors and key employees may defer their receipt of certain cash compensation. This plan is an unfunded and unsecured compensation arrangement. Individuals participating in the plan may allocate deferred cash amounts among a group of notional accounts that mirror the gains and losses of various investment alternatives. Generally, participants receive distributions of deferred balances based on predetermined payout schedules or other events.</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 plan covering key employees provides for employer matching contributions for certain officers and employees whose benefits under the 401(k) plan are limited by federal tax law. Contributions vest immediately provided that vesting accelerates upon a change in control or the participant’s death or retirement. Any matching and discretionary employer contributions, whether vested or not, are forfeited upon a participant’s termination of employment for cause or upon the participant engaging in competition with Primoris or any of its affiliates.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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;">As of December 31, 2023, the deferred compensation liability under our deferred compensation plan was $0.3 million, which was included in “Other Long-term Liabilities” in the accompanying Consolidated Balance Sheet. To provide for future obligations related to these deferred compensation plans, we have invested in corporate-owned life insurance (“COLI”) policies covering certain participants in the deferred compensation plans, the underlying investments of which are intended to be aligned with the investment alternatives elected by plan participants. The COLI assets are recorded at their cash surrender value, which is considered their fair market value, and as of December 31, 2023, the fair market was $0.3 million, which was included in “Other Long-term Assets” in the accompanying Consolidated Balance Sheet.</p> 0 0 0 16400000 16600000 11600000 300000 300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 16—Stock-Based Compensation</b></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;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 maintain two equity compensation plans under which stock-based compensation has been granted, the 2013 Equity Plan and the 2023 Equity Plan. Upon the adoption of the 2023 Equity Plan, awards were no longer granted under the 2013 Equity Plan. The 2023 Equity Plan permits the granting of up to 6.5 million shares to executives, directors and certain senior managers. Grants of awards to employees are approved by the Compensation Committee of the Board of Directors and grants to independent members of the Board of Directors are approved by the Board of Directors. As of December 31, 2023, there were 6.2 million shares of common stock remaining available for grant under the 2023 Equity Plan.</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 guidance of ASC 718, “<i style="font-style:italic;">Compensation — Stock Compensation</i>”, stock-based compensation cost is measured at the date of grant, based on the calculated fair value of the stock-based award, and is recognized as expense over the employee’s requisite service period (generally the vesting period of the award). We settle the vesting of RSUs and PSUs through the issuance of new shares of common stock. Forfeitures of stock-based awards are recognized as they occur.</p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;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;"><i style="font-style:italic;">Restricted Stock Units</i></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;"><span style="font-style:italic;visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We grant time-vested stock awards in the form of restricted stock units. The fair value of the RSUs is based on the closing market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the RSUs is amortized using the straight-line method over the service period. Time-vested stock awards granted to eligible employees in 2023 vest 25% in year one, 25% in year two, and 50% in year three. </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 table below presents RSU activity for 2023:</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:57.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;width:3.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:14.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:3.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:4.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:12.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:57.21%;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;">Nonvested RSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value per Unit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;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,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.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:12.62%;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;"> 27.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;width:3.84%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 355,644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (232,319)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;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;"> 26.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;width:3.84%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;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;">692,715 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;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;"> 28.14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></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;">During 2022, 269,324 RSUs were granted with a weighted-average grant date fair value per unit of $25.22. The total fair value of RSUs that vested during 2023, 2022 and 2021 was $6.5 million, $4.5 million and $4.6 million, respectively. At December 31, 2023, approximately $10.1 million of unrecognized compensation expense remains for the RSUs, which will be recognized over a weighted average period of 1.92<span style="white-space:pre-wrap;"> years. </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;"><i style="font-style:italic;">Performance Stock Units</i></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;">Shares of our common stock may be earned based on our performance compared to defined metrics. The number of shares earned under a performance award can vary from zero to 200% of the target shares awarded, based upon our performance compared to the metrics. The metrics used for the grant are determined by the Compensation Committee of the Board of Directors and may be either based on internal measures such as our financial performance compared to target or on a market-based metric such as our stock performance compared to a peer group. Performance awards vest over three years based upon attainment of at least the minimum stated performance targets and minimum service requirements. For performance awards, we recognize stock-based compensation expense based on the grant date fair value of the award. The fair value of internal metric-based performance awards is determined by the market price of our common stock on the day prior to the date of the grant. Stock compensation expense for the PSUs is amortized using the straight-line method over the service period. We adjust the stock-based compensation expense related to internal metric-based performance awards according to our determination of the shares expected to vest at each reporting date. Stock-based compensation expense related to market metric-based performance awards is expensed at their grant date fair value regardless of performance.</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 PSU activity for 2023:</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:66.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;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.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:11.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:66.06%;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;">Nonvested PSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p 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.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;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 colspan="2" style="vertical-align:bottom;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value per Unit</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;width:2.99%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin: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,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;width:2.99%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> (59,455)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">334,938 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</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;">At December 31, 2023, approximately $6.6 million of unrecognized compensation expense remains for the PSUs, which will be recognized over a weighted average period of 2.17<span style="white-space:pre-wrap;"> years. </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;"><i style="font-style:italic;">Stock-based Compensation Expense</i></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 years ended December 31, 2023, 2022 and 2021, we recognized $11.8 million, $7.4 million, and $10.5 million, respectively, in compensation expense for both RSUs and PSUs.</p> 6500000 6200000 0.25 0.25 0.50 <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:57.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;width:3.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:14.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:3.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:4.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:12.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:57.21%;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;">Nonvested RSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">    </p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td colspan="2" style="vertical-align:bottom;width:16.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value per Unit</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;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,787</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.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:12.62%;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;"> 27.88</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;width:3.84%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 355,644</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 27.83</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (232,319)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;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;"> 26.91</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></tr><tr><td style="vertical-align:bottom;width:57.21%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;width:3.84%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (35,397)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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:12.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 28.61</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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></tr><tr><td style="vertical-align:bottom;width:57.21%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;width:3.84%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:14.25%;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;">692,715 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.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:4.37%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:12.62%;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;"> 28.14</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.84%;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></tr></table> 604787000 27880 355644000 27830 232319000 26910 35397000 28610 692715000 28140 269324 25.22 6500000 4500000 4600000 10100000 P1Y11M1D 0 2 P3Y <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:66.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;width:2.99%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.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:11.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:66.06%;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;">Nonvested PSUs</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.99%;margin:0pt;padding:0pt;"><p 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.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;">Units</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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 colspan="2" style="vertical-align:bottom;width:15.84%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Weighted Average Grant Date Fair Value per Unit</b></p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2022</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Granted</p></td><td style="vertical-align:bottom;width:2.99%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.05%;margin: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,393</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Vested</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> —</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Forfeited</p></td><td style="vertical-align:bottom;width:2.99%;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;"> (59,455)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</p></td></tr><tr><td style="vertical-align:bottom;width:66.06%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Balance at December 31, 2023</p></td><td style="vertical-align:bottom;width:2.99%;background:#cceeff;margin:0pt;padding:0pt;"><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></td><td style="vertical-align:bottom;white-space:nowrap;width:11.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;">334,938 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:4.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:3.9%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.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;"> 27.50</p></td></tr></table> 0 0 394393 27.50 0 0 59455 27.50 334938 27.50 6600000 P2Y2M1D 11800000 7400000 10500000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 17—Income Taxes</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;">Income before provision for income taxes consists 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="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:62.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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.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: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:9.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.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: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:9.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></tr><tr><td style="vertical-align:bottom;width:62.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:1.85%;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="8" style="vertical-align:bottom;white-space:nowrap;width:35.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.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:1.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 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;">2023</b></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:8pt;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;">2022</b></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:8pt;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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 158,137</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;"><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:9.26%;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;"> 133,564</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;"><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:9.26%;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,307</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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,532</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: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:9.26%;border-bottom: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,722</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: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:9.26%;border-bottom: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;"> 11,550</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 177,669</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 159,286</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 151,857</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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of the provision for income taxes are 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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.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: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:9.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.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: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:9.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></tr><tr><td style="vertical-align:bottom;width:62.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:1.85%;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="8" style="vertical-align:bottom;white-space:nowrap;width:35.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.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:1.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 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;">2023</b></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:8pt;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;">2022</b></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:8pt;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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.26%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.26%;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:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Federal </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;margin: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,337</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: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:9.26%;margin: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,412</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: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:9.26%;margin: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,678</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">State </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 7,124</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;"><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:9.26%;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,117</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;"><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:9.26%;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,471</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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,705</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: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:9.26%;border-bottom: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;"> 4,041</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: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:9.26%;border-bottom: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;"> 2,405</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 22,166</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;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 11,570</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;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 10,554</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred provision (benefit) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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.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: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:9.26%;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.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: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:9.26%;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:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Federal </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 28,634</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;"><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:9.26%;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,645</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;"><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:9.26%;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;"> 22,607</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">State </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;margin: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,412</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: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:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (428)</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: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:9.26%;margin: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,372</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> (688)</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;"><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:9.26%;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;"> 2,478</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;"><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:9.26%;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;"> 585</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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;"> 29,358</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: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:9.26%;border-bottom: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;"> 14,695</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: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:9.26%;border-bottom: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,564</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 51,524</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:1.38%;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.26%;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;"> 26,265</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:1.38%;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.26%;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;"> 36,118</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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;">A reconciliation of income tax expense compared to the amount of income tax expense that would result by applying the U.S. federal statutory income tax rate to pre-tax income is as follows:</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:69.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.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:6.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:2.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:1.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.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></tr><tr><td style="vertical-align:bottom;width:69.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 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="7" style="vertical-align:bottom;white-space:nowrap;width:27.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;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.64%;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:6.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;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.64%;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:7.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. federal statutory income tax rate</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net of federal income tax impact</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.9 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax credits</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(1.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxed at rates greater than U.S.</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nondeductible meals &amp; entertainment</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">3.6 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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.5 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nondeductible compensation</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.7 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.4 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.3 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital loss utilization - release of valuation allowance</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">0.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(5.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other items</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">0.4 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;border-bottom: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;">0.9 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effective tax rate </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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">29.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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;">16.5 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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;">23.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;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 provision for income taxes has been determined based upon the tax laws and rates in the countries in which we operate. Our operations in the United States are subject to federal income tax rates of 21% and varying state income tax rates. Our principal international operations are in Canada. Our subsidiaries in Canada are subject to a corporate income tax rate of 23%. We did not have any non-taxable foreign earnings from tax holidays for taxable years 2020 through 2023.</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;">Deferred taxes are recognized for temporary differences between the financial reporting bases and tax bases of assets and liabilities and are measured using 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.</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 tax effect of temporary differences that give rise to deferred income taxes are 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:75.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: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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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></tr><tr><td style="vertical-align:bottom;width:75.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 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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.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, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.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 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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued compensation</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,685</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued workers compensation </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 3,103</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 2,949</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating losses</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46,843</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Disallowed interest</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 8,227</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 4,439</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liabilities</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,372</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance reserves </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 6,430</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Loss reserves</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,555</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax credits</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 748</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 1,069</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Capitalized research</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,127</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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;"> 315</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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;"> 1,446</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax assets </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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 114,685</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization </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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (130,051)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (119,081)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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,672)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,760)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease assets</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (73,516)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (36,865)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax liabilities</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (207,239)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (158,706)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,206)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,080)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred tax liabilities</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.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;"> (59,565)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.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;"> (57,101)</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;">As of December 31, 2023, we have recorded a deferred tax asset of $41.8 million reflecting the tax benefit of approximately $531.7 million of federal and state income tax net operating loss carryforwards, some of which were acquired in the acquisitions of PLH and other companies. Our tax credits of $0.7 million generally expire between 10 and 20 years after they are generated. Our U.S. federal net operating losses expire beginning in 2031, and our state net operating losses generally expire 20 years after the period in which the losses were 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;">The valuation allowances for deferred income tax assets at December 31, 2023 and 2022 were $10.2 million and $13.1 million, respectively. The $2.9 million decrease in valuation allowances during 2023 was primarily due to finalizing the fair value of acquired PLH state net operating losses in the second quarter of 2023. These remaining valuation allowances primarily relate to state net operating loss carryforwards established due to uncertainty in Primoris’ outlook as to the amount of future taxable income required in particular tax jurisdictions in order to utilize certain tax losses, considering also the tax regulations which limit the annual utilization of acquired losses. Primoris believes it is more likely than not that it will realize the benefit of its deferred tax assets net of existing valuation allowances. </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0.05pt 0pt 0pt 0pt;"><span style="visibility:hidden;">​</span></p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A reconciliation of the beginning, ending and aggregate changes in the gross balances of unrecognized tax benefits is 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:63.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:7.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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="8" style="vertical-align:bottom;white-space:nowrap;width:33.8%;border-bottom:1px solid #000000;margin:0pt;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.63%;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.56%;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:9.58%;border-bottom:1px solid #000000;margin:0pt;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.55%;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:9.57%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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:9.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 10,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 1,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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,553</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Increases in balances for tax positions taken during the current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 288</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">(Decreases) increases in balances for tax positions taken during prior years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (687)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 9,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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;"> 83</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Settlements and effective settlements with tax authorities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (416)</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lapse of statute of limitations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;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:7.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:7.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (465)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:7.64%;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;"> (171)</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;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.67%;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;"> 9,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.67%;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;"> 10,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.64%;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,337</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;">We recognize accrued interest and penalties related to uncertain tax positions in income tax expense, which were not material for the three years presented. </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 believe it is reasonably possible that decreases of up to $0.3 million of unrecognized tax benefits could occur in the next twelve months due to the expiration of statutes of limitation and settlements with tax authorities.</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:0.05pt 0pt 0pt 0pt;">Our 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;text-indent:36pt;margin:0.05pt 0pt 0pt 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 March 27, 2020, the Coronavirus Aid, Relief, and Economic Security Act (“CARES Act”) was enacted by the US Government in response to the COVID-19 pandemic. We deferred approximately $42.0 million of FICA tax payments during part of 2020 as allowed under the CARES Act. The unpaid deferral was $21.7 million at December 31, 2022, and was included in Accrued liabilities on our Consolidated Balance Sheet. We paid all remaining payments to the U.S. Treasury on January 3, 2023.</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;">ASU No. 2013-11, "Income Taxes (Topic 740) Presentation of an Unrecognized Tax Benefit When a Net Operating Loss Carryforward, a Similar Tax Loss, or a Tax Credit Carryforward Exists”, requires certain unrecognized tax benefits to be shown as a reduction to another asset or liability. Accordingly, this resulted in a decrease to the December 31, 2022, income tax receivable of $6.3<span style="white-space:pre-wrap;"> million. </span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Income before provision for income taxes consists 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="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:62.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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.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: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:9.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.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: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:9.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></tr><tr><td style="vertical-align:bottom;width:62.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:1.85%;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="8" style="vertical-align:bottom;white-space:nowrap;width:35.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.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:1.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 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;">2023</b></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:8pt;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;">2022</b></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:8pt;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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">United States</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 158,137</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;"><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:9.26%;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;"> 133,564</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;"><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:9.26%;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,307</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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,532</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: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:9.26%;border-bottom: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,722</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: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:9.26%;border-bottom: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;"> 11,550</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;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:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 177,669</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 159,286</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 151,857</p></td></tr></table> 158137000 133564000 140307000 19532000 25722000 11550000 177669000 159286000 151857000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The components of the provision for income taxes are 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;margin-left:auto;margin-right:auto;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.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.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: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:9.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.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: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:9.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></tr><tr><td style="vertical-align:bottom;width:62.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:1.85%;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="8" style="vertical-align:bottom;white-space:nowrap;width:35.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:62.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:1.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 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;">2023</b></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:8pt;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;">2022</b></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:8pt;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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Current provision</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.26%;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.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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:9.26%;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:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Federal </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;margin: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,337</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: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:9.26%;margin: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,412</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: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:9.26%;margin: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,678</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">State </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 7,124</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;"><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:9.26%;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,117</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;"><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:9.26%;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,471</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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,705</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: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:9.26%;border-bottom: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;"> 4,041</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: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:9.26%;border-bottom: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;"> 2,405</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 22,166</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;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 11,570</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;"><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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;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;"> 10,554</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Deferred provision (benefit) </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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.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: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:9.26%;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.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: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:9.26%;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:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Federal </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> 28,634</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;"><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:9.26%;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,645</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;"><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:9.26%;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;"> 22,607</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">State </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;margin: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,412</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: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:9.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (428)</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: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:9.26%;margin: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,372</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt 0pt 0pt 12pt;">Foreign </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;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;"> (688)</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;"><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:9.26%;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;"> 2,478</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;"><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:9.26%;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;"> 585</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.26%;border-bottom: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;"> 29,358</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: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:9.26%;border-bottom: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;"> 14,695</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: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:9.26%;border-bottom: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,564</p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.86%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:9.26%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:62.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;padding-left:7.2pt;text-indent:-7.2pt;margin:0pt;">Total </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.85%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.38%;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.26%;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;"> 51,524</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:1.38%;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.26%;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;"> 26,265</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:1.38%;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.26%;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;"> 36,118</p></td></tr></table> 11337000 5412000 3678000 7124000 2117000 4471000 3705000 4041000 2405000 22166000 11570000 10554000 28634000 12645000 22607000 1412000 -428000 2372000 -688000 2478000 585000 29358000 14695000 25564000 51524000 26265000 36118000 <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:69.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.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:6.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:2.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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:1.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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.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></tr><tr><td style="vertical-align:bottom;width:69.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 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="7" style="vertical-align:bottom;white-space:nowrap;width:27.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;">Year Ended December 31, </b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.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 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;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;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.64%;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:6.25%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;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.64%;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:7.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">U.S. federal statutory income tax rate</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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;">21.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">State taxes, net of federal income tax impact</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.9 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Tax credits</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(1.9)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1.1)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Income taxed at rates greater than U.S.</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.6</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nondeductible meals &amp; entertainment</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">3.6 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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.5 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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.2 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Nondeductible compensation</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.69%;margin: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.7 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;margin: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.4 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;margin: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.3 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Capital loss utilization - release of valuation allowance</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;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">0.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(5.8)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Other items</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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">0.4 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;border-bottom: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;">0.9 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;">(0.7)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:69.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Effective tax rate </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;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.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;">29.0 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.01%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:6.25%;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;">16.5 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.75%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.16%;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;">23.8 </p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.73%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">%</p></td></tr></table> 0.210 0.210 0.210 0.038 0.008 0.039 0.007 0.019 0.011 0.002 0.006 0.002 0.036 0.005 0.002 0.007 0.004 0.003 0.000 -0.058 0.000 0.004 0.009 -0.007 0.290 0.165 0.238 0.21 0.23 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">The tax effect of temporary differences that give rise to deferred income taxes are 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:75.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: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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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.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:1.62%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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></tr><tr><td style="vertical-align:bottom;width:75.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 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:8pt;margin:0pt;"><b style="font-weight:bold;">    </b></p></td><td colspan="5" style="vertical-align:bottom;white-space:nowrap;width:22.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, </b></p></td></tr><tr><td style="vertical-align:bottom;width:75.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 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 colspan="2" style="vertical-align:bottom;white-space:nowrap;width:10.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2023</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;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.22%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax assets:</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued compensation</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,044</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,685</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Accrued workers compensation </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 3,103</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 2,949</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Net operating losses</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 41,819</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 46,843</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Disallowed interest</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 8,227</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> 4,439</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease liabilities</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,363</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 36,372</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Insurance reserves </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 6,430</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 5,200</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Loss reserves</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,309</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin: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,555</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Tax credits</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 748</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 1,069</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Capitalized research</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,522</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;margin: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,127</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Other</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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;"> 315</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"> </p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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;"> 1,446</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax assets </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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,880</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 114,685</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Deferred tax liabilities </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Depreciation and amortization </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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (130,051)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p 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.59%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (119,081)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Prepaid expenses and other </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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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,672)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (2,760)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lease assets</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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (73,516)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"> (36,865)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;">Total deferred tax liabilities</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (207,239)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (158,706)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;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:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Valuation allowance</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (10,206)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.59%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (13,080)</p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 18pt;"><span style="margin-left:0pt;visibility:hidden;">​</span></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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.2%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:8.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;"><span style="visibility:hidden;">​</span></p></td></tr><tr><td style="vertical-align:bottom;width:75.15%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net deferred tax liabilities</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.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;"> (59,565)</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;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.62%;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.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;"> (57,101)</p></td></tr></table> 12044000 9685000 3103000 2949000 41819000 46843000 8227000 4439000 72363000 36372000 6430000 5200000 1309000 1555000 748000 1069000 11522000 5127000 315000 1446000 157880000 114685000 130051000 119081000 3672000 2760000 73516000 36865000 207239000 158706000 10206000 13080000 59565000 57101000 41800000 531700000 700000 P10Y P20Y P20Y 10200000 13100000 -2900000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">A reconciliation of the beginning, ending and aggregate changes in the gross balances of unrecognized tax benefits is 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:63.63%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:7.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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.55%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="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.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;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="8" style="vertical-align:bottom;white-space:nowrap;width:33.8%;border-bottom:1px solid #000000;margin:0pt;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.63%;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.56%;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:9.58%;border-bottom:1px solid #000000;margin:0pt;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.55%;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:9.57%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;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:9.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;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Beginning balance</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 10,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 1,337</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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,553</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Increases in balances for tax positions taken during the current year</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 120</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;margin:0pt;padding:0pt;"><p 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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 288</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">(Decreases) increases in balances for tax positions taken during prior years</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.67%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (687)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 9,204</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.64%;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;"> 83</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Settlements and effective settlements with tax authorities</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.67%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> —</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (416)</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Lapse of statute of limitations</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.56%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;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:7.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (412)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:7.67%;background:#cceeff;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (465)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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:7.64%;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;"> (171)</p></td></tr><tr><td style="vertical-align:bottom;width:63.63%;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:2.56%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.9%;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.67%;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;"> 9,217</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.67%;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;"> 10,196</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.55%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.89%;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.64%;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,337</p></td></tr></table> 10196000 1337000 1553000 120000 120000 288000 687000 9204000 83000 416000 412000 465000 171000 9217000 10196000 1337000 300000 P3Y P5Y 42000000.0 21700000 6300000 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 18—Dividends and Earnings Per Share</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 have declared cash dividends during 2021, 2022 and 2023 as follows: </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:24.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;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.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;width:3.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;width:24.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;width:3.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;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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.26%;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.41%;border-bottom:1px solid #000000;margin:0pt;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.35%;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.41%;border-bottom:1px solid #000000;margin:0pt;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.35%;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.95%;border-bottom:1px solid #000000;margin:0pt;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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 19, 2021</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2021</p></td><td style="vertical-align:bottom;width:3.22%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2021</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2021</p></td><td style="vertical-align:bottom;width:3.22%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 14, 2022</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2022</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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2022</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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2022</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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2022</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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 13, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;margin: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.26%;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.41%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;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.26%;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.41%;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.35%;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;margin: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.26%;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.41%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;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.26%;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.41%;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.35%;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;margin: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;"><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>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 our Board of Directors.</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 table below presents the computation of basic and diluted earnings per share for the years ended December 31, 2023, 2022 and 2021 (in thousands, except per share amounts):</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:65.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:1.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:1.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:7.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:2.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:1.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:7.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:2.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:1.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:7.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.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:1.25%;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="8" style="vertical-align:bottom;white-space:nowrap;width:33.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.62%;border-bottom:1px solid #000000;margin:0pt;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.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:9.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 126,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 133,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,739</p></td></tr><tr><td style="vertical-align:bottom;width:65.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;white-space:nowrap;width:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.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:7.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;"> 53,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 53,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 52,674</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 926</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 559</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 487</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 54,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 53,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 53,161</p></td></tr><tr><td style="vertical-align:bottom;width:65.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;white-space:nowrap;width:1.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.19</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.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:7.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;"> 2.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 2.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 2.17</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="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:24.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;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.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;width:3.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;width:24.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;width:3.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;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.47%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:24.26%;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.41%;border-bottom:1px solid #000000;margin:0pt;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.35%;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.41%;border-bottom:1px solid #000000;margin:0pt;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.35%;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.95%;border-bottom:1px solid #000000;margin:0pt;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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 19, 2021</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2021</p></td><td style="vertical-align:bottom;width:3.22%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2021</p></td><td style="vertical-align:bottom;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="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;width:24.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2021</p></td><td style="vertical-align:bottom;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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:2.48%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2021</p></td><td style="vertical-align:bottom;width:3.22%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2021</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 14, 2022</p></td><td style="vertical-align:bottom;width:3.35%;margin:0pt;padding:0pt;"><p style="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:2.48%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:14.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">February 24, 2022</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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">March 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">April 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">May 4, 2022</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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">June 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">July 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;margin: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.26%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">August 3, 2022</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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">September 30, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">October 15, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;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.26%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">November 3, 2022</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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">December 31, 2022</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;margin:0pt;padding:0pt;"><p style="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.41%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">January 13, 2023</p></td><td style="vertical-align:bottom;white-space:nowrap;width:3.35%;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.47%;margin: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.26%;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.41%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;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.26%;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.41%;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.35%;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;margin: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.26%;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.41%;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.35%;background:#cceeff;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;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.26%;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.41%;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.35%;margin:0pt;padding:0pt;"><p style="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.41%;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.35%;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.47%;margin: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> 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 0.06 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 years ended December 31, 2023, 2022 and 2021 (in thousands, except per share amounts):</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:65.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:1.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:1.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:7.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:2.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:1.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:7.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:2.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:1.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:7.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></tr><tr><td style="vertical-align:bottom;white-space:nowrap;width:65.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:1.25%;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="8" style="vertical-align:bottom;white-space:nowrap;width:33.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;">Year Ended December 31, </b></p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.62%;border-bottom:1px solid #000000;margin:0pt;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.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:9.62%;border-bottom:1px solid #000000;margin:0pt;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><td style="vertical-align:bottom;white-space:nowrap;width:2.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:9.62%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">2021</b></p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 126,145</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 133,021</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 115,739</p></td></tr><tr><td style="vertical-align:bottom;width:65.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;white-space:nowrap;width:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.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:7.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;"> 53,297</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 53,200</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 52,674</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 926</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 559</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.96%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 487</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 54,223</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 53,759</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;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:7.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 3.6pt 0pt 0pt;"> 53,161</p></td></tr><tr><td style="vertical-align:bottom;width:65.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;white-space:nowrap;width:1.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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.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:1.65%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New 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.96%;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:65.36%;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:1.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.37</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.50</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.65%;margin:0pt;padding:0pt;"><p 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.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.19</p></td></tr><tr><td style="vertical-align:bottom;width:65.36%;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:1.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:1.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:7.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;"> 2.33</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 2.47</p></td><td style="vertical-align:bottom;white-space:nowrap;width:2.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:1.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:7.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;"> 2.17</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> 126145000 133021000 115739000 53297000 53200000 52674000 926000 559000 487000 54223000 53759000 53161000 2.37 2.50 2.19 2.33 2.47 2.17 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 19—Stockholders’ Equity</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 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Preferred Stock</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;">We are authorized to issue 1,000,000 shares of $0.0001 par value preferred stock. No shares of Preferred Stock were outstanding at December 31, 2023 and 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;margin:0pt 0pt 0pt 36pt;"><span style="font-style:italic;font-weight:bold;">Common Stock</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;">We are authorized to issue 90,000,000 shares of $0.0001 par value common stock, of which 53,366,327 and 53,124,899 shares were issued and outstanding as of December 31, 2023 and 2022, 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">We issued 21,245 shares of common stock in 2023, 23,782 shares of common stock in 2022, and 25,987 shares of common stock in 2021 under our LTR Plan. The shares were purchased by the participants in the LTR Plan with payments made to us of $0.3 million in 2023, $0.6 million in 2022, and $0.5 million in 2021. Our LTR Plan for 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 2023, 2022 and 2021 were for bonus amounts earned in 2022, 2021 and 2020 and the number of shares was calculated at 75% of the average closing price for December of the previous 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;">During the years ended December 31, 2023, 2022, and 2021, we issued 39,040, 42,080, and 32,920 shares of common stock, respectively, as part of the quarterly compensation of the non-employee members of the Board of Directors. The shares were fully vested upon issuance and have a one-year trading restriction.</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 years ended December 31, 2023, 2022, and 2021 168,605, 131,709, and 122,690 RSUs, net of forfeitures for tax withholdings, respectively, were converted to 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><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">In connection with the acquisition of FIH, we offered certain FIH employees the option to purchase shares of our common stock at a 15 percent discount of the closing market price of our common stock on the date of the acquisition. During the year ended December 31, 2021, such employees purchased 1,038,309 shares of common stock, net of forfeitures for tax withholdings, with payment made to us of $28.9 million, resulting in the recognition of $5.1 </p><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">million in stock compensation expense included in Transaction and related costs in the Consolidated Statement 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;"><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;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 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. In 2023, 12,538 shares were purchased at an average price of $25.85 per share. In 2022, 9,943 shares were purchased at an average purchase price of $17.44 per share.</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;">Secondary Offering</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 March 2021, we entered into an underwriting agreement with Goldman Sachs &amp; Co. LLC, Morgan Stanley &amp; Co. LLC and UBS Securities LLC, as representatives of the underwriters, in connection with a public offering, pursuant to which we agreed to issue and sell 4,500,000 shares of common stock, par value $.0001 per share. The shares were offered and sold at a public offering price of $35.00 per share. Our gross proceeds of the offering, before deducting underwriting discounts, commissions and offering expenses, were approximately $157.5 million. Our net proceeds were approximately $149.3 million and were used to repay a portion of the borrowings incurred in connection with the acquisition of FIH.</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;">Share 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 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 February 2022, our Board of Directors replenished the limit to $25.0 million. During the year ended December 31, 2023 we did not purchase any shares of common stock. During the year ended December 31, 2022, we purchased and cancelled 277,200 shares of common stock, which in the aggregate equaled $6.0 million at an average share price of $21.61. During the year ended December 31, 2021, we purchased and cancelled 635,763 shares of common stock, which in the aggregate equaled $14.7 million at an average share price of $23.15. In November 2023, the Board of Directors replenished the limit to $25.0 million and extended the program to December 31, 2024.</p> 1000000 1000000 0.0001 0.0001 0 0 90000000 90000000 0.1000 0.1000 53366327 53124899 53124899 21245 23782000 25987000 300000 600000 500000 0.75 0.75 0.75 39040 42080 32920 P1Y 168605 131709 122690 0.15 1038309 28900000 5100000 0.90 P30D P30D 12538 25.85 9943000 17440 4500000 4500000 0.0001 0.0001 35.00 35.00 157500000 157500000 149300000 149300000 25000000.0 25000000.0 277200 6000000.0 21.61 635763 14700000 23.15 25000000.0 <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><b style="font-weight:bold;">Note 20—Selected Quarterly Financial Information (Unaudited)</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;">Selected unaudited quarterly consolidated financial information is presented in the following tables (in thousands, except per share amounts):</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:51.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:47.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">1st</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">2nd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">3rd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">4th</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,256,896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,413,377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,529,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,515,550</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 99,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 156,600</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 39,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 37,659</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;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;">Earnings per share:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.73</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.71</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.69</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,184</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,360</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 54,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 54,385</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:7.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:45.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;">Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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:8.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1st</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">2nd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">3rd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">4th</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 784,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,022,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,284,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,329,139</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 56,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 92,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 153,383</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,674)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 50,154</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 43,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 41,501</p></td></tr><tr><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;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;">Earnings per share:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.78</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.77</p></td></tr><tr><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.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;"> 53,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,263</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,120</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 53,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> <p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-indent:36pt;margin:0pt;">Selected unaudited quarterly consolidated financial information is presented in the following tables (in thousands, except per share amounts):</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:51.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:47.1%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Year Ended December 31, 2023</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">1st</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">2nd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">3rd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">4th</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,256,896</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,413,377</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,529,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,515,550</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 99,732</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 157,264</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 156,600</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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,310</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 39,032</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 48,144</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 37,659</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;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;">Earnings per share:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.73</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.71</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.02</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.72</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.69</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:51.24%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,184</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,301</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,360</p></td></tr><tr><td style="vertical-align:bottom;width:51.24%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,944</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 54,324</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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;"> 54,351</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 54,385</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;padding-left:0pt;padding-right:0pt;width:100%;"><tr style="height:1pt;"><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:7.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:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size: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.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:9.5%;margin:0pt;padding:0pt;"><div style="height:1pt;overflow:hidden;overflow-wrap:break-word;position:relative;"><div style="bottom:0pt;position:absolute;width:100%;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p></div></div></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:45.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;">Year Ended December 31, 2022</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="font-size:8pt;font-weight:bold;visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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:8.99%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">1st</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">2nd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">3rd</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;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.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;">4th</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;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:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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:8.99%;border-bottom:1px solid #000000;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:8pt;text-align:center;margin:0pt;"><b style="font-weight:bold;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'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.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;">Quarter</b></p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Revenue</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 784,384</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,022,948</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,284,128</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,329,139</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Gross profit</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.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;"> 56,486</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 92,109</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,907</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt 3.6pt 0pt 0pt;"> 153,383</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Net (loss) income</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (1,674)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 50,154</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 43,040</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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;"> 41,501</p></td></tr><tr><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;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;">Earnings per share:</b></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.96%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.94</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.81</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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.78</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted (loss) earnings per share</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:right;margin:0pt;"> (0.03)</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.93</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.80</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.77</p></td></tr><tr><td style="vertical-align:bottom;width:52.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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;">Weighted average shares outstanding</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:7.96%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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:52.79%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Basic</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.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;"> 53,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,263</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;margin:0pt;padding:0pt;"><p 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.5%;margin: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,181</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;margin: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,120</p></td></tr><tr><td style="vertical-align:bottom;width:52.79%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt 0pt 0pt 12pt;">Diluted</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.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;"> 53,240</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,852</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.03%;background:#cceeff;margin:0pt;padding:0pt;"><p 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.5%;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,748</p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.64%;background:#cceeff;margin:0pt;padding:0pt;"><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;margin:0pt;"><span style="visibility:hidden;">​</span></p></td><td style="vertical-align:bottom;white-space:nowrap;width:1.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:9.5%;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,711</p></td></tr></table><p style="font-family:'Times New Roman','Times','serif';font-size:10pt;text-align:center;margin:0pt;"><span style="font-size:1pt;visibility:hidden;">​</span></p> 1256896000 1413377000 1529486000 1515550000 99732000 157264000 173895000 156600000 1310000 39032000 48144000 37659000 0.02 0.73 0.90 0.71 0.02 0.72 0.89 0.69 53184000 53301000 53339000 53360000 53944000 54324000 54351000 54385000 784384000 1022948000 1284128000 1329139000 56486000 92109000 154907000 153383000 -1674000 50154000 43040000 41501000 -0.03 0.94 0.81 0.78 -0.03 0.93 0.80 0.77 53240000 53263000 53181000 53120000 53240000 53852000 53748000 53711000

S-=UHC,E MSC9 $+QE"%[9P;Y[/?^[$&S-*FUQ:K;7F*@0F5JY6BEN MYSR (-#K#$.FTF;LL<-#]PDDYS%(;B% C0-WCUY-8 _>Y6R)\! MFBLHS8;H6YZT*N!S=LNPK5QN!@ -K!#@2Z1)^B5 WW74(VK.]V_<_OA2-LBU M/0?D,:'8QPT:'[^22LVI-JT6K)4MV#T''VYFG;T'S(QL9&:D.8Y.$R2)XAP( MM2C.\8$6QJ]0.\-+6H?8SOI2J=7KS*U>M2PPL,@GM"72+$:E28[^5#$-V*@Y MV,7= U>AL8R;J#MZ@*(87^-P%N5'O#4*$4.H92E. 'P6X8BBIGY.PJA4=K.7 M,J%N$GO')FMN:8FM9[ X,# ,*)9.9PF4)_%%H8CR)-X:/W@5%-<5:=.1=OF^ M9#.R5O$'2V/D\1"*0-M363+-T9\\7T)-8A.CMP>>)4\O7(BSDCT/C),HME^$U;RF/NL-IBE]GB*NHF &P+DL'2-,:B MD -".XI-W*+U\EJT]QAS1U>UB68.PF6&-KEF7I4W$.U,5%4GS6'X)PI55!Q ML)D!"_O'9@J*4GPAUPA%*=YF2CRB)PZ! H](@'V*X2Z67%?;&)9U1L;LF_(J MF.RSO&!;L[TE3R=9RYE%\P0RAF#3-/.2C$&0_,201-&*M^G[/X3D6)O,0K\!JX%@\S6$OE6ZYMV!!E#B:LEQGE@ETST87,U > M-[J8\7'G%H]IVTW747^:;66,YO1B1%8)@5EW)KA"=3?T:@:;#\/H I:FJ0L> M5R (WS.$T56,"Q]&_":$ZYR2-;V%7L$RP:XJ]HNJK?8C",-H!)YFN9_,/J!M'QU*Z)ZA<]5ZI5>1>BF M^&8AU>V)^5I9K!>$3A="'V?_20EMJ=(;W4N[KMN1<9]]D5?/S+C*LA$#?YI% M7CV/X2W+OD/_^9_'?D*6H40+-?1W;"IT[<7=D#']V==]BV?^5U1'7Y #OB[G MW][I^L=+S^T%%@J.UB6&9F4-VM2OF/ ]@O%8]X_^'I 3"L&S,\K<*R, MS%*M2373#-U"PVS1PV5_RLMX5)^/(;ATEGFI.0G"W^?$'THV?V,\]'?Q)PV" M58,,@ARV\I;BLKII[MS\!N*/^?8O35+I+/UI3W2?-1$X\4^1D7[G1CK*-+]I M\^!<_?'Z 7Z[GPNK3LY3&L-BI2EU>WE^U:YU,],I$%;9^,([DZ90+P&$Y?OR MH^_>U/A#+&.==1@6%M(>(V;[>FNKUILM*\(RS"2#A;%>S :]PQ""%^K:18R, M+R&%[E;DH%#"FT,)$#GU1^#\7*C4Q(P?^HW,V@QQCR^W6&8PJ?!@6E&&.4.F MJ1=;G2(_#U[+;(Q,;,A*PJX_MOV,K7&TTH;@C1*Z M<>XS10V.J7-+UXNHZ$Y/+KEK^@35PT/W8]$5]P\P+NH =3T N@+ W,]E4T79 M*(4'&Z=DRD$U1^3R62&>Q"[8 0@"^9P"C"^Z7-3!^#\!8QBGY MV;BK=+#NFM9;2H'=321>)LBXS2!)TFF,?*EA&<+NE\Y9CT2YX.0CQ"/ IGW$AGPM]#O)SQ)V&!U$:8081+,5L< M*(U,A'AH\)!8FOU4B1D%?:J#K=!2@;)%=SJ^G!^%@AEOS-4\P*?BJ*ZM]Y3M M203U?/-V*Y2$;MX0.2&<<'V5RN!N9C>3"09:%'0V33,7//9 8+QE,**@QAMS M+U\-QI4D&.T%Y:XD&P_Q<3]P-\49#\$(BT:P:?P"G8AO*K3QO-\02I3XR#KA MGRCMZ[<: WSI3+#+="LZ%7$O'J;H%:DL MCNZ*( %PZ68!7UH 7*;7T>\*@,VF[)3W59'$:K8_V8^;TR4+_0X6FCH4"03 M^Y_B7#O]\R+6S->07)]53*'[)1^6_7E&"/'C-DYJB]U$*BVILJ+4_3TQ:A%U8"B-- MD70:YUYR(NXP7 )OKKJV;02V#JMF WI%! %OU!T56A5_=74]U70#/843?R-_ M"9W[?H9,CZOL!.+\+[;N6\QX>,M.W+J+#)[9#5S5G+L6L*#\8X,\?16"Y2$+ M^V9/&%%SO _50)^=ME^$@5%SO.NV(K!M%RX>Z)M(T1#__/?+SG!<-RERA?VY MXNF^K :]7*Y5F -_4ZZ-VA4Z[,R[;_>(*\WBJVI"PX5$>K.E>*('?/9 U_J* M%>HMW>O"F3YWE9N*Y\DC=]):;_/V6%+*XKR^:N9J$VD#=O[RF_ [(;V/V83" MPE:VEAE.S$$QLW;*_"Z/:6 3L.\8=C:QXMD?4DO%2ZWA:_[YW5#*8=O63D@U M \V<2X-.*U_J53>Z[\_>S#O8GVU:M$,^'P9SUP/@T1XV"SO9++ZV6RRF/6\?WP)^RR9*<=FPQL47_2M0V.MVI5NK>Z[9M?). ML=VL8)5@$_$'3E!I+GONSO!S_C"BG8W8Q'U\7TH)4@5=U>V)[L7G&B2>CG^! MH(B&__QS(IT"TU_JX!5KW7H_C_L+AHYN(F2&RA#=]$'TB>"(+-4S)UK[[;2W MQ1M5'ZM)>J9478SKEKZ!$X(M&U$Z'$+L/<6N[_[X^3<0:VPSQ%)OBRM!G\VF M77U1\L1,A%CF9<3>>G ^T64)O TN0;& $VQH&<-)JV7?H30(9S?E')2GO9'%CF,A#HS;"P;$- ,G']#9;]Y#?T M.GJ@&(ZNI73%<\![T;T\Y(>@R,$E+8W0@F=>!7UJJ,:YZS5; M?YR?]_N- A8N%\U1V6H.C"6P'**"QED&3V,$AR(*",DHHO"!)LRLC_!_ M#U?U/@#_EVA;_5[X9SFSR!9H/RO8$\*FZ%;;J6 \Q']TE8\ADBE7?W^2H,II M>0#_I]2[+ELKQOEX9:R05B MCHZ;3!$DD\:RJ.P1PCXJ>W1/AM!O87^-AZL\-NW7!'$Y& ;M$5M1Z0W$?MRD M"N/2'/E21/9^XC@_JW@$TU$_PL3Y&C+M":!) &C-#2>6?AT)]M^7BM)<86$W M)*HN60V)=[3?$ESX?K6SZW:%Q^R.;B]KPF#0',UD,JH/3:8Y@DU39^\X(#1_ M<30G8RY?&\V7K(_TNV@>T[DEII+#G<14G#Z^'HVKK?D&HIF!:*8I*HV=B;8\ M,T/^$RB AA<@D:J#W?/>CLD/F1@LM:2H\'1*<7;P.H[C!KK__>,F\$?22C/6 M__XO^''\GFKIB@?A//]',_REI>Q^1-0]O.H!NI&4 /^>ZQ!&/PCL.TZ#/QW0 MCF'_ R=T\MPG#\NHNF7]\Y*]>GS"A3>.H$XLU7@7BQGZ9&=.?OZ_T^4\^E09 MU;5<[\=1@)WLWW%K(EDVTS,33U?,C#(%[_^A6!MEYQ^-\^QW\B@;?SS(0#*R MGK'O)/T_J9/?X:XDJ&8KV\S)QAU$9\;2I\&/P]>.?XO$WL,?73]*>OOAZ98" M+WX]H]J!Z(&[_$'@4#R>TIS"O[-)FE_$D2 ?Z?._2FKN07'Z7STQ_XSIXX? MWX&X E+3BA^[B>=[^!/P12 /PE9X>2B=GZ MJ;S8:8D=OE<1F__[G\D'RMX7YWFZJZG';4V)Q52\L3#?:E.>=A>8[L[O"F..:SDID7 M5X*BUZI#S).RF0+P/9(CJQ3OBNRPLL=JA2G9]0**6[2 72/3ST?.PD:=WI6& M>6Q'B'IVMYHPG &?R3T?B?6H7LGM#AH2T2CM/7748$A](U,R]GPDCXT:MM3/ M+Z304$IY>E6JT@H#D8EY3F9U1QSGVF-! MU&O3*2UZ3B/?!B,3\^SSV\98SDYZ B%T?)W$5NQ.:LMT8SO*Z]2J8!KE MXM!62@R^8WB928ZTE&6AMNOK52G?;67V>1$8\3HOL\F1&RI'5IHV@V&9;3TS M6C:86FF\D;GD2,+B,CN/S&W,#-NKCZ<#MY-A9W(V.7+%#*;-\=;-2"5I&/) M9%,FW08CR>LL1]AJEJN16'NP M4 O YL_,52IB[2F5A8NMFHLR'IW4%$:!'@JF1Q::X;F$C@,KI3IA:O)6*PO M]B,PUS.L5]\I'.>.9C5,;+#+OM2?9GD53. ,]765:-6WE;DHZ>.2408?2*7Q(&\,ZYUBQ6C+Q!G" MSO8!N:;6_=X$"*DSA&V*87DZ;?E+0:G*_?'"L\9ZC8=#$\L2 ML\2ZVE?H/+;:E%?%1LYUUJ/HJ8EE241GM!C6=FN36#;G)9MM6,ZJ#8TK"G6E9FUQ7<8 Q>BIR;F6L(;K-OI.KI$A!5\I([D,IV?P:&)N9)VI>%W M%V0%$S/MV =WWIX&A[KW-\+XU/ 4Z!>"H*=V*PGSW?!,Z>6NSFJ M\.._,S!"\R/V2S9@$W[I#QR\O^C%QZ'*Q'>M,- O[ <\-TQ.!H(/7^7N'GZ^ M,1J9??&V&"+$AQ$"9Q A;H 0. P'($K< "60;+H90B#9=!.$0++I5BB!9-/- M$ +)IIL@!)1-+R8V($J\CA*O3(W[I4_]<:N&J7*)0X$/*B[_LEC^&GOPLD3\ M^$/\I[OR49>C7K:4OL0N? P<;GX3$!X0'A >$!Y>8ZW>TRX@2_%61<%'[8'J M6O"/__>-^_:'^T&QWQGNJK?)N=_ RTLY1R-=\5*"H^D_+0__D&V$4'.KJ.$2 M6_ 2R6.R)G\^)?0I/H@_Q0=.?L]>M]K*6_$!;]XD-@:QP1=D P*QP=O9@+MO M;0G8 '\/?7CMV_<=?:T[X?M43LO>0*W#JS3D9*Z_[G>ZG0>#'+=6WO&BM_$* MH:? Y\BX?+AJV)=<%B\GUW9D<%3^CTA2!I>FS3>(0QA'&X^#LE\8X_@3C MN.P/9WG"(A<:EA'H[63,+[H=YMIZG,7YKMC;924I#++C7K[3G#@.O/>5A=?N MJ2R;9LB7*G_=00@N[_H!O&/KO;.?\36$T6>M1Q:9(+=X, M4_)\L%\1(:\5 >^,:.JO7F'[_8\!VM:]84V3-XX9DMK(P>QQ M?U=K X#"MHH8!^[)W.SVVA_S% ]=J>&@:,-!<&HJ355QF+ MKWD; %!@O!,DEL;Q]S?>K^UZ]CS%\0]DAJ9\5*5&AW=-?%B8'P46[CJP<)7N MSE\^@'AA#R$7^H:C^W[>M2>&$[V95U>A$1>/ZL0 AL>9_AD9M]=(*9_I"VUA MI2W,4:EOM#MC7N;B/",&11>1$$!"X Z\D#<)@8UJS919J[F1=!]SI+XVPSM# MV"4">B)8&J,OF)+T]=#PE:4 .HRXJ*OS)BE0F6\=OE)=5H6,5<\L]KU5;2"V M@10 [@[.I,D7KSG=P5%%23&<%""I#]8=^3:6KO@Z9,=4\.CUH C+W>9:7L^P MN9^DS*BM-_$>82K$Y8C+;X7+(6?_==\&?!=H)=[1ZD>==!*(@XJK[OI^4S^7 M8N TPQ91H3JZ4"LXS:J[+K5Y!39N@QE"P'CGDL;[WPC^"/Z?^.9!0LG=82S^ M>7Z]N-2A/')F*<-175M'.?;W[H&C)-W[B;$_H*\2@0]JXS.J6%4K]EYC\[)D M\Z2YT<;K*6=$74S);_\2-)G&V OFW%R;GQ&.$8YOW3'$-$\1. M?45GB)K5LR,< YL:S])IDKS@W?MK\S/",0ITWWJ@^_=P/"]0C4"OY]HF4\B- MBEZX8>O:!N(8AK19+(W3+UU^NX.8MAC,=>_H$?QU2+3_^P?R[V\V3?!JX;OK MAN>N05O$P)]CD8B!/R]MOPP#7S>C^RW+_@3!TZ+KZ6"B*7VKSA5GIJ=F,!?@ M+PN8C7^G4XX>(.?MSITWE-3X":.N!]CF0\_3'75WYD@TIX.'Z>>KNNY;&\:K MUUA>6G%6C1G-Z7E%XZ/I N\OC3,H%HO$ !(#MQ^T?9L8( 32HNU5WS,5JM"J MF1Q+L)T9G"X,YJ8Q#H5RD1CXG#'?CTB+NG"@]W78!R/!\\\(@3Q;-W:87)MB M1EC ZG2+(7 MSM]X+2Y;\WF-+D[+OEF2O(&P7#M4SVE#7,*[C6GLQ;+,")>?&9>HQLH[YF.\ M%I=#WEFU!MJN:^97^ZF=:<@CK[>!N(3%52YPU?"FSB,JL,NM[@?'THCH#.)" M48=K7UKXZ$31:Z_WRL&("WL%1]@^$6ZG4B^^H?73*,2\LBHQ524TI-*>PBA[ MWAM3.#!&HH:Q+)?&V60ZVOO=U4)BX69@@L3"9[JZ^5:Q4,VO6LNNL,"$TF!2 M6=5*W2E7GT&Q +M"9=,$GG12D%A 8N'-1Q/77N_G/KIXJU@PQ^,"9Z[K S/C MSU'A<#^),V :> K2$ MX2C>KA+HM@\$&%R"YT9%=8\R[HSX$O=#=]C/J1-AIRT#QJ5G#@=VH*Y.66:JQ63+J!KIF*TV7&V>R@I-8B6$-G@\;3'/U2-XH[ M/),!SVR=<3)2[^Q?7'N-*+R"HJZ?]##F(/<.D96<[NCGF_!-._.!P>T94]AY MXYY%&=M1I]J6\;@'+IZFB4N6R$,"X&8 @03 YSIV^5T!4)P$H5EF.JR4*>NK M@;(BQOOQ# H F 3&I GFQ0QP) "0 $ '++?J(?V. *"GG&:5[5Y-VM$$P8Y9 MO*A*D04 O!N22>/XISI*:>K!P9M!@9>;#;Q\Q3HJG^L\!<#LQ?)CRDZZY,S,T+L9T3LA5V&7R&V56CM9#J3 MQS!EN.$6^,3$M T/$0L/-T@R#:P8A%B$6'0*\E$V_J\0RV:<1IT!Q#!#@Q@& MFXJY%+(;B%AX;H'3:9;\9'=)KH1=%,GX2NN^R:HVB/,1YR/.1YR/./]+E3#Z MX,*E'TKE@K$VP"(T/[74/6!GVS9L4#I7O'?L[_3)V?9.9H1A_NR&O1RN59A/C*[Z<,8%7;7 _V@/?BCVX(?Z8V+O3\=RU^R2_6+@"J(^ M%'D9S\)8+_;]3(8)PC?"-\+W.T2 /P3?M65]@ZVH5L,D2GVUY"PZX1J/\,T@ M?"-\OV!.7WMA-X;OU\>+/P3?LYHS"6E3JIL#LF48.Z,A-L(9Q'?VE_A&0604 M4$ !!11*0YR/.!]Q/N+\K\[Y*(C\P52>/'GF1H?+!].R-/"AH'@.>'T<8([L M]A__^Y\)\DY1TM(MI1E>43=]T_3(,C#J$7O'*5$[Q#155?;CX MG<_/$MG_G0O?*-C_^L-ZXA6A_J-K^HZ__X6QZ_DU!<,* UU#V<0H&PEE&U[;03F \8Q((HM=:E%OMO>8N,\[ MI$\2^@H'+@IY<%%(E%Z( (T ?6N>QL\!/=I,_:[AZVLLW_/:F_T6EQOC"-"1 MKT%=,.: 'VW@$;YPE=V&7X.Z)7!9CUF9E#"0 [TL"".:KOL!@(Z=AH^7W5L ME"QV]5C))U\W2I-$G(\X'W'^5^2 K\SY*$'XAA*$!]&_="VE@&DK,_U)%0H_ MY8:!#VO$P1FBQ&&4MH;R+A$#?YY%(@;^O+3],@R,$H=1XO#]M6-[ONSJ[9>.#HM?.RS-$-[HGOB-(KA M^^*CR_(T!>BD)1PW6,Z"D>]+"K^D>L(*XR5M(Q-Q2S@R36114C#".,+X-9LU MO!7CVV(\2S .)%FV/>]+)-VO_+G+UD]WYS0< M4)60.6?$#4_FM8'6*SE8=[8Q]*TXKV@\*-F"P&3Y[I8M$MH^-X-@C>U_EG[IH@\"ZV<&ZUVV:+L[,_X58/4$ MI\69U*"/$8.!5V@&@ZR,MR%8LQ%8<>:EQHN1(?^?0)E8^@7(I^I@8[VW0^Y# M)M;5]92BJJX-7KL#>YURW$#WOW_QZGM!#8=YP&?SH 'O$N%C/,R/_CQ<,^ C/Q/[#M)_T_JY'>X*PFJV/?(I'X\$?7-R"B?WBZ!<366G]&M0/1 W?Y@\"_,T]I M3D';*T'SB[CBY"-]_E=)S3TH:?^K)^:?,7W\$/@[$%= @EK_G*9='?[T[=\> MY,&4.TWEH>!V O\!$G,W]('J]O_^X(DE4'4ZM]_4+0<48+1*J3BN MRL"$ 2C =5I6<(X /[+JE,0HG-:5)R@ 1DE)T^=9:VXLA5*#(>>%ME$6AL H MD?'G(RMEE]9I8N5(&5S$#6(F#0VI+9/)D:*X:;&,NZ:PKMO;E%K32GN]FX&1 MU/.1^W8X:VW'@XRY*ZVW3$_,"PT)$\%VM<'( MQ#PK;M;R^O6=)-4R7ETT59&OB'!D8IYSBV/9C3'(2KKFAU.C[.^"XD:FD_-< MM(P&QF^9ED1X5(NHF3MM:<]D)CER)?;U0FY:*6,9A@KSMIM7AI6-S"9'>L7. MHNSP;%]:67.Y9S0]N3N!(Q-K-TJ[H,IL DY2]MBHZ=.Y1CPRL7:VU6'$ C[4 MS56V4!\,>K7E4(0CCVN/#(T'=1W?[0.JVE*6OO[C^,LI+*!V.V@V*./56#<\ MU:4G/LM!D6()!1AXQ[<>GH;'D/J]4#?#_"*@<:*53I[O@F=.+7=S!.3QWQGH M?OV(+8\-V(1?:OR#?1>]^#A4F?@N]"?;O-7O%"+$ M+1""_9Y],>2!"/%AB$"$N!%"(-%T$X1 HNE&"(%$T\T0 HFFFR $$DTW0@C\ M.X8(\8Z$>&7NV"\=ZH];-&TA?9 M! 0'! <$!P0'!(=7V:IOW@0N82J]= 1ZS#R;_/G5@4]F_JFN!?_X?]^X;W]( M8I+XCG//JUWBRVT*N 2&]A'%+KG?P,%+7#'2%2\E.)JNI0JZJL.,MYA12#Q] MCF-N%PT?QSH(-1%JB#]%3?8[A=\U:."UCG>#Q84UY9\HB>3/Q&H1%T N(! 7 M("X@\'M1D=H]:[;&7=FMWPV%F]!]<*X$% MVOO=Z6QO=S86EN'T]9:8F)F)\.Z]4UYUIP2P7B7BO+KK^V=NC%1*#!=*I*I+ MF1K>$(M6O[CD8=HA\>U?G.$5?XGH7?BW27[O0& +O9P+OA6]O_@J\[>K0 M;LU]/2-UVZ-L-!%X$WH^_S?DK\-I=O+&;>K)E M[CK;?K-'.MTP"S4O!\"+TVF6O,C%ZMC(OS83?U2MRVO$OL1@KGNP_O?2T^>Z MXQMK_6#]I_ZR "_\G4XYP"%PIZE V?ZXFR.?*PO?#S_2N8D2PQ]SI'GU12+^ M1?Q[OZ1%_/N)^?>ZIX:7-XUNJ@QXT?5T,-&4&GJ>[JB[5. ICF]%9GM*T1:A M']CQ'?_+.7-7/ NX'9S?X+[(FPN'PS]>W!3(76M16=>SPJKC5D0!\T0^ M,FZX;_\23+)KP?L(&Q1=O^S:\F?BZN\G+6])-+[C0=_M2K;/YKJ=D7 O^%\* MSRWLCC MF?E%M\FHXGZVM6'AJRC[ADUGV8LT4/I"4=EKLSY"]+TGX;P.T;/. MB'>D]J LK>S1!]85?D=8A>-&OK MH-1V>X*.49Y3RK1I/T+T(4^'8B^8IW,?B+YRX?@_O5'V!2O)7W>KWG]>J.1] MLN0]BTK>/SXW(CHJ>?]')>^5+,DPJD[)!,MF94K%*3E+*E.950B:56DZ.]&R MW_Z]JQKV+Y?F[P*2U,IBO2!TND);JMS,XEXH?'\Z9R@@_3 M*6&KZ@ 044>;%&\#,12<%,4_<%^6(36=)3&9QC5-ICB.EB=9BI8I M,@6Y+< ME#D0Z*&0>&N>;PF#T:@I*-WI8I@)1W79X:%923X?RDW*P8YIU^;8:L+V*I:0 MRZQJO$PDZZUWO!E34?BP:XH;:43-NJWQ0H_JUR<>RL@,T]Q69JPT6 $M[RV< MU5+9P*&)J=+E#!M*U&QIUL:N9L[SILVM8:U[XOE(5E_K^6D@:4)IM\?+K8'? MUPN;J2.%BL.6IS MKC"^L<@1QJ3N]P1[O"I2/58PTL3K6Y.*,C.BFS/) MY;MA?>+[N,<(8F7*-S]]8]R9:(K##;JJV-"Y^97'XN1W$\MYXH4JV]SF<'6\U95N%#D\N?=CLM M ];<\<:B&81C>RSSY]H-=,'F]ROS M7!73,TNNORQ7<-,]Y)T\>SU6W[0;K1$OB82F82L@S<=]/CXS?D92?&"4\CMS MBM760Z^4*2^U>N=PW/-T),\:*PM;BG6S)N?4PK[F[?P"/(?&$[O/Y-?S>C#' MRD)W-VI8S8K:K(_YCX=28Q6!;)M=M:8 MK3'VA@DP?9V+NC(DVC+(S=4"VV?"FE B2TV&7=).,)C)7'))5:<_']06C8T4 M"OF:E)L5^*[5!B.3#VV-"C-JUBNIPJ[J"=OUUJT7A6AH8DO)[L883)9R$0OK M]%J6I+V-LVTYFWQ_$:MF.[0B+@4]E^D/S7(MK.QG8&1BHS).;HCQB]%*"CN3 MFD+NRXPXV8"1R9D:"K4GJR*3QT*0&6IUS!A M*"FQL+)-Y'*ZQDL2LU'5K#D=E\-B-#0Q6W=3JW%]BK-AR: M),/2')6$FF@&9@V;K(IB'0?4C<>GJWHAXYFDDU5;] A?K W O9;I*2JS*SO1T,2Z&G*Y M.S ;[MP,Y\ -X;9"1QI&0Q/KLA35FH]G1,T4PVU+W>&5$91&.'5&%ZS(0:>; M->J8OJT7%DQ9RE!F]-3DNJ:%N2697>T>_!4F[DK!5C M"V'8[?*C<+[93F=P:.*IF$WZ[*ZQ$TS#*6&CW,8T\2 :FF!OEY(FBZ924X5\ MS^59HMED,^L-')I4\6VF.>&JVSPSH\U\@YX26SJ<4$LP]HR65VU.WF"4ZPOA<%1O MBZWJK +L,?R,FM]ML):C%8F%*7+C@!$TWY/9#1R:(.X\<#DG4P,&B5()%IQ/ M256E$TT@05PF9^W'>T;5%^P-KBR&7 LSNFH;K^0:HSK/PZ&)=?&9#-=HBUU%6!4XNM'LC/6" M%3TUL2ZB4QP/FAEW)=AL,+-+M-%VQ!D*VVDIC0T.8.J$XS6P.%K2ID]TWM&ZPM-L3_C2N62M,H7 MZ6%G/%O[=#0T008/]R?!V$4GH-H=:?\:6MI9D].KU7,/!B5HN>FIR7=JN[6SJ_+)I&G9IA[N+ MTF2O@STX8Q],PVV0MX0Z)3 "-A>96:%(S3=P:.*I>G/>,XML.S!MHV$K#65N MU.<\')K0-^2B/5]TEY6-$$Y:2V%:%7O=0?34I+[I9^E*D_8(7=*M97TT6':R M4R"6B7,1!6.9;U7*N:R*V>/21"A*S6+C\-R$ON'[TT(+DZ264,K.J_R(%,M- M CSWC#&1SW9ZZWE%ZF/=%GBDMQKUY_P,#DT:X4H'W_![@14RS0$^G"^SY#C@ MX= $B^2(KU1HJ$)XN;;LW%N CP0@7!WH[5/M9CE.IKK M&3=HLY;RER1<%>6YUBP\NWQV(T-+&N MY;RL;!82PV)ZJ#?D=8ZSA\H,#DVL:UA3)O4F65 DL43M[:T^K(:Y-AR:6-?8 MFM MAZ=@$>>\8^6!M% MG:L$L[U9T[W>,%<4_F(]DK=SJE["PD8^LY%Z[4Y&B88F9\#K^:$_ MZ\X(0?%;0:=H4\L V,K$.:TO[7.,8DYS0#N:V=624_N; A4US$XV?90INS?+ MZ#[@@T%WW2LTU&QK!HE*IE^$TNC^L<\ $)L[H\GQ_WL(;8\XT M:QFMVB&$+9LWHJ%)+,RG)6\XSIO2RB8V%79:X&9*&PY-+(P>"7:.]JM+,R,6 MW5HV:#079#0TN; 2556UK$;4L-K8WLE%FH2Y'V):]6&0A>K-Z>M<61R&0'>09 V$T[H\9N@D^$>O6UB^6<\3,BH8F M/6*PJ4:O4]ECNT%F;#8">EH+VG!H0H+G!1?'%LM6V31:3,[=<*,^E'-@:%*" M=\75AO4TEL%JO+ CJAXUZ UGT=B$!+>+*Z)3:0LYK.MSLF=)[7JY$C_W*,'O MM&(6"(%]ITE$B5N@!(+$K1 "0X2X!4(P40,$ M1(BK$P*)IILA!(:4]2T0@OM.(M%T"X1 HNEF"(%$TTT0 O43OA%"X-\)1(C; M( 2'1-,M$"+['4<]YV^!$,AJNAE"(*OI)@B1_8XDTSO2X97%AGYY,'=?;2PO M(Y2_Q![\ZCCJVMV=$6M<;P]>/I;Y"GOPJQ,1A([[YXSWZGN*N.0S<\EEW(VO ML R?;N"J)A*17].!:"F&EC$<1/Z+D)^[=?.HHP>*X;SCT02RC^_+/G[2 MB 5)@2]J)THG%L["5_OA?H8R:_8YLXZH7@ MWXL,O!#QWR[MV.\$<==\$'?#0'SP+J[/'?-!7ED:B? 18H0_=(+NF!$$Q7/ M?-Y/-2 GZ8R3=,<,$C>P3/U5=_V3)DI(7GQ52U)8A0 ^[^%!/38)_/%?JJKK MT^D'"XZ7EIE3+,51]72JH*NZ/=&]F"5(/!W_0F $]JYHN/9N'%G^W9RECU_/ M)7H,^Y'C)*^=D&H&FCF7!IU6OM2K;G3?GSUM,\S[LCA]["N,R8>&P/!A@6X# MH,78@6$IUX&-%?FMX3^,BH\MHFA%(^(X>2)RH45V71(3%^+0FZC5*;]OG_8E MKC2+KVA,'#N!%=\/=>VA$S'VT(G8:- SHCFI\2;3M7;LJ#IJFU78X(OX]B_% MI7$<2U,4<9EFQ+> @&MT',=N8-WOT60\3CG\))C_W;[B5P#\JQJ1GT8^XYF< MZ3]N&>R"*U<[>2RS&>2F0Z$N%$C8JX_^]B^-P/[>F7?77O=[@#VN/(C _AJP M/R:SPE/IBG,(P!R '^RI54/,36KFP!WSX:B\EPKAA8%?601CUC#+(ZQF#\>A M,E9Q;M:6H_X<7#:-93F$?H3^GV7/(O2_!OW'5(1CM.T ^XPPU8[.Z*OB"G1^.M@6\D]^(4<-=_-N_#$&E61*_#/")Z[#- MU8'/?1+@QZ7S$/!?I?8?;TA'V=I/4E+BT.I!%H1M*M]LLL9>" =[I]?/M8)Q M]L(FP-1?+H9&M;&6NI8Q7^;[S$RK1RV]J6__9FED " #X*P<0&) +I=:N;'; M9#"SUIX/ U/OF71S=EFX+CRU;_OMH6V6TY%\*9R(7M#4@Y01GS[=PYG3Y4/J-P6P*)6.>)?573FE\K/>2W\W]OOP M^^2(^^[_UN^[<=^O^IP@[D/<=SGN^_"[XA]NVA9"3X'/D7$YLFUQN><^6KKX M^T2ZAFY_TSGC.)UFR>SE(ER?'LLO-[*X92S_JO<#TB2WSWWWJTE^4=[_ M\RL2?SC+$Q:YT+",0&\G8W[1[3!_?MKQH@Y0=&/I5Z7.S%1JV*(AL$YQWFE# M'<#^C@ZXPX3&Y]&3HNOI8*(I-?0\W5%WJN^CPP_Q-^?XYSJX]=]'TEMB+\1?W_F MM*WWY&^4;_25UGV+V4F0H_^ZZ7#M[^BSFW):5#]<^_] M9V^#_OS!==%SCS>,=K??HQO(/7FQ3#\1I3]E^2_G@BV JYQ(?9UZ# M*O<6I% 2>Y/UU&%&[5Q;9J-D)X+!$N& OY&615KV_G.CKB&$WCG4]_'"HAWX MVF"SE]:"TFQT/,ZNNT:+A\*"_:6PN+<\*W@A%-YUAD' ^+KK0TS0.'ZDNG[@ MW^CC_PSUYW+IH";ZP8QP 8U$>MYW+C8G&UD#EYWIM-TEDT3 M.'.Y#.A/K@A1OML]']5='N2OSXY.8KRO6*&>A/BC%B]P):;E[*8,-BCD":E+ MA+-*""%.?_OW0I>T M/A[F]6JVLUW)-==4YF36J';+W,AM YAS .8LEZ98"H']"X+]!G,WWSN^_>FY M#V4;WBCW(=EWX]QW:\QWWR'(/[5-G#U="AA<:9AV.:OG!D8CURQ#VR1*1(R, MDY>J+'V"1,2\ZX I^Y#D[C35T?T ^(6!KJ6B+4U!ZC\&'.- 56IC!/.Y;FF0 M/C Q47^_V./7.Y.XD]1$%,I\,93Y""-Q&O\>&!-+[^HJ&!H89T.8 9A MU"2%KJY5R]_P=G4C9V&($R>(-)--'F0@H*'44)0:BO@;'>K?=&KH':06W4KH M\'>B MY-S;3LY%%B*2WRCM\UYCKF\RZNJ5<7'KF)XMA60[6U)M(6=T9L"HBX*RO[+J M[BV_,]K&S$3Q==C!R%[JCA]1$1T#W6_>)SK)N_5LQ&N%X1";WB\%KW#@?*UH MVDVQ*8JC'4VNQULR?L_]R9NC\ZC(G,B?6!,='2S"!S3OZM[:4/785NOHJCMS MHJ=$9ML98VP8:MFB5UFP6#['&**._?_L?6EOXDZV]_O[*:R^L#$] M\[3$8O8=# EOD+$+,#8V>&'[]$]5&0@)=)9N"(;42//OA!C;5>?\SE[G).*S MQ++/T#C$1D=BP@5GCMTYUKZ%0"%E?K=.P2N4^5TK!G:W;$JDZ7TLDA0.GC>( M=06+:E08T_4^/VG0OK+J;SA%+^;RV*+"\:WW3*H[J#G,Z L=XD.CT!8NX/98 M7E!H2"FJZOA HZ*_J40DP?][KS,D61Y2YT;JW A_DRSF+=2Y7=T<#&&P;N;H MTY\[$T?:6SC8?OF=3;AHRTYC-:KY="TU7R83>G13LZ%-R* HVP4#;-\/1=]5 M>H2QABW\5;*7G9?R$4GQ^X9YC9PP?9QWNX:O@\W=5BB$L#/P >]]:A5O==]2QX@8=#'$L[S93&G?4JO S MEM>]'^EM@MF604^^ZS'<- MN^829S4_:8MDK555$3N#@U-L2VJ2PE>3M/,8*KIE._ E"G 9#G"]#% = %V'K&-/#\UBMVU7 M7UC%NR_D;5,#SJFFV[UU3\BHBXPNEVKE1J&U,![SLU&?X7#E$B,<=]PFM4NW M7KMTYE!4N&0&475$U=U>I=$=A+4NJ*02:L+GBK%L74J+'?W1JZFY:3Y04O%W ME=2M56CM:I!=1 A3<8!&_?,?;[-&\!7,&-L"(=5KIU+US/C):/5+3XT"[S?' MK;/S!_L)]C@H(-JOL X<7-F3V2[T=8%/57&<_EB)Q6>YR8*3NGW(XZO"9E%_ M2O[X13^PQ[/*J!EP@LD8-YJ)/7O4SW8@J*+!U3^9V8IR;5/7J/^E\?_N6U/? MOUJ.79_"%PW^$>Z]9^X-@7RZ: R0<"_AWAODWFTH,+S<2^*"@4V]-Z0/C.NT MXHY/N%!QM4[/K=ZJ)G>C]6BUQ)FU%)_L,[$@SL=&Q/BEJAF_33W9M1%ST2!? M>*4!T65$E[T3ZPLO\]Y!X.\36D@P8BW;]T7/**5CHIB3HRRKC; 6BG]$"]U@ M&1NZY^#%/9< \0!\4U.#?TPIIF*I($)E@(J-A(#U.282_( H]M]_#^ZGSF-Z/2\F+1CXM!MU)=_<903KR481W+BT*93 M5(I=>=UK2+5"STH-*M%$; 9M41X=VN2Y").(17CQK5G/-PZ![UH:^(]O4Q5X M9HU^!<1_OJ1]'.3O@CIJ32Z+/*GT^%TEHD:(QG, M%5?M%AA'II<(^:BCGL!$$LSQ&#&"?X+_4%:EAAW_OXD]9RRVQQ6]R5**;@9E M/5/B5S'G+T_4OZOR&_I<299R62G]E &]1C:1K=:PRD=1YS@;C\2XX_XLI,#T MQ@M,SX'\VZ@M#1?RDZKJ3WT37JK5O#%PT&4.& /+U1>@8*GV%&R%P=/,7J^S M;,J1UG51:$S%=6R^O+ PZ,X5_FGF\'.IM1KI [76J NM0!C$H -P8I(H,0&( M"1#&:MTKR(%D@M8&8LLQ0,'(5^O32L+-71BO3XF\%L\Z:?RJM)%;9U!N99+,Z9I.740+-Q"1!LSRK2NEN M2U0Z"\!,:TNL!.(?40(W6-GX.GZ2M1T 7Y12?<Q7!.3B%*>9_M& M* MXJ(.?IZQ(A/?>RQ])]XW[J-TC,V0)?]]SJHK,D"7\3?C[WJ><7GYRPO>C MJ?R[IR&' M?NNZIK>>:QLYKL'F)2VM_>S&)O=>;!5XM6%;6;TU%;@J*]-J;5@7#'TXJA_Z==>5$DDL+^(?D!>W5F^%SH>BH\]X%"T^,7J;68F[+KNZ_%S:OS,G MCH\VKL=9,STM]S)RJ58S*F.IXB1SR;^<2QN<93X>20MW'?_IU&S:7$6-BJU2 MRJ.5QZ8[R94&5K?N\DAY6VB=X._!?3>;%0YA>5NX M_=4W3],F.&/Q.&'YMJ3/TK:;&J8WTN(OZ_*/=0V>"G>L:IXM1Z-OIA[796=, M1[UD/=8N3V8;(XE4#1I5&XFS%SQ>3[ >6JR'L)B0#*HEU6_WP7U$]H6<^\+& M?+<=#OM3TR3/&:O2,C=MT-$VRU6640H1_[DD+HBC4$O=&X^!J2'RH#*Y.QIK2PKE2*3M3R)MSS"J M#8.?/7U@@A90X:5H\/.)"!Q(IIS:9IH:&%.]+&UL_RF67$+9DT 1.(:#PH=. MD*8#I%*15"H2_B8)YMNJ5+R!2I>P1 X_HCI_FY3>E";#)VV4]J1UO["0*SY@ M9@+6H3BTR)T8PD9J6(B((<6BI%B4%(N&NUB4F(A$?I,:Q%L-NOZ552>5U/6& MK?BLP4JZ&JUNZGE^@*VZ("K[CEEW:Z6&>!^C \4%&B3G= 8L%Y.1)()NMS*1 MY/+"7C%WK4 <8=/;I> 54L[7BJ>%BDU))&UGC%-2V)Q('U@3 M30 7X4*:MX"ST%40&&M-H-HC"]\%VVTGK+',JI19>WQK0Z^E:371>7(?BR1U?K=.P2O4^5TK!G:W;$JDZ7TLDE0.GC>(=06# MJA1M6^6:->P9RKR6YY?S3J)@8H,*A;?>LZCNH.BP[COJ&&XGKBE$P:^[">G? M]_C@S\2L[[T2L EF6RX^40YXHMKOL5!OV7ZQF)%KJR=^,BC-="4.0<^@:C\V M'H^P])O#Q6\<&-^UW._,YW+#)0](BO9>4[1G/M ;+K8EQ7D?5F>_,V'+?%L M\4BX5,^UZNCIHKZ0ELII0X.]=L^G6ZMHR^D*'$-5< MM,>FX@"-^N<_WJ9Z\!5,\VT 2?7:J50],WXR6OW24Z/ ^\UQZ^RD9S]!^8, MTWZ%D.XX\I/9+O1U *BJ.$Z_(@_S3&?8VTBE97V5LFOK--]O_/A%/YRH9Z1F MP D.7)_/<+Y-^;4+A=J.!IQHI_:?R_^U;"]Z]Q8]>G\$4# M=X1[[YE[0R"?+AJ_(]Q+N/<&N7<;: HO]X8_%/TU(VSWAO2!<9U6W/$))PHL MH]Y3@O%DJ13?#+3.XWJFQZ 3Q08#;=E(/,Y=*/C\;4K]KHV8B\;OPBL-B"XC MNNR=,%YXF?<.8GJ?T$*;D66KZ2I+TZQ7276]\5SB6PVLA>(?T4(W6,6'[CEX M<<\E0#P W]34X!]3BHD&9D2H#%"QD1"P/L=$@A\0Q?[[[\']M#"[[V*_K^@! MF'3[M>$Y2_W8428NUD<-AA98H3V<>9FLT!W]1:D?7DMPQOU$4=\H9677U<9F M(]D_)_+):D34,>_['KPL.,[@VUW_75/PYT![& M0LBPH_WM,LB"5+9+RW)"D*>\]"1,EBYG.\O+(G\R&4:5(MU4):74M 31VV26 M"D:^^.,7*W#0[+_@:>AKXX#@_]YK'L.%_]_$GL%\9LPE*S62A45<&5?2L[77 M^\OZYW=5_HB3XUEY)&R:58SLKMT5]6\KW&_^][T\6Y_*Q@K>O2 MO!)3'EN9YL:?)K$@B$$3("*PY.@#L0!NI [WZPV T;2L]=;&,BI%.[5Q-5YD MRNSTPKJ[F_;DEE"=\L:4C=;S,:VC/A4#R.)VD@PM1D3N>'KU[5;>5H%'Z5AD M4K>9.KSKJ=4DJ1OVWI!DFC+AOCN8,AC"3HZ$^[X-]X6P[]^%RU.X%^4IW'FB M7;Z9+UE@7&G*2MKMS;SYL&O7_SS,77?LH>Z5;??4.$RO;I=TJ569&7I^TK&K MZT0+H'QV;%M;*428&'^Y*-?=@YF,2R:JA*B2/PR=A(KYOEB3%/*K]=ST9QP= MM=?E%>-VN:EBPH4;F<;P%Z.@Z40/PC2N &2QM?QT^RM@/@ MBU*J[SC 4M>4YRB6:V(249_TJ*CFZSZ(C,?PV%SWVI\B7+;:9SFT82R%'VJ3N>U6F^+OZY M+_^[IR'O?NO'IK=N;!MYL<'F)2VM_>S3/@]!J *O-FPKJU,]7RTFS8$NDZ!S MM.TUFRW73:/:9QY7/C$1D6-)Z3/1M:1,*O3AOR\3&88LUXNYZ088ZXW7BE7; MYK!>"T1&_'V1<6M55^B8*#H!C<>:X(.CMYF;N.OBJ\N/+_D[.^+XA*-47#6? MJF.9EW7#XQ.%0MO1*XV_'%]R/+8[..H,=QW_Z=0($R;>7/<=PYL9N9ZD/ YT MH=DO)_NL@$X[Q]F(R!ZW/+A-!'R+(C]7WSF&Y'9&2O MZ2J,,>T99<4?C]_(Y,,28FU@U(4U*G%]) W9\:.\F% MX3M)>[0T_%@EW^D9Q9R8QIYZ$'=[V]JY@P*^M&W!5W81Q>TAU02NY^BJ!S0* M[RB%B/]JBE[HW'P-00>5!!WQG#=]>.XI-.A23(=Q#D>T9';1C\[.D# M$[2 "B_U])/!OY(P&'&^3V>D]6.FWIY'^^H'7WG808/Z(Z?]L[Z*FQ6>HKZ6NE:]P.?HQ,)H MC) .Q3'(.'?<.Y2T#B(BAE2KDFI54JUZ:]6JQ$2\#_E-YC#?;(CTKXPU.Y:+ M)R;I[H36*\EH?U:!^C S3*&I)S.@.6B\E(TC:W M6^M(,F^D!H_4X-T;!;]%N0VIP0MQ@.SY[(?;MG_S9)QIPN9$^L":: *X"!?2 MO 66?@NV&X[U7\_18_U?'$\,OQ4CF,TBY*=06+2AZZJ45681XEO6LNLN.F M6L]92611X?C6>R;5'10)[L<](ZJ9<',UZI__>)N/@J]@+MH6CZE>.Y6J9\9/ M1JM?>FH4>+\Y;IV=F=A/\-)!<=E^A9 K,/MDM@M]7>!551RGKXQ[O8[O-9.2 MGQTNFE-E,5.*HQ^_Z 7D_:2HOZ!,,L0#W$D*ZPNK^*[-!Z&( M0H9P7P@^PI'BO38?A"+\&<)](?@@^ C!OORVQ.W:^Q*R8HLP3B#9.R4'CDI: M<<>G#NUG9N7BJ-]-&_-L.5V8)6;33K_19Q/;>221>.+X(-MY_!%24A@J7%T] MWO6;DL-K[PO1QT0?7RZ.\;N2Q6NO-F1:]LS!X$\H2*U5[74+674EE21&FM4' M]?E<7F(%&?^(@@Q[E2*ZY^#%/9< $1R^EJG!/Z84$W5K_.U!-7,)\Y@JT8_6ZRMW;[LN\QBT"[-M=QFV>=H= :; MYR*<($0X-DX*8?XN6GMME+S8A7-,GM]&6Z^]KA -HO\*Z)]_D'TB&1V-ZF5F M27==D8L6O3R82".$?_['K^/3" 3VGS+JKPV/L\-^&T2^]KIN&/9O5]46Q)C< M+-931;K&3')I'F@#KC*ZK C@*D5&+((;%@L535;K*_2:>S0!ST&6$Z(T(EW9R3]VU,@V2Y %16*1.#\/0B_ MY,5: %"*BGH7*-8:\BIEV1YP'\[X B'9AWMYC7]K^N+7?^%_=M]33: X2':- M_Z/I[LQ4UC\Q9V\?M9=4^.GP]W&0"V)I:-S CW:Y#OK_T L=W/?%S:(J,,W_ MO)7EVMWAPES+Q@Z.) 2[F(V*!SMS\-__.5S.N#_=MM#1;= M(Q =.$ QHLH0/O^G8BZ5M;OS#1,/>PWWC'%%KIQX8"WT\H0[XO M"FJ,$05>'6K:C^"I9^=S=)9)'ZZ#CW0+"@!(=/%MF?%\-VB;P#\?)7N_2K8E M/J "!Q]^ZQ^_ZLU"I=8LM*B6U.P4TE*+2M>:]5HSV2[4JOO<=$"U=*W:JI4+ MF61;RK3:\+\5J=INU;+I9"N?+=>ZK7ZUP4OJS;Z[/&50L*VU[+3Y5*C^5EBDOV>(<=]87C]U2 U4M-[/R$ M5C0Q4=23&XY=+/OQXRO;E:4F].KSJASM1^6)/2CHY5JR+QY?.5FK3(]1G#7= MFCG)0D]\?)PRC7[B^,I^S#)\*S%FZ9I=T*>E#+1RJ\D^0Q]?RM5CU?'(A^@# M(['C2T-&R+@-="GW^M+RLE?)RDZE+46;I>XL79W%"]((79HX(A-MY#:;TNC1 MF*O28['2;\E)%KX <_P"1GP4[]%J9-GAQHB-D+MUO"R[64FWF-[: M$'H=0V!]Z DEX%VYXTOG[;9$CV/1M32?%)-57I^T%C5XUQ/,U_1G1>G1&T\, MWRQQJ5Z=KPYM>.D)[LLHHIYG1V.?UMNQ4K,YL>3Y?-EG3C# G"L,ZXQ=$N3Y MQA_IZF8^KZ/-.L$!24'=L*645)44Z$]69G0YFUG 2T^P0!.DY*"[3BOY)Z/GRFPIGZ5GU:B>6T,I<8('XM5.3Z9'A9[,KAHW\ ,J?C1L?.W)C56R@T29'EU9[;#W'U+I=:9UE*J,: MFY7E!.[@=X*SRC-OK)3FD@*:@C9HBU+=QX>ACRYMT'XTF1&]E52*5ZQ$(Z4D ME>@(77J$K94SR/.+S?+1Z/K=]=2VZZY?6Z)+C[#5&B]ZW@A*23E7L "(-P1I MZ>)"OF,>:/)1;]'T-$D8%1KFHS.-+1HXW'=TZ>.(';1G4"S<'",LLW M&RCD<71IK#6--UI]W:2C1IX;-3,=9B@O^]P)'O 546&:H):5?7XVGE6+H#_2 MX5U/\,"J.*FNK7HA1PL@7=3H86P^0;KJ! ]PVCK;99^8A)&>-V(Q4$T*11-> M>H('9F6U7I#95-3HIO)^=>@,71K509SB :'&#.UZIR.#_*R1C:O58M6!RSK! M ZQ?3*>8V:(CZYW'2=?T;#[G)=&E1X25&)<9K5U>H]EIJK.8"V+S:0XO/<$N M4[J=BC.5=D/6&RG0>K*&E9X'-^L$84 M8K1EK,NNY?2P59"9IP'KH;N>X %EK70S7-,7#47>2'8OWTU;+GS7$SRP3*@) M6I>[2V/.&?VXS-%BW5^B2X^,AMI*\87,),/0M1@W3B0$L#T60G?=65F0M^[GXX](V0X[IU6I'[ MI@9NWTLW^2#"NO61Z2/?UG-V3]W>C0D,W(]5[@JQ!S[^5KC^P.$\N+\-[SDT M[>7.Y=K]'D6QY)]!4&$)-^%=9WX;NL$/WEVJ#%S;]#UP82?^]YXF6N&G8E7; M__YMAI$AA @%(>@W\]F$$%]$B,0['9,((;Y.-+&$$*$@!$V4=1@((3Z("4*( M$!""B*;0$(+HZC#007S@B60Z(R$^>1+V77_ZZU8M_D6V]+*N[&WM@6J;Z,/_ M]T/\\:&ST-S#9GD$FK Z8?4_8/4K-GWX6RC\ MICL @47H82$>;<%;= [(>OS?HQ80>P"P[P'@C98*=.*F07'6WAAO>V?WRP:) M$T?K;HT+6,(%?\\%M\X$S#F4X;4;@J$N213R9UUJZ-A3RIX!U+G)&E'HX,0" MSWS\>3:U=^W57N4XU+=LBYBXUB3:M\]+7N5X+/L=&2!(R'R_=0?Y#\+XWYCQ M0S""^QI\S]\5WX<]MO%Z-$\5>)2.#]A3MQ"E" /+OE?.%-J3Z%\Q+NT;C1*K M._90]\JVZYXX<,XTYVYK,>V697U4;+.IQW4SND$G;3C4+5:(,#'^,JUC+AP9 M" D OSH>?)XN<6^7N-P? -D7 &3[P\>,SNM/I97$*IMZ(Y-L5L?LGS=O>1. M<[ZMY]G*(DG/Z^7D*M5WQV,;'6 3( Y+H(#,02 ERA-"2W^WB[DN#_\,2_P MQ_3=QU&:-;F)1DMIG A!2A%ZPV!2Y9&=%H'_6F_..@T$PA_"33S MDH_$N<3YAEZ&(2KZVK(^F#1*>3;E $@I538*O5/=+T]I.#:@(I_4M1@+BG<0/=?).9*8JXDYDI"3R3F2F*N MA/%)S)7$7$,8<\V &;0&=6RJ4]#$IY2I#5]W@S\@4=C01F'/..V+A&+/.\CK M %'P9Q.@'Y*6ECP U@D?];'),DW1< 1:\%>M970P6:B59!_WH6#H>(2.D1C1 M#05ISX9/$JD]+&7!THMJ<[,0IHT1Q*?PXU*X9XWC_B$Z2S:K#+@9GY;UU/BQG(YOQJ:!M">*\-)\A.?O M/,*+.X]'!XH+4&GS= 8L-[#IP0K]#$@L]L9CL6J80&-,' M6#QE520S3]JJEDL8;&X87PEU61?BJ&4HLOJ9B,AQE[,JKLW1WS6X?&;7X)LC M^<+>PH>1W%ZMVE*R.IQ*BCB,CDLJ* _!""(9^@?Q2.R2WONU&?J;!LO/[$1\ M1"0FO#N8YX:B_SE%MRA( M2U<)QE/,'%3MX:UQ)@#,?7V&:D9(&H"D 6YR$N 76_T(3:@"K6:U()YJP_H6 M3753"68.8C2=D#DF;^K]C2*/I-9TOHR7$ORZ74'C * 7$!,C#!V[T#"_;Q%< M)+'_4(/RP@;\'X.RY+./66E&I^GYU(\^]65;T1;\)[<6T),(N.%UZ=C$&C9#'L.,?Y](V=A"(&3^NH[ ML:Z1_DY:6GFGA=K/2FBGY*O@E";O+C()A99F/5IOM5<5G>_'2YLEFD 'S>L8 M':'%2_J\WX__0Q$Q)^7E'U1KMQ9'EBT'P/?: (T:;2U4'76C ZY'07D$*'>I MS$@8.;1AY&O9FW>N?"\<;WY&W;-#G8'[L,"]^T\=A%[F>*8R,Z<#(S?0]5C& M7"RG63S,E?OQBTLUY.8]!"TUE/L*+;P:]"&S#%8B^E@U\YZB]<,3Z\ZB5XJ8^GR;DJ=%*IGE3 MKNC)96&$4)N #FY$/%&0?E^AZIHW!@X%UQ?%+44@F[#$S?MB.! MH5JU+014*3@OX[!CDIK(MR;ROW6TA7IL6*-X+UTBU)< M%WAN4$JC*YCASSHNYLX!3'(586](1>)_)&P?@K ]X5\2O[[A^/47]P,,1R"7 MC>$')%45O@DTDAR@ GVA#$S23>36X[AWW4WD#DH["I;JH)K*# C^+5C-/?A. M99M&_7JIG7L<9VG%4*MKE6=6I@/=MQAN)")$1/%XQ LII[SUZ.Q==Q*Y@UJ/ MSZ)8!R,M]M1IYPVEG01)WC%'B6D2H1@U&10C<9841=]=U)6T$;FA8.I[B(9[ M .]X MJNXSC#1->-RVO?'>?8@IW7NAC:05\1/G9\G/@& ZQ;ER$-+T2KV(97 M230UM-%4TD DU%;_#DA=W1NG?1=2 #A)A*D3(D8VNOPH-EM7Z98MRE"IK?J. ZRSF^S7=J])A/\.(_SW5H!]+,$P)M,!)+'D>C.Z ML)S-BF-0=APZ"L19E7L"W2<5FOX"[B#(1_BX2*HU2?2?1/^OZS&20+<4A+@+EV,#V&Y:AGQ>'^P MZ1CSF%#CE$*KV(LN$9:A;\''(G'V32S?6MB_"CRXP4, -T6C/&5U6%)-<@"A MS0%\PXKJ>W$@9HX^/2&<,EL0MI55()O*ST ,^K']UI6H\AVS%!4G'-UZJC\N MI<$BU4M!D84'D;*)2(Q]:Y(:B5.&+(?P#:O-[^6TYOFQS8PWJ:>L,T&3 J?E MMLGVYIT.QC;*0L0B0N+8'"'8#FL.XAM6XM]+.='YH:U5EL5EO&D^RK7LT]+A M)<.0[2"^:>_)NSB@* M'@N*7%K-8JJ4L_5UQY=9H=X<(5& CDUP;PUL)*+@%K,EI%'-?:=53H#_->:] MO%Y_RCOEB:$\YIO2@HG.:R)6_[A?C2 >#TZ_X<3*_@CV3%F?]?SUG<.6)%/N MTB3Y=M<#:=[6Z$6/K^9E;MEG\ S7!!>)<<<"B816 M2=J$I$V^SK%X'\6NV.ZSA;+6I=G-^"F?-)A\"IW2Q$-?F003X2_I3=PYAY,, MR3VB^,L]A/=1[+>$6GXT&-;H[NQQN5QU%D-+&"$4!V-BX_3YFUF&*A>R/WY] MB?JK[^?\AR,30@YTW+0+<>I(VBZ]NSXAQ&:EK"3VL\,IK6^&-,@NDHE2.0E? M%CD48BP2CUVP5N/:O/Y=4QSD2,>M^13OP?JW28M>=Q75!ZUX4YJ:NEJ<#NQ8 MVATA?*-C'A%1>//4*<'W+>8MR"F/6W,V_AC>[9KB]F+*6I=RF?4D62F,[7:V M@>"=P&74#//FU+Y;2U#49@!1RAI1)MJXW[35CU 6\$CN(K2Y"](,*@0NQ&]J M0_<(*Z/?@[QHTM(.*D1/2"$C6QB5ZGZ3D_QH*QU;=GTQ,UOV63SOEXDPB4OV MD[Q_?)*&4&'&Y]<>R_@C?':85"JZL&A1\E/3?$F=F^/'=1+A$XWVI2]YT/ON MT4E:0H49G%][L.*/P,F-Q;R9J*<:-"N8XLAW9WY5;"!P(A,^(KP-SSM((R15 MU?&!1K(()(MP&UF$&[;ZW\QW(A2^E%6_C3L\/>;KIAX;-(PHP]?BUF,Q;:.T M 1[2*T3$$_4+)*Q(T@8A3AM\B[JD8X2_!K:P6-2&Y?3CC.Y&:X625%P,FR8& M-G(5(G&:S.,EZ0*2+KAZ;=(G='5L^)B6NLXT;73'H@?R3W-Z5!\A2",'(P8Q M?3P3XI9S!*].:)/F4'_J0]B.!IQHI_:?R_&Q526X?BRFL+ MDR%R[4/8;QLDT]%*\QAFG3.BZ8G9,L18PT(%#!P^\1 [;F=/0I>?\BGN$N1; M!X. /#3'J]\&>7_9D W=S3?D-:-DA$1ZH0VK2P1RZ'7$(AQSP;[2=P_S$*B[ MB_H;X47Y73H?;P+[MT[(QGYL5@>"6Y?F>@W4'%EQ-SI&> (AG$^\.9?FEK,< MC(@?@)K6JHH[IF:.O= UH%&#-67OZYG0FAU9<07YT:NO=PP&3X7 M]FX@K-,0U?4MJ%-KV07:028XN[EAD@\7=HS^2CXL7:5>3&6K SDG&?$)75!+ M'(OE W2+1"["73+\\1W%0SC5Z1=G:ZZ]W#!)APM[5W\E'=*C.I_SUDK!T&N- M7&Y>F"2Z.RM7&W8TSKH?#EREX:FO72IH6-/*=U: />5M_23 MY'1">\[C&_:HNA)IOT4XC" MS-"*]-;X<"R8^_IL"JSSG8K]CMXA*:R_@WS9A>/!=66-<.:V[:0*0>> ^A:' M=5.QO*2E23LHGO#HHK'&BL^48G-97UEB?]0<%0&JJL?SE1F:B] 7/:MW;=X. M44#X-C$=QKKZ&SZ">Q9,:_0LRK%3+2%/-PM[Z.4+%J"7"--H:@ :AO9F]2V! M-"FI_X:(OG#<]:\0#2;%;J$DB9RLCQOE4:K9C@]*6$NCOI\<%Q%C;YY^"WOD M]U[-<7EH4.#)R0)'IJO>5I#Y?IKMW%OIQM_!5-HDDHMB MQC4,,%[8;4^9UAO:",$4E;0S$8XF+?YO)Y9^/UUW[JV$XN]0FN;'Z?@2* U9 MJ0ASO62///$QB5"*RM(3$3[VULF3>T@9'!OWN)LFJO5'+TIYCF*YPCWGH[1=5^UE-5X.W46F%7,OAF)253*595WW1F-%MT4U59G_5[(K0"\&1? M: 6((NEZC+<]X,J[];"U;AJ>*;H&A(DE(+B^ZZ.(.ON[5=\#A.9N0X4 M#HZN(ELV^"S(!F@DK'VSC6*N9LJ24Q-7J[%)^:YN 1=ZHE#UUX9( FS_HKUU M)CU:4XVNDD]7C5)CV%1*W7QW,6WTV6"8;H0[T1>+1.ANMKG,U7R \ J&>ZS- M>5L6'.7RQYK%U96H(T4;;M_P^YU.@<8B %G^<3$2XXX#@*0[_LWVGKF:U?^] MA_.4Y^.@CZ6[>(+7%Y8UR@ZS1K"KV" MEZ_V-_RRS^&1P!P=H1E2L4RZTGRKKC1WX"B=1S;P&ZG72-+)FI%NLK%%84%TKIL*719C1FK;A+) M!N1&)9@(*[P92PE[HND_QQUIAKJE6"KI2',K9R)(1QK2T>.6#PN0CC2$?V^X MBIYTI/EN'6E2MN/82_A %YK$T(*G'+"PS06RF$P4H'PL9B=(1E M.5)'2VKK26U]^,/%G\%]:3Q3!LM9?$V7Q'RKQ:F/MC\?(=P+/WXQHACAA0M6 MTGT__B?U\]\7]E]XFO8]V"N3DL)+]%-5CJH+83"#*S(#V*,^.#0=H=\LH U[ MN/?HI.RVR(B"1+V\%W/G6";]<$*><;JP6]$$LRV<:L/WY,QCL:^/^9E6D=G< MJJJ7G^2FEH5N!9X R__&K2 UNN&-8M]/RYL[J OY#!(W%M< $XO/&L ?/PZ5 M1J.4M$<(B6@>T6D[GP QM.'X^VEJ!3)*]QX7N&N.][?<[J@ ML 4EE&<0DFV(R P$Y*F\0=I=6-&4YQC3:3^:-NHEZ1'E#8(QJ._%$4CX\";3 M!G?=]/Z>LP$?AK6I=/K=A!OWY6DNQY9S&3$E&AC6J%9<2$1XCB&XOK.TP%UW MOK_G:/^'8;VR=X]#$N@/ M,PR_,M#_-@SG"[F0,)HK7EXG]'FC4Y*ZCQFL#E&#%"\ZU M^WX8"$6V@!PB^#YIA;>AOQXWA-@L6Y\9;)KNE Q1:JZ32P1]Y.K$Q4B/"G8?P,SKJ*FEI;C"5B\3J;SQ6 M?]<%^7=0;W,@GG;(>]OW3AAZK#@QTRUYVD^4M$JIF-R%$HN$D&AYZ"I)H^+WHRR^R>K.VTP2SK7)X+WD\]*WJ M:L%;3W2N[E6+0B'.E9K+/H>GN/*11(*TI2%!<1(4_Q)#]U/ 70JMEE'.=]MT MUZ\N-R-ID&N6&PBXR-B-1>+LO?>QJ7ECX)"0^)T/5@U1>?NU]^7.8^\'I6\' M$A&C/+L;%O:Q<6HZ'_4&W3+82/,Z,\FUO%ZQETKV8W@,JQ!A+FK4?$M!0J:P MAF"Y=^[>G$\^M!TC%FUM&$.N@8;D%U=-67.P?,!.CY@@23LRB)4,8KTM)^I\ MXH'Q.K-1NO.8DW,J+3V*LM6J9+%X@*Z5&#EUDNXFTP@B?D 5>)2*AK/^TW>! M1NG6OZC9=IHM-5B?G--*,@R?\K#N4LQMO:3O+=,N[!+]9KCT)\59:[8:MHI^ MEI=]99K@[($KF/ZH'V.0-\32?(2-DY8D?^O\W"7&MYY.>#%^;R=_/P7XUSBO MFH6LO6J,![)>3L>BS6:FS0L-A'/4-)1G(_2)$PX$YI_Q8>X4Y3Q!^5>Z*G^% M\J?.4V*N3GA/9ON^5)J*7-,4EPCEZ$R$R$?BW%LHO\&\#[RG-!P"U4.%3F"E MCA5K!"A(,4 %/^,&H\B%B02.#)C[^@)N&VH]"CF!V-D),%X;2EN$-R' :Q82E.C_TC.FFWLXHS\D+>WE!P=7%BS5 M]!%1,KH[LUW%S$'JS> WX.]HI;KE ZTV \$Z3TG;6*7E@.RJ6Y36\J/?RIJS MIW(%2EL\EYF)L.)Q73@)%-_XZ0[25.E.,D:AD"B_#W=++H?J9:W%OJZ><[OV)$IL]/&=23L"3G9%-/%_F@9+=-Z3JC6JB-AV&M! MOP?/]69Y,9)(D'$>Y C3=SK"]-4R@NG[R02M#<268X""D:_6IY6$FPN/C+#' M/4\<*/I"FN?7V>+ZL12UTPTD(X2@KO=41V,B(\@QIKL]QO35(H+NYW/U5,^N M"K11:HP?/0.T#;XZ"HV(6 E,?*6Q"=U@V;&YB<65J1J8$=#=XC@ZDHB_-1GH M!E)!GW.M /SX$D[5W4N^XW-,' 2^9OL#$UQ'T/WC0F>8KK"N$$DTKJ]5+5V1 M54LQIF5>B<_TN>REKA1Z.B'10#HI=;1H.6=,EU+IJ=&:1*>E9#^&QYRS+!?A M8\ \U/GF+XWSD,? .F-IAI7G-4,8SU+%\KK=3K?68T0SH4O M"(#XM<#[QXC]^ MM0"@%%6UI_"J-N_\#^[NZ@F].*07!C_ M1]/=F:FL?V)FV#YX+P3PN\#?QP&U6/J!08_=2D.:_C_T>@?W?7&SJ I,\S]O M.;Z[.YQ=?KPD+1L[Z-X1[&DVFCC8F8/__L_A2\Y3W#5'D?%:^W^M0.7IAKWP0_\W'P*UAG]#5.BVF,R/7A__E^C$V MOB( L:\J0T7D696G&>U'L#E?L[#!BZ<R MY5JW1?TSO:L]_U>(WOV?!8MJCVW?A::2^]4O]@>F^_5WK"77ZV5,X629RA1: MZ7*M)3>EE^2F"M5LK5FY!J?^P:9NA8,04P40XYD^X#4 K^SO #B M/*_1B6%B*QR4G0E:KV=J,D@:M.$7NH]L,K.>%(8C5)?U^LKXA ;)Z"0U-.:L M$=?YE)#VP;+/'E]9*PPV+;XG\/*TZ+:-;"^QZ(V2\$K^]966..NK;#?U)+./ MA=+ ;Q4>&7X$KQ1?7]D;G75W)2O&Z:NA\U MUD]LVM \\3%6&<$KC][3F$OQ9DD?0L^!IVAC/=^KT'IEF$HH7"(SG4//_?@]YT,YU1O/)WDI M+9E/?W5V+S:V_$!'X=-&!,9>:"G[L?#KD+Z?RMOD>:3PTTYDL+ MX\#OVYH7])%9X#F[IV[OQ@2<^<>N*2\\)-XLP3Q0WP>/M.%CAJ:]W/'^[O"'1/!M+5BU3?3A__LA_OC( MXF/T QV[:I-2\2^#KD] <2C)0EWU,T %TP%P@EIMCHGLBK8'?UY[^ZWP\*=6 MREF8X.,D#\AZ_-^7A#X$ _L>&'[KL+ /C'C3^$#%IT<;0]C@TZ&<^&V+252; M2-C@;]G@ZD,)SL &S)_JPW=R,-<^N(:*XJB9 NDPM!U*1QL#7(\Z&\-?>WW7 M*&=%T;IKK_L<%:S;4/PW;]AXX>YFA2WDZA"#57"J%5'6-LHI(\_EC"BGQ6*% M299MK5!:G/OQ2V0CK!"[1.DY@>^MPQ='J[\Y>"_/,/$X >_YP!O$HZ^][C,=$KO.;(LPH??"C1V]? M8.8.+T:;*&U3EALZ#0-7+OJ5ZS^8C7-4A4.TIH#QE!=P(90$\ M]<8!0\B1+OQ7!?H":+?@'8=!.KV7Q[^/1;Y7OW-_8NKB'@+"8!M!\/>2RE.K M0%(ZT+"93O.;GEVOQE=95.?*H1GB=/PBQ] ):N]ED>]4MMP?9B_N&'P LU-= MJ7D=WLW+T?S*>LQGIE9';/1QQRPNPLN/'8Y-5\BF\>#;FPF]%$ZZL- M914VH: M^B-!8RR!CG")M^0DD0Q$,I <1SAD><^INCFCT*F7DJ>:;>3[X[[W ME)* (4SM 3'H-)O'#3;N+W&&$&#<.8A)I)# M4^<[-/479DJ<$"(,A& >!'+".0R$$!]85+ZM/?AD8PR.?X@?#?.X MJ:.^%VZ,02#R%1 )[5'XQ$/BYALBG*LO!N&"6^:"<[7%^+YY*!5N*@XJ;+4T-(6(6@,O. QW-E:_]F*O49LF7*=( MZP*'_35E35*)*=]QX&2*&EI5=M2@U].%(Q4F%9J35?E')V; M3N5B58IZE74RZ(K!1>"+7J*.C$"80/CV(7SV<:M_".%>5AWY2W[FRTL)?.BXU3#6:I^>=/H2IJ)+,-CV>;'V%(%MN5N],^A7-H^Z1[-\VVBEFQF^\:ATO0;4?@!JJ!F\A>?X MX,OV^QYFKF+24^T:]6+XZI[Z!V-80_32&51;[KCHV+FWF[D:02?0 90*[EAQ M [D0?;9_3:%DAG!^DN7<#4[Y!/DAQ9($.EFT-LP['\"\"%AF/)=W0+NN73T[X0.X4:Q'=@_16C_.G/W[5G)%BZ1LLKS#WV7OIM7OYMPA! M;;>?0KM==_2I[>@NU0+.0E?ANM*V,[.#VU'P<]O"%/+& #570&JX$-V=XW@FT&]J5@JB% .@(:="J9P8R/44!E '?&\*<"" M>PP@0> K[-_*L^&]H7*%+Z\/=?@> \7%3U!]%YJ :$W>&-I6HS%E^\Y'/2P7 MC- []-/UI%WGE$==]@L#VU]&AW-S=?8C]X5J]H77%76!BCPO5$#D NM(Q?FH MPJ V; )(5FP#MX+7=??.%ATHO:KB.'US%0?K?D;JRMVF&!VG2KJ@LLL?O[RE M?>1H4=N%NP_4->&R2S2%"-20E\?* D+&MD8N8A/$A3L>HP)[#<)UK,] MF/(]_.*(IX>Z!:^.0)WB.;8Z!E/DJA] #KWCQ#*0NMP_7MC>K0%$"_]D*(RHY<@ (WOV?B)(L_9]**XE_ M8O[SKPBU'.OJ&-]G!"PH;TPH9Z:^Z>G1-2JR4?9??Z#:4/8X (D/])Q3KQ+< M @FGH6-/]XMQ<9L9=P;Q-PQLT$#:X16A]I5PG\V GF@U$P"_%7 O(@Z^XNI,=0\*;*![% M?^3O[HB8GZ[:OAB^!M(=*@(;R.VDO4@\GU!ZZNZ8JC MGS>F] E6#Q%S?]Z >U;%U$X74]NWWMEF[:T5@F@!$!Z&%$JK0)&';"PHUT:8 M]1!,=L1%HS7LKS!9/M\-Y+(F2]6N\D!L^P8=E1XG@CK/^/0X"4V6,90%QT:+ M\[S[._OE9V":8AT,>7KW>01_+$&U,%K_NPG5PQ)]Z^#/"!WHDKH^ R8DPK,5 MO5-7N[_L=-;NNP]4(9!_0]UQ/6HKW+9DYC"9@Q8' 8U/O#,2H)!*%@CHC*T( M#RLY[">B:W9J#L]> ^1^980E%K6WX0-=N7W,]BU0)^:A"1\5O+,- MK8#=S=-C'0RI?1L&5-,*L0GO7U$,N*+=1J1KF#@QY@#H>> MC1EM^Q90FJ,>\$VPR#C'XT/1SX5NI<(W0R//P*SI@[NO0^IOX6O"% MK1Q!'@YZR+,T"Z3$GE)39;W#_X'-K^+W@ N!+@TR99 EM;MJ8NM()NZN16_Y M'"* DA=[&3,3''P=RDT;L@X4M5/$LL<<\V+A$4H%#NIG0T'3TPXV"MIG ;BP M]'K^&(O(\;YJ$#X2[@*4Q:KM(DO3]9$3!%]243$+[#Y'NS4+A#CZX.5WG\4D M6,V Y2*O$3J8 .,S5(G"<-IP+:"X-M2I:+\_$G7;&G8HYH9Y\\#>/K3)40C- M'TRPIK5W9@'4< MH;&\E#-5"\Q*V3(1# ]=W:E* MR'*0S5#XS+7L96##(/,+!0P@Y[L[48V0IT,G /$*?-]M7R7T5CN,_";TA^T' M%_T>[-#V+ELL#X=H;8?B(,##[OX!(';:86?;HKLFH3NRLY/0K09@>S?XZD!' M2X6*?(0387"=",LX/X9_&T!/QEO/D)^WVQ>X+1XRBS"/KH!>MEC9>CADE^X90/DLD)X49J/0S78K,?T M>/%4:-HB\YS"T0O-QT:0:NI(AF'^B?_GV98;0"$((+37JHEWQT61&$Q\;#WZ MKH]]6H1N*)V0U3.&_(BC3\][#Y^#@DWNSAN'=KEM:^ MMZ\:Q%?<(.:$!-/6TWQASA)E^'FYTD& WF+AE4^(Q,:6YR#N31]I1&Q!0^*A M%PKB5BXDKP/Y8^Q;&B*,MLU@00*]_A-K#L%EQU\-'>%Q4.?-$4VV:7_"8V,$#3S[(C?>94\\L?O[@'^M@3 MW>X_CL+"=WR6K) :(_ RU+@7-H%T1I(%'Q\(A,M>U@Y\#PO'H8FD,HJ=8:; M<(67XG_WWL\^( W-JR#DO"6MMMWMR+,2P89;$&2ED)"PIT$P-)"-6[=L'XI M!M>A?(;R%QU\0']$DED#IK+&0N>%'(5_@1<& N^9S=0QT'PLXU) 57QWK_N0 MZ,,2W=HG$@]U1F0KD%Y'N+"E;V++*HOP"FQ2,7:B8HPA%6.D8NRO M*L;V71C+7KEMD$/^-'C,KIB>6I M7I62D'13R50I+96:@\+J45ZGQ6CR5*_*:JG>'0_9VEHJV8VYMQCTP%! ]XR_ MOI)[5-<%9Y%2C)I>CR[<=M.7JJ-372W%] R^_2!3--*TY?+U8=P&*71/AGE] MZ=-*620,N,.+=:+R=/-4 ,^%[ MW78J';BZMX,N?1XE?K2B5MQ_BDO'X:COE\9S9*X0&\1TO2^W2N MV*\U 5V2GL2-ZL8]"Q]*.EY2S5\/AIP\+DK"U/''G)]O9>.HX>W1DHS64V5: MH9F2X0\E@TY!WV=202VSCY8TF ],(VD.%U*:=V/]\$KWE@'_SWFCT=_9.> W->EEA0?Y9KT)K=!";'+E8Z>T0'%:PW\/.#" MFP;1I4^&N) C^>+\P;L)\R#X")\9A!-03 9^W]%PO@8GMY1G/H0&.OS^#*4) MG@L_X-_![*"RX&6EV2X/E4LFZ_L\U"Y9<>*%* ?Y'-NC^8>;>'AH"+XN;N$$ M%X]N%22D]B%;7-X 5-\)@D+HBEWCKA@MB54N6E5^1M%0 M?X9=4.WUO-Z_%A#I0P'QS.VM9P%QF'?K'LVW*@+XV .HJ;U''8I E> MY@"3VL1W<1EBYCFYND?%XM%J)NFVW*9KT4[;R_GUJMQ9W@@J7B_ULU!(;_. M,U3%8/LNKF= N4.4[@M.$QPPH[-_6A!TAU3$(<.M3-\E[G&@[U"#$TY](:L5 M=YRT-/2/-/?U!4J\>&X3H$PN"EB>_GL@U/=EVNL/Y M[7#M;JV4BN:Q?X)I\<&!U]]'8E%'66840H?2UL1^!/[37L8&N0(')REW7U9P M9@(9>)JC+'&-$N6[*)F )/*N"!=^ \4^<"!<6>^2^E 9H'CQ05X>W@J)%WL) M'VH9SVH"W6M;@8IT"!;DV-;4M7W^.] ?.&BZ0]%V^.0VO_="1:6"15&M,"&@X-\>#, 3#MY;]P;A!?XNPH!Y^HC8+WU_^@8OL$KW;M/6+ M.^&X^*DEC15M)PB#?7V@+A\>V*8@4$7BVQ+BE<&7*:VM@MANW[;ZX9W=QI&LL&J[??'@ 3IS&\QY__.T(G!CS0,=)Q^27QS.NU$.<(ZVKPT (YB'&$T*$ M@1 ,&301#DH0V1020A#9%!9"$-D4%DH\,&3V2C@(0613. A!9%-(*$'LII 0 M@LBFL!""R*;S4N*3 Q?>C?=]C_%#;XOEKV\*=]Y=V8\F89@/#>WBA0?AIN>0 M'":O_FH>"8''5\#C;\G]E3-ZV&#PP>UBXZP#N[Z ,0@;A'UBUWL1EZ]=Z_;( MU!#_[U0IC4+XX30_,$0L$#:@6?H<%M.UQXK@^A1<8&+.-.GSOB3%GG]MVNL8NZ:45QT&'!CJH"<:)D3%>5#"$W#"IT$)) M;M>G6:]5Z6T'M[%,/!*/BY>9^W0E&+_! P37!->A&^;VI[@NJ:/BTTRH.Y)> MZ>8+*:M2'A:7P30W-B9&A#>'0?VE.W)M=B8P)C .UT"W/X5Q;AIW)_Q*&LOK M6;Y>+E8%H==?!A/=6)J.\,R%)JL2]4QP?7^XIOOY7#W5LZL";90:XT?/ &V# MKXZ^'-?#V="J5T3M24KWS#B_LCO3;@8U,6'8'[\X5HC$8['WAC7>4"8%-3&/ MZJMH -2?>?Q/OPZBA4&]^R@9T\(Z,>S%R_%4;7DR"_.GKW1PON^MQD&O3^C] MT=FWO=2YF=Q/B"RGZT7MPJEWMM(ZO-MR\Q&3E^<33\CH:"U6BWL%?R@I:FVJ M3@JC)Z4UZL=0:(2/Q(6W!'3(,1\Z=@^%$+CV)A#,7SJ:\B[F^SDFEBBGY;6< M%)+* MRI;23X]UG4[/V$Y\":5 FE^AF.(YK\O(7#M32"8OW2@YEW,*TH>V,UV8VQ$ MARF^3[>R9LQ.0LRCB$PLPKX)^MNLTVBC-B2?:7?RHD')BS:5[HL&)4%;&M2@ MY)9CT=<6"K\+/;\4$QP4$YKMHZXH5Y&6EXU-7WVM(9*)%ZD9>:^MV\L/#JX\ M(4)!=&Z5Z+F@TT!?KAFNG 7Y-&IXC6I)6"["QTBRBD@,(C%N-WYR;HGQE).R MHXQ*YZ3Y:%!NL:JIR2G4SAY5J?!B))&XB*MUM2H5(C&(Q BUQ+A(XE8A5(M.^Q9"30J Q?$\!$AQA$;@T@,(C%N-E)S;HFA%ETPFN?Z MIE%+2^7*1JS30SR&!Y?:<'0D$>??"^W\&[<=_84O.^RE^NO;=PD/ID!NFS@W M@0H@)>!6[69Y;/"ML]MIRV^/@HEFLDF_Y@2/.UD M^^%^, INJEVOIJF48AD1JHJ_BP:LN*ZM;CLG__,'O.#'OU"/8_@.O@J"Z1$0 MJ8H]3(XB!!NVU<[J$/YOAFXLW_?8-#J_BW'"NK9? %N/A!/J%CMI^8[ MJ(>)"ZQ/<7H;.-.#$:=QH#?,:"NE&7.M6UQK;3T>C35^_+(M$$5C!UZ+#]RO M/+*?M3,-QJJB$>\J7#EN>C[5\6@(U!P=$41WSSX_]BCLY#I>OXE&\217NHM_ MV\Y[K>!&#_WN#J)$O?T&R-E(Z@5.QX""J'D0:'Q0&4!*O/;\O:V MNS=U" P\9V@_VQE8J%3PJ&E[,*;IEJ?[HGU([K>A"W?AHY+^)'U6^JS6S";T M.;VV9LU4;D0[OC""]'DXKJK8#UP^-8Y@+UBV-9EO]TQ'&8F"!:$#*1NF26Q? MHM&*'4[1&4[ U@#+K0C@RS.P0 @/%W7!::)OJT[OY?0>"S%&*PQ ME6QHCF[G_R 5M)TO1 7SA="<"<>?>2J:VC*U/:B,9@"/+JK[SLR&=)2@:76@ MBUIU::^"5 <$[XB^@N;'H/L&,(0R6-U:3>NXMV1:X$:0M_ @X^&>.0#7)3CCO79\_@-&P]IF/M0$V6J_)A,?=6/9N0@)ZJ&XM;',1\/X6&;NW1M;! MB7>*; N:\3QRU$4?J/N1S8HVU2T=VMO!>&6(NQF:7X(9'+Y )-AG&TTY@'L8 M;/EI/G'PBYHVU"0.I2P4W=SMAPOO[0[7 2WP& W;P3.N?[?L8%^"AP3#FD\\ M$+W.;H\1[P7#]7PD/&:* _D,&Q.N8KX:&KT=98(6#]$#5'MDH9'QVWW\#0J" MZ=3OC#[Y;N*GO1MV 7?&P]/U$ VV0V[P/)/?[B<>@/,\RPG3\A5%M$M8/U^D M7W]O[+0@/YY4GYNH84EB7:.E6CN1G4EK+KIN0/,FSK]AW2 >/S51YEF@!;+Y MXD;D!W*7?[=O5>"E@_,8)W>O[BS'UFA49^3N1',Y(]JR[!0R/ACVX3@MN=^^ M-WGT-WN[&P'TVFQ)GA*\%H &RGN38Z!)^@&#$_N P;TO0-&O-#SKCJT"H+G( M\'_/Y*S- 'HQ:Y2$RUQ@G722 :*-D=5BK$E;SEE57B@::Y:IC-Z##YIBB"<_ M;=_H>=K2LT%UFMK/LYGLW1M2ROX5WS=9GZ?\O#$6"A(<37FZ??1^T,6;Q91> M;#4=FU*KLX!^765@](T&2A:^*0/WMH:JS"#9H.KWCPSCK7-P*P&]HTE/;XRV MUW1W9BKKGSB*N7WT/GJ-C0GX^[;#*TL_,/QL-]IHUW_UX+XO;A95H8?PG[=J MW<[;P?6W[978V'/0>QOXSD;1X>C7?5K1?__G11?:?7P_NFU?M@WB'VS@;F]P M/'\$HD&36V4(7^"G8BZ5M;L;!95XX':%G#_W>0"TQQ1#/W#\_U$'/Z-M.2(; M&E)UL',OAE!MO_9R#M7NPW>:[6ZI[MFSGRSS(+PD>HQYB!\3_=R&*J8-]TR@ M_RK4V$'BYG_;M?3O@ZYO'=QL8U0C:6GCN5[/AS"5PQZ]IV'Q>JM/[>"IX6GO MCJO_Q'![]L?E)WC*+J@-)=>#DMA#RG&[AG$SFBH^2N.BH:^,9O')6^0GG=&% MXNV_EW<[>:);IFY!:*&